of.h 1.8 KB

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