~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/linux/usb/chipidea.h

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /include/linux/usb/chipidea.h (Version linux-6.12-rc7) and /include/linux/usb/chipidea.h (Version linux-4.9.337)


  1 /* SPDX-License-Identifier: GPL-2.0 */         << 
  2 /*                                                  1 /*
  3  * Platform data for the chipidea USB dual rol      2  * Platform data for the chipidea USB dual role controller
  4  */                                                 3  */
  5                                                     4 
  6 #ifndef __LINUX_USB_CHIPIDEA_H                      5 #ifndef __LINUX_USB_CHIPIDEA_H
  7 #define __LINUX_USB_CHIPIDEA_H                      6 #define __LINUX_USB_CHIPIDEA_H
  8                                                     7 
  9 #include <linux/extcon.h>                           8 #include <linux/extcon.h>
 10 #include <linux/usb/otg.h>                          9 #include <linux/usb/otg.h>
 11                                                    10 
 12 struct ci_hdrc;                                    11 struct ci_hdrc;
 13                                                    12 
 14 /**                                                13 /**
 15  * struct ci_hdrc_cable - structure for extern     14  * struct ci_hdrc_cable - structure for external connector cable state tracking
 16  * @connected: true if cable is connected, fal !!  15  * @state: current state of the line
 17  * @changed: set to true when extcon event hap     16  * @changed: set to true when extcon event happen
 18  * @enabled: set to true if we've enabled the      17  * @enabled: set to true if we've enabled the vbus or id interrupt
 19  * @edev: device which generate events             18  * @edev: device which generate events
 20  * @ci: driver state of the chipidea device        19  * @ci: driver state of the chipidea device
 21  * @nb: hold event notification callback           20  * @nb: hold event notification callback
 22  * @conn: used for notification registration       21  * @conn: used for notification registration
 23  */                                                22  */
 24 struct ci_hdrc_cable {                             23 struct ci_hdrc_cable {
 25         bool                            connec !!  24         bool                            state;
 26         bool                            change     25         bool                            changed;
 27         bool                            enable     26         bool                            enabled;
 28         struct extcon_dev               *edev;     27         struct extcon_dev               *edev;
 29         struct ci_hdrc                  *ci;       28         struct ci_hdrc                  *ci;
 30         struct notifier_block           nb;        29         struct notifier_block           nb;
 31 };                                                 30 };
 32                                                    31 
 33 struct ci_hdrc_platform_data {                     32 struct ci_hdrc_platform_data {
 34         const char      *name;                     33         const char      *name;
 35         /* offset of the capability registers      34         /* offset of the capability registers */
 36         uintptr_t        capoffset;                35         uintptr_t        capoffset;
 37         unsigned         power_budget;             36         unsigned         power_budget;
 38         struct phy      *phy;                      37         struct phy      *phy;
 39         /* old usb_phy interface */                38         /* old usb_phy interface */
 40         struct usb_phy  *usb_phy;                  39         struct usb_phy  *usb_phy;
 41         enum usb_phy_interface phy_mode;           40         enum usb_phy_interface phy_mode;
 42         unsigned long    flags;                    41         unsigned long    flags;
 43 #define CI_HDRC_REGS_SHARED             BIT(0)     42 #define CI_HDRC_REGS_SHARED             BIT(0)
 44 #define CI_HDRC_DISABLE_DEVICE_STREAMING           43 #define CI_HDRC_DISABLE_DEVICE_STREAMING        BIT(1)
 45 #define CI_HDRC_SUPPORTS_RUNTIME_PM     BIT(2)     44 #define CI_HDRC_SUPPORTS_RUNTIME_PM     BIT(2)
 46 #define CI_HDRC_DISABLE_HOST_STREAMING  BIT(3)     45 #define CI_HDRC_DISABLE_HOST_STREAMING  BIT(3)
 47 #define CI_HDRC_DISABLE_STREAMING (CI_HDRC_DIS     46 #define CI_HDRC_DISABLE_STREAMING (CI_HDRC_DISABLE_DEVICE_STREAMING |   \
 48                 CI_HDRC_DISABLE_HOST_STREAMING     47                 CI_HDRC_DISABLE_HOST_STREAMING)
 49         /*                                         48         /*
 50          * Only set it when DCCPARAMS.DC==1 an     49          * Only set it when DCCPARAMS.DC==1 and DCCPARAMS.HC==1,
 51          * but otg is not supported (no regist     50          * but otg is not supported (no register otgsc).
 52          */                                        51          */
 53 #define CI_HDRC_DUAL_ROLE_NOT_OTG       BIT(4)     52 #define CI_HDRC_DUAL_ROLE_NOT_OTG       BIT(4)
 54 #define CI_HDRC_IMX28_WRITE_FIX         BIT(5)     53 #define CI_HDRC_IMX28_WRITE_FIX         BIT(5)
 55 #define CI_HDRC_FORCE_FULLSPEED         BIT(6)     54 #define CI_HDRC_FORCE_FULLSPEED         BIT(6)
 56 #define CI_HDRC_TURN_VBUS_EARLY_ON      BIT(7)     55 #define CI_HDRC_TURN_VBUS_EARLY_ON      BIT(7)
 57 #define CI_HDRC_SET_NON_ZERO_TTHA       BIT(8)     56 #define CI_HDRC_SET_NON_ZERO_TTHA       BIT(8)
 58 #define CI_HDRC_OVERRIDE_AHB_BURST      BIT(9)     57 #define CI_HDRC_OVERRIDE_AHB_BURST      BIT(9)
 59 #define CI_HDRC_OVERRIDE_TX_BURST       BIT(10     58 #define CI_HDRC_OVERRIDE_TX_BURST       BIT(10)
 60 #define CI_HDRC_OVERRIDE_RX_BURST       BIT(11     59 #define CI_HDRC_OVERRIDE_RX_BURST       BIT(11)
 61 #define CI_HDRC_OVERRIDE_PHY_CONTROL    BIT(12 << 
 62 #define CI_HDRC_REQUIRES_ALIGNED_DMA    BIT(13 << 
 63 #define CI_HDRC_IMX_IS_HSIC             BIT(14 << 
 64 #define CI_HDRC_PMQOS                   BIT(15 << 
 65 #define CI_HDRC_PHY_VBUS_CONTROL        BIT(16 << 
 66 #define CI_HDRC_HAS_PORTSC_PEC_MISSED   BIT(17 << 
 67 #define CI_HDRC_FORCE_VBUS_ACTIVE_ALWAYS       << 
 68         enum usb_dr_mode        dr_mode;           60         enum usb_dr_mode        dr_mode;
 69 #define CI_HDRC_CONTROLLER_RESET_EVENT             61 #define CI_HDRC_CONTROLLER_RESET_EVENT          0
 70 #define CI_HDRC_CONTROLLER_STOPPED_EVENT           62 #define CI_HDRC_CONTROLLER_STOPPED_EVENT        1
 71 #define CI_HDRC_IMX_HSIC_ACTIVE_EVENT          !!  63         void    (*notify_event) (struct ci_hdrc *ci, unsigned event);
 72 #define CI_HDRC_IMX_HSIC_SUSPEND_EVENT         << 
 73 #define CI_HDRC_CONTROLLER_VBUS_EVENT          << 
 74         int     (*notify_event) (struct ci_hdr << 
 75         struct regulator        *reg_vbus;         64         struct regulator        *reg_vbus;
 76         struct usb_otg_caps     ci_otg_caps;       65         struct usb_otg_caps     ci_otg_caps;
 77         bool                    tpl_support;       66         bool                    tpl_support;
 78         /* interrupt threshold setting */          67         /* interrupt threshold setting */
 79         u32                     itc_setting;       68         u32                     itc_setting;
 80         u32                     ahb_burst_conf     69         u32                     ahb_burst_config;
 81         u32                     tx_burst_size;     70         u32                     tx_burst_size;
 82         u32                     rx_burst_size;     71         u32                     rx_burst_size;
 83                                                    72 
 84         /* VBUS and ID signal state tracking,      73         /* VBUS and ID signal state tracking, using extcon framework */
 85         struct ci_hdrc_cable            vbus_e     74         struct ci_hdrc_cable            vbus_extcon;
 86         struct ci_hdrc_cable            id_ext     75         struct ci_hdrc_cable            id_extcon;
 87         u32                     phy_clkgate_de     76         u32                     phy_clkgate_delay_us;
 88                                                << 
 89         /* pins */                             << 
 90         struct pinctrl *pctl;                  << 
 91         struct pinctrl_state *pins_default;    << 
 92         struct pinctrl_state *pins_host;       << 
 93         struct pinctrl_state *pins_device;     << 
 94                                                << 
 95         /* platform-specific hooks */          << 
 96         int (*hub_control)(struct ci_hdrc *ci, << 
 97                            u16 wIndex, char *b << 
 98                            bool *done, unsigne << 
 99         void (*enter_lpm)(struct ci_hdrc *ci,  << 
100 };                                                 77 };
101                                                    78 
102 /* Default offset of capability registers */       79 /* Default offset of capability registers */
103 #define DEF_CAPOFFSET           0x100              80 #define DEF_CAPOFFSET           0x100
104                                                    81 
105 /* Add ci hdrc device */                           82 /* Add ci hdrc device */
106 struct platform_device *ci_hdrc_add_device(str     83 struct platform_device *ci_hdrc_add_device(struct device *dev,
107                         struct resource *res,      84                         struct resource *res, int nres,
108                         struct ci_hdrc_platfor     85                         struct ci_hdrc_platform_data *platdata);
109 /* Remove ci hdrc device */                        86 /* Remove ci hdrc device */
110 void ci_hdrc_remove_device(struct platform_dev     87 void ci_hdrc_remove_device(struct platform_device *pdev);
111 /* Get current available role */               << 
112 enum usb_dr_mode ci_hdrc_query_available_role( << 
113                                                    88 
114 #endif                                             89 #endif
115                                                    90 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php