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