Ignore:
Timestamp:
2018-02-28T16:37:50Z (6 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
1b20da0
Parents:
f5e5f73 (diff), b2dca8de (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
git-author:
Jakub Jermar <jakub@…> (2018-02-28 16:06:42)
git-committer:
Jakub Jermar <jakub@…> (2018-02-28 16:37:50)
Message:

Merge github.com:helenos-xhci-team/helenos

This commit merges support for USB 3 and generally refactors, fixes,
extends and cleans up the existing USB framework.

Notable additions and features:

  • new host controller driver has been implemented to control various xHC models (among others, NEC Renesas uPD720200)
  • isochronous data transfer mode
  • support for explicit USB device removal
  • USB tablet driver
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/usbhost/include/usb/host/ddf_helpers.h

    rf5e5f73 rdf6ded8  
    11/*
    22 * Copyright (c) 2012 Jan Vesely
     3 * Copyright (c) 2018 Ondrej Hlavaty
    34 * All rights reserved.
    45 *
     
    3738#define LIBUSBHOST_HOST_DDF_HELPERS_H
    3839
    39 #include <usb/host/hcd.h>
    40 #include <usb/host/usb_bus.h>
     40#include <ddf/driver.h>
     41#include <ddf/interrupt.h>
    4142#include <usb/usb.h>
    4243
    43 #include <ddf/driver.h>
    44 #include <ddf/interrupt.h>
    45 #include <device/hw_res_parsed.h>
     44#include <usb/host/hcd.h>
     45#include <usb/descriptor.h>
    4646
    47 typedef errno_t (*driver_init_t)(hcd_t *, const hw_res_list_parsed_t *, bool);
    48 typedef void (*driver_fini_t)(hcd_t *);
    49 typedef errno_t (*claim_t)(ddf_dev_t *);
    50 typedef errno_t (*irq_code_gen_t)(irq_code_t *, const hw_res_list_parsed_t *, int *);
    5147
    52 typedef struct {
    53         hcd_ops_t ops;
    54         claim_t claim;
    55         usb_speed_t hc_speed;
    56         driver_init_t init;
    57         driver_fini_t fini;
    58         interrupt_handler_t *irq_handler;
    59         irq_code_gen_t irq_code_gen;
    60         const char *name;
    61 } ddf_hc_driver_t;
     48errno_t hcd_ddf_setup_hc(ddf_dev_t *, size_t);
     49void hcd_ddf_clean_hc(hc_device_t *);
    6250
    63 errno_t hcd_ddf_add_hc(ddf_dev_t *device, const ddf_hc_driver_t *driver);
    6451
    65 errno_t hcd_ddf_setup_hc(ddf_dev_t *device, usb_speed_t max_speed,
    66     size_t bw, bw_count_func_t bw_count);
    67 void hcd_ddf_clean_hc(ddf_dev_t *device);
    68 errno_t hcd_ddf_setup_root_hub(ddf_dev_t *device);
     52device_t *hcd_ddf_fun_create(hc_device_t *, usb_speed_t);
     53void hcd_ddf_fun_destroy(device_t *);
    6954
    70 hcd_t *dev_to_hcd(ddf_dev_t *dev);
     55errno_t hcd_ddf_setup_match_ids(device_t *, usb_standard_device_descriptor_t *);
    7156
    72 errno_t hcd_ddf_enable_interrupt(ddf_dev_t *device, int);
    73 errno_t hcd_ddf_get_registers(ddf_dev_t *device, hw_res_list_parsed_t *hw_res);
    74 errno_t hcd_ddf_setup_interrupts(ddf_dev_t *device,
    75     const hw_res_list_parsed_t *hw_res,
    76     interrupt_handler_t handler,
    77     errno_t (*gen_irq_code)(irq_code_t *, const hw_res_list_parsed_t *, int *),
    78     cap_handle_t *handle);
    79 void ddf_hcd_gen_irq_handler(ipc_call_t *call, ddf_dev_t *dev);
     57errno_t hcd_ddf_enable_interrupt(hc_device_t *hcd, int);
     58errno_t hcd_ddf_get_registers(hc_device_t *hcd, hw_res_list_parsed_t *hw_res);
     59
     60void hcd_ddf_gen_irq_handler(ipc_callid_t iid, ipc_call_t *call, ddf_dev_t *dev);
    8061
    8162#endif
Note: See TracChangeset for help on using the changeset viewer.