1 /* 2 * OF helpers for usb devices. 3 * 4 * This file is released under the GPLv2 5 */ 6 7 #ifndef __LINUX_USB_OF_H 8 #define __LINUX_USB_OF_H 9 10 #include <linux/usb/ch9.h> 11 #include <linux/usb/otg.h> 12 #include <linux/usb/phy.h> 13 14 #if IS_ENABLED(CONFIG_OF) 15 enum usb_dr_mode of_usb_get_dr_mode_by_phy(struct device_node *phy_np); 16 bool of_usb_host_tpl_support(struct device_node *np); 17 int of_usb_update_otg_caps(struct device_node *np, 18 struct usb_otg_caps *otg_caps); 19 struct device_node *usb_of_get_child_node(struct device_node *parent, 20 int portnum); 21 #else 22 static inline enum usb_dr_mode 23 of_usb_get_dr_mode_by_phy(struct device_node *phy_np) 24 { 25 return USB_DR_MODE_UNKNOWN; 26 } 27 static inline bool of_usb_host_tpl_support(struct device_node *np) 28 { 29 return false; 30 } 31 static inline int of_usb_update_otg_caps(struct device_node *np, 32 struct usb_otg_caps *otg_caps) 33 { 34 return 0; 35 } 36 static inline struct device_node *usb_of_get_child_node 37 (struct device_node *parent, int portnum) 38 { 39 return NULL; 40 } 41 #endif 42 43 #if IS_ENABLED(CONFIG_OF) && IS_ENABLED(CONFIG_USB_SUPPORT) 44 enum usb_phy_interface of_usb_get_phy_mode(struct device_node *np); 45 #else 46 static inline enum usb_phy_interface of_usb_get_phy_mode(struct device_node *np) 47 { 48 return USBPHY_INTERFACE_MODE_UNKNOWN; 49 } 50 51 #endif 52 53 #endif /* __LINUX_USB_OF_H */ 54