at master 2.1 kB view raw
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 14struct usb_device; 15 16#if IS_ENABLED(CONFIG_OF) 17enum usb_dr_mode of_usb_get_dr_mode_by_phy(struct device_node *np, int arg0); 18bool of_usb_host_tpl_support(struct device_node *np); 19int of_usb_update_otg_caps(struct device_node *np, 20 struct usb_otg_caps *otg_caps); 21enum usb_port_connect_type usb_of_get_connect_type(struct usb_device *hub, int port1); 22struct device_node *usb_of_get_device_node(struct usb_device *hub, int port1); 23bool usb_of_has_combined_node(struct usb_device *udev); 24struct device_node *usb_of_get_interface_node(struct usb_device *udev, 25 u8 config, u8 ifnum); 26struct device *usb_of_get_companion_dev(struct device *dev); 27#else 28static inline enum usb_dr_mode 29of_usb_get_dr_mode_by_phy(struct device_node *np, int arg0) 30{ 31 return USB_DR_MODE_UNKNOWN; 32} 33static inline bool of_usb_host_tpl_support(struct device_node *np) 34{ 35 return false; 36} 37static inline int of_usb_update_otg_caps(struct device_node *np, 38 struct usb_otg_caps *otg_caps) 39{ 40 return 0; 41} 42static inline enum usb_port_connect_type 43usb_of_get_connect_type(const struct usb_device *hub, int port1) 44{ 45 return USB_PORT_CONNECT_TYPE_UNKNOWN; 46} 47static inline struct device_node * 48usb_of_get_device_node(struct usb_device *hub, int port1) 49{ 50 return NULL; 51} 52static inline bool usb_of_has_combined_node(struct usb_device *udev) 53{ 54 return false; 55} 56static inline struct device_node * 57usb_of_get_interface_node(struct usb_device *udev, u8 config, u8 ifnum) 58{ 59 return NULL; 60} 61static 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) 68enum usb_phy_interface of_usb_get_phy_mode(struct device_node *np); 69#else 70static 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 */