Commit | Line | Data |
---|---|---|
5fd54ace | 1 | // SPDX-License-Identifier: GPL-2.0 |
1c9af653 MG |
2 | /* |
3 | * OF helpers for usb devices. | |
1c9af653 MG |
4 | */ |
5 | ||
6 | #ifndef __LINUX_USB_OF_H | |
7 | #define __LINUX_USB_OF_H | |
8 | ||
82e82130 | 9 | #include <linux/usb.h> |
1494a1f6 | 10 | #include <linux/usb/ch9.h> |
1c9af653 MG |
11 | #include <linux/usb/otg.h> |
12 | #include <linux/usb/phy.h> | |
13 | ||
1a7e3948 JH |
14 | struct usb_device; |
15 | ||
848d5b91 | 16 | #if IS_ENABLED(CONFIG_OF) |
ce15ed4c | 17 | enum usb_dr_mode of_usb_get_dr_mode_by_phy(struct device_node *np, int arg0); |
05f8b35a | 18 | bool of_usb_host_tpl_support(struct device_node *np); |
929412d9 LJ |
19 | int of_usb_update_otg_caps(struct device_node *np, |
20 | struct usb_otg_caps *otg_caps); | |
82e82130 | 21 | enum usb_port_connect_type usb_of_get_connect_type(struct usb_device *hub, int port1); |
7739376e | 22 | struct device_node *usb_of_get_device_node(struct usb_device *hub, int port1); |
1a7e3948 JH |
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); | |
5095cb89 | 26 | struct device *usb_of_get_companion_dev(struct device *dev); |
1c9af653 | 27 | #else |
be99c843 | 28 | static inline enum usb_dr_mode |
ce15ed4c | 29 | of_usb_get_dr_mode_by_phy(struct device_node *np, int arg0) |
98bfb394 BL |
30 | { |
31 | return USB_DR_MODE_UNKNOWN; | |
32 | } | |
05f8b35a PC |
33 | static inline bool of_usb_host_tpl_support(struct device_node *np) |
34 | { | |
35 | return false; | |
36 | } | |
929412d9 LJ |
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 | } | |
82e82130 SB |
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 | } | |
7739376e JH |
47 | static inline struct device_node * |
48 | usb_of_get_device_node(struct usb_device *hub, int port1) | |
69bec725 PC |
49 | { |
50 | return NULL; | |
51 | } | |
1a7e3948 JH |
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 | } | |
5095cb89 YS |
61 | static inline struct device *usb_of_get_companion_dev(struct device *dev) |
62 | { | |
63 | return NULL; | |
64 | } | |
848d5b91 | 65 | #endif |
1c9af653 | 66 | |
9cf7b244 | 67 | #if IS_ENABLED(CONFIG_OF) && IS_ENABLED(CONFIG_USB_SUPPORT) |
848d5b91 PC |
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) | |
1c9af653 | 71 | { |
848d5b91 | 72 | return USBPHY_INTERFACE_MODE_UNKNOWN; |
1c9af653 | 73 | } |
848d5b91 | 74 | |
1c9af653 MG |
75 | #endif |
76 | ||
77 | #endif /* __LINUX_USB_OF_H */ |