1/* 2 * OF helpers for usb devices. 3 * 4 * This file is released under the GPLv2 5 */ 6 7#ifndef __LINUX_USB_OF_H 8#define __LINUX_USB_OF_H 9 10#include <linux/usb/ch9.h> 11#include <linux/usb/otg.h> 12#include <linux/usb/phy.h> 13 14#if IS_ENABLED(CONFIG_OF) 15enum usb_dr_mode of_usb_get_dr_mode_by_phy(struct device_node *np, int arg0); 16bool of_usb_host_tpl_support(struct device_node *np); 17int of_usb_update_otg_caps(struct device_node *np, 18 struct usb_otg_caps *otg_caps); 19struct device_node *usb_of_get_child_node(struct device_node *parent, 20 int portnum); 21struct device *usb_of_get_companion_dev(struct device *dev); 22#else 23static inline enum usb_dr_mode 24of_usb_get_dr_mode_by_phy(struct device_node *np, int arg0) 25{ 26 return USB_DR_MODE_UNKNOWN; 27} 28static inline bool of_usb_host_tpl_support(struct device_node *np) 29{ 30 return false; 31} 32static inline int of_usb_update_otg_caps(struct device_node *np, 33 struct usb_otg_caps *otg_caps) 34{ 35 return 0; 36} 37static inline struct device_node *usb_of_get_child_node 38 (struct device_node *parent, int portnum) 39{ 40 return NULL; 41} 42static inline struct device *usb_of_get_companion_dev(struct device *dev) 43{ 44 return NULL; 45} 46#endif 47 48#if IS_ENABLED(CONFIG_OF) && IS_ENABLED(CONFIG_USB_SUPPORT) 49enum usb_phy_interface of_usb_get_phy_mode(struct device_node *np); 50#else 51static inline enum usb_phy_interface of_usb_get_phy_mode(struct device_node *np) 52{ 53 return USBPHY_INTERFACE_MODE_UNKNOWN; 54} 55 56#endif 57 58#endif /* __LINUX_USB_OF_H */ 59