1 // SPDX-License-Identifier: GPL-2.0 2 /* 3 * OF helpers for usb devices. 4 */ 5 6 #ifndef __LINUX_USB_OF_H 7 #define __LINUX_USB_OF_H 8 9 #include <linux/usb.h> 10 #include <linux/usb/ch9.h> 11 #include <linux/usb/otg.h> 12 #include <linux/usb/phy.h> 13 14 struct usb_device; 15 16 #if IS_ENABLED(CONFIG_OF) 17 enum usb_dr_mode of_usb_get_dr_mode_by_phy(struct device_node *np, int arg0); 18 bool of_usb_host_tpl_support(struct device_node *np); 19 int of_usb_update_otg_caps(struct device_node *np, 20 struct usb_otg_caps *otg_caps); 21 enum usb_port_connect_type usb_of_get_connect_type(struct usb_device *hub, int port1); 22 struct device_node *usb_of_get_device_node(struct usb_device *hub, int port1); 23 bool usb_of_has_combined_node(struct usb_device *udev); 24 struct device_node *usb_of_get_interface_node(struct usb_device *udev, 25 u8 config, u8 ifnum); 26 struct device *usb_of_get_companion_dev(struct device *dev); 27 #else 28 static inline enum usb_dr_mode 29 of_usb_get_dr_mode_by_phy(struct device_node *np, int arg0) 30 { 31 return USB_DR_MODE_UNKNOWN; 32 } 33 static inline bool of_usb_host_tpl_support(struct device_node *np) 34 { 35 return false; 36 } 37 static inline int of_usb_update_otg_caps(struct device_node *np, 38 struct usb_otg_caps *otg_caps) 39 { 40 return 0; 41 } 42 static inline enum usb_port_connect_type 43 usb_of_get_connect_type(const struct usb_device *hub, int port1) 44 { 45 return USB_PORT_CONNECT_TYPE_UNKNOWN; 46 } 47 static inline struct device_node * 48 usb_of_get_device_node(struct usb_device *hub, int port1) 49 { 50 return NULL; 51 } 52 static inline bool usb_of_has_combined_node(struct usb_device *udev) 53 { 54 return false; 55 } 56 static inline struct device_node * 57 usb_of_get_interface_node(struct usb_device *udev, u8 config, u8 ifnum) 58 { 59 return NULL; 60 } 61 static inline struct device *usb_of_get_companion_dev(struct device *dev) 62 { 63 return NULL; 64 } 65 #endif 66 67 #if IS_ENABLED(CONFIG_OF) && IS_ENABLED(CONFIG_USB_SUPPORT) 68 enum usb_phy_interface of_usb_get_phy_mode(struct device_node *np); 69 #else 70 static inline enum usb_phy_interface of_usb_get_phy_mode(struct device_node *np) 71 { 72 return USBPHY_INTERFACE_MODE_UNKNOWN; 73 } 74 75 #endif 76 77 #endif /* __LINUX_USB_OF_H */ 78
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.