hc
2023-12-08 01573e231f18eb2d99162747186f59511f56b64d
kernel/include/linux/usb/chipidea.h
....@@ -60,9 +60,14 @@
6060 #define CI_HDRC_OVERRIDE_RX_BURST BIT(11)
6161 #define CI_HDRC_OVERRIDE_PHY_CONTROL BIT(12) /* Glue layer manages phy */
6262 #define CI_HDRC_REQUIRES_ALIGNED_DMA BIT(13)
63
+#define CI_HDRC_IMX_IS_HSIC BIT(14)
64
+#define CI_HDRC_PMQOS BIT(15)
6365 enum usb_dr_mode dr_mode;
6466 #define CI_HDRC_CONTROLLER_RESET_EVENT 0
6567 #define CI_HDRC_CONTROLLER_STOPPED_EVENT 1
68
+#define CI_HDRC_IMX_HSIC_ACTIVE_EVENT 2
69
+#define CI_HDRC_IMX_HSIC_SUSPEND_EVENT 3
70
+#define CI_HDRC_CONTROLLER_VBUS_EVENT 4
6671 int (*notify_event) (struct ci_hdrc *ci, unsigned event);
6772 struct regulator *reg_vbus;
6873 struct usb_otg_caps ci_otg_caps;
....@@ -77,6 +82,12 @@
7782 struct ci_hdrc_cable vbus_extcon;
7883 struct ci_hdrc_cable id_extcon;
7984 u32 phy_clkgate_delay_us;
85
+
86
+ /* pins */
87
+ struct pinctrl *pctl;
88
+ struct pinctrl_state *pins_default;
89
+ struct pinctrl_state *pins_host;
90
+ struct pinctrl_state *pins_device;
8091 };
8192
8293 /* Default offset of capability registers */
....@@ -88,5 +99,7 @@
8899 struct ci_hdrc_platform_data *platdata);
89100 /* Remove ci hdrc device */
90101 void ci_hdrc_remove_device(struct platform_device *pdev);
102
+/* Get current available role */
103
+enum usb_dr_mode ci_hdrc_query_available_role(struct platform_device *pdev);
91104
92105 #endif