of.h 1.8 KB

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