1 | // SPDX-License-Identifier: GPL-2.0 |
2 | /* |
3 | * OF helpers for usb devices. |
4 | */ |
5 | |
6 | #ifndef __LINUX_USB_OF_H |
7 | #define __LINUX_USB_OF_H |
8 | |
9 | #include <linux/usb.h> |
10 | #include <linux/usb/ch9.h> |
11 | #include <linux/usb/otg.h> |
12 | #include <linux/usb/phy.h> |
13 | |
14 | struct usb_device; |
15 | |
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, |
25 | u8 config, u8 ifnum); |
26 | struct device *usb_of_get_companion_dev(struct device *dev); |
27 | #else |
28 | static inline enum usb_dr_mode |
29 | of_usb_get_dr_mode_by_phy(struct device_node *np, int arg0) |
30 | { |
31 | return USB_DR_MODE_UNKNOWN; |
32 | } |
33 | static inline bool of_usb_host_tpl_support(struct device_node *np) |
34 | { |
35 | return false; |
36 | } |
37 | static inline int of_usb_update_otg_caps(struct device_node *np, |
38 | struct usb_otg_caps *otg_caps) |
39 | { |
40 | return 0; |
41 | } |
42 | static inline enum usb_port_connect_type |
43 | usb_of_get_connect_type(const struct usb_device *hub, int port1) |
44 | { |
45 | return USB_PORT_CONNECT_TYPE_UNKNOWN; |
46 | } |
47 | static inline struct device_node * |
48 | usb_of_get_device_node(struct usb_device *hub, int port1) |
49 | { |
50 | return NULL; |
51 | } |
52 | static inline bool usb_of_has_combined_node(struct usb_device *udev) |
53 | { |
54 | return false; |
55 | } |
56 | static inline struct device_node * |
57 | usb_of_get_interface_node(struct usb_device *udev, u8 config, u8 ifnum) |
58 | { |
59 | return NULL; |
60 | } |
61 | static inline struct device *usb_of_get_companion_dev(struct device *dev) |
62 | { |
63 | return NULL; |
64 | } |
65 | #endif |
66 | |
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); |
69 | #else |
70 | static inline enum usb_phy_interface of_usb_get_phy_mode(struct device_node *np) |
71 | { |
72 | return USBPHY_INTERFACE_MODE_UNKNOWN; |
73 | } |
74 | |
75 | #endif |
76 | |
77 | #endif /* __LINUX_USB_OF_H */ |
78 | |