linux/include/linux/usb/chipidea.h
<<
>>
Prefs
   1/*
   2 * Platform data for the chipidea USB dual role controller
   3 */
   4
   5#ifndef __LINUX_USB_CHIPIDEA_H
   6#define __LINUX_USB_CHIPIDEA_H
   7
   8#include <linux/usb/otg.h>
   9
  10struct ci13xxx;
  11struct ci13xxx_platform_data {
  12        const char      *name;
  13        /* offset of the capability registers */
  14        uintptr_t        capoffset;
  15        unsigned         power_budget;
  16        struct usb_phy  *phy;
  17        unsigned long    flags;
  18#define CI13XXX_REGS_SHARED             BIT(0)
  19#define CI13XXX_REQUIRE_TRANSCEIVER     BIT(1)
  20#define CI13XXX_PULLUP_ON_VBUS          BIT(2)
  21#define CI13XXX_DISABLE_STREAMING       BIT(3)
  22
  23#define CI13XXX_CONTROLLER_RESET_EVENT          0
  24#define CI13XXX_CONTROLLER_STOPPED_EVENT        1
  25        void    (*notify_event) (struct ci13xxx *ci, unsigned event);
  26};
  27
  28/* Default offset of capability registers */
  29#define DEF_CAPOFFSET           0x100
  30
  31/* Add ci13xxx device */
  32struct platform_device *ci13xxx_add_device(struct device *dev,
  33                        struct resource *res, int nres,
  34                        struct ci13xxx_platform_data *platdata);
  35/* Remove ci13xxx device */
  36void ci13xxx_remove_device(struct platform_device *pdev);
  37
  38#endif
  39