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/ch9.h>
10#include <linux/usb/otg.h>
11#include <linux/usb/phy.h>
12
13struct usb_device;
14
15#if IS_ENABLED(CONFIG_OF)
16enum usb_dr_mode of_usb_get_dr_mode_by_phy(struct device_node *np, int arg0);
17bool of_usb_host_tpl_support(struct device_node *np);
18int of_usb_update_otg_caps(struct device_node *np,
19 struct usb_otg_caps *otg_caps);
20struct device_node *usb_of_get_device_node(struct usb_device *hub, int port1);
21bool usb_of_has_combined_node(struct usb_device *udev);
22struct device_node *usb_of_get_interface_node(struct usb_device *udev,
23 u8 config, u8 ifnum);
24struct device *usb_of_get_companion_dev(struct device *dev);
25#else
26static inline enum usb_dr_mode
27of_usb_get_dr_mode_by_phy(struct device_node *np, int arg0)
28{
29 return USB_DR_MODE_UNKNOWN;
30}
31static inline bool of_usb_host_tpl_support(struct device_node *np)
32{
33 return false;
34}
35static inline int of_usb_update_otg_caps(struct device_node *np,
36 struct usb_otg_caps *otg_caps)
37{
38 return 0;
39}
40static inline struct device_node *
41usb_of_get_device_node(struct usb_device *hub, int port1)
42{
43 return NULL;
44}
45static inline bool usb_of_has_combined_node(struct usb_device *udev)
46{
47 return false;
48}
49static inline struct device_node *
50usb_of_get_interface_node(struct usb_device *udev, u8 config, u8 ifnum)
51{
52 return NULL;
53}
54static inline struct device *usb_of_get_companion_dev(struct device *dev)
55{
56 return NULL;
57}
58#endif
59
60#if IS_ENABLED(CONFIG_OF) && IS_ENABLED(CONFIG_USB_SUPPORT)
61enum usb_phy_interface of_usb_get_phy_mode(struct device_node *np);
62#else
63static inline enum usb_phy_interface of_usb_get_phy_mode(struct device_node *np)
64{
65 return USBPHY_INTERFACE_MODE_UNKNOWN;
66}
67
68#endif
69
70#endif /* __LINUX_USB_OF_H */
71

source code of linux/include/linux/usb/of.h