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(struct device_node *np); 16 enum usb_device_speed of_usb_get_maximum_speed(struct device_node *np); 17 bool of_usb_host_tpl_support(struct device_node *np); 18 int of_usb_update_otg_caps(struct device_node *np, 19 struct usb_otg_caps *otg_caps); 20 #else 21 static inline enum usb_dr_mode of_usb_get_dr_mode(struct device_node *np) 22 { 23 return USB_DR_MODE_UNKNOWN; 24 } 25 26 static inline enum usb_device_speed 27 of_usb_get_maximum_speed(struct device_node *np) 28 { 29 return USB_SPEED_UNKNOWN; 30 } 31 static inline bool of_usb_host_tpl_support(struct device_node *np) 32 { 33 return false; 34 } 35 static inline int of_usb_update_otg_caps(struct device_node *np, 36 struct usb_otg_caps *otg_caps) 37 { 38 return 0; 39 } 40 #endif 41 42 #if IS_ENABLED(CONFIG_OF) && IS_ENABLED(CONFIG_USB_SUPPORT) 43 enum usb_phy_interface of_usb_get_phy_mode(struct device_node *np); 44 #else 45 static inline enum usb_phy_interface of_usb_get_phy_mode(struct device_node *np) 46 { 47 return USBPHY_INTERFACE_MODE_UNKNOWN; 48 } 49 50 #endif 51 52 #endif /* __LINUX_USB_OF_H */ 53