1 // SPDX-License-Identifier: GPL-2.0
3 * OF helpers for usb devices.
6 #ifndef __LINUX_USB_OF_H
7 #define __LINUX_USB_OF_H
10 #include <linux/usb/ch9.h>
11 #include <linux/usb/otg.h>
12 #include <linux/usb/phy.h>
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
,
26 struct device
*usb_of_get_companion_dev(struct device
*dev
);
28 static inline enum usb_dr_mode
29 of_usb_get_dr_mode_by_phy(struct device_node
*np
, int arg0
)
31 return USB_DR_MODE_UNKNOWN
;
33 static inline bool of_usb_host_tpl_support(struct device_node
*np
)
37 static inline int of_usb_update_otg_caps(struct device_node
*np
,
38 struct usb_otg_caps
*otg_caps
)
42 static inline enum usb_port_connect_type
43 usb_of_get_connect_type(const struct usb_device
*hub
, int port1
)
45 return USB_PORT_CONNECT_TYPE_UNKNOWN
;
47 static inline struct device_node
*
48 usb_of_get_device_node(struct usb_device
*hub
, int port1
)
52 static inline bool usb_of_has_combined_node(struct usb_device
*udev
)
56 static inline struct device_node
*
57 usb_of_get_interface_node(struct usb_device
*udev
, u8 config
, u8 ifnum
)
61 static inline struct device
*usb_of_get_companion_dev(struct device
*dev
)
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
);
70 static inline enum usb_phy_interface
of_usb_get_phy_mode(struct device_node
*np
)
72 return USBPHY_INTERFACE_MODE_UNKNOWN
;
77 #endif /* __LINUX_USB_OF_H */