xref: /linux/include/linux/usb/of.h (revision fbc872c38c8fed31948c85683b5326ee5ab9fccc)
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