blob: 5ff9032ee1b47b8cb8a7b969e93829ce63d1deb1 [file] [log] [blame]
Michael Grzeschik1c9af652013-06-13 17:59:55 +03001/*
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
Felipe Balbi1494a1f2013-06-30 13:56:45 +030010#include <linux/usb/ch9.h>
Michael Grzeschik1c9af652013-06-13 17:59:55 +030011#include <linux/usb/otg.h>
12#include <linux/usb/phy.h>
13
Peter Chen848d5b92013-06-24 09:25:59 +080014#if IS_ENABLED(CONFIG_OF)
Hans de Goedece15ed42016-06-10 11:46:25 +020015enum usb_dr_mode of_usb_get_dr_mode_by_phy(struct device_node *np, int arg0);
Peter Chen05f8b352014-08-19 09:51:55 +080016bool of_usb_host_tpl_support(struct device_node *np);
Li Jun929412d2015-07-09 15:18:44 +080017int of_usb_update_otg_caps(struct device_node *np,
18 struct usb_otg_caps *otg_caps);
Peter Chen69bec722016-02-19 17:26:15 +080019struct device_node *usb_of_get_child_node(struct device_node *parent,
20 int portnum);
Michael Grzeschik1c9af652013-06-13 17:59:55 +030021#else
Felipe Balbibe99c842015-12-17 09:55:41 -060022static inline enum usb_dr_mode
Hans de Goedece15ed42016-06-10 11:46:25 +020023of_usb_get_dr_mode_by_phy(struct device_node *np, int arg0)
Bin Liu98bfb392015-11-03 11:51:15 -060024{
25 return USB_DR_MODE_UNKNOWN;
26}
Peter Chen05f8b352014-08-19 09:51:55 +080027static inline bool of_usb_host_tpl_support(struct device_node *np)
28{
29 return false;
30}
Li Jun929412d2015-07-09 15:18:44 +080031static inline int of_usb_update_otg_caps(struct device_node *np,
32 struct usb_otg_caps *otg_caps)
33{
34 return 0;
35}
Peter Chen69bec722016-02-19 17:26:15 +080036static inline struct device_node *usb_of_get_child_node
37 (struct device_node *parent, int portnum)
38{
39 return NULL;
40}
Peter Chen848d5b92013-06-24 09:25:59 +080041#endif
42
Felipe Balbi9cf7b242013-07-30 09:09:15 +030043#if IS_ENABLED(CONFIG_OF) && IS_ENABLED(CONFIG_USB_SUPPORT)
Peter Chen848d5b92013-06-24 09:25:59 +080044enum usb_phy_interface of_usb_get_phy_mode(struct device_node *np);
45#else
Michael Grzeschik1c9af652013-06-13 17:59:55 +030046static inline enum usb_phy_interface of_usb_get_phy_mode(struct device_node *np)
47{
48 return USBPHY_INTERFACE_MODE_UNKNOWN;
49}
50
Michael Grzeschik1c9af652013-06-13 17:59:55 +030051#endif
52
53#endif /* __LINUX_USB_OF_H */