2017-11-03 17:28:30 +07:00
|
|
|
// SPDX-License-Identifier: GPL-2.0
|
2013-06-13 21:59:55 +07:00
|
|
|
/*
|
|
|
|
* OF helpers for usb devices.
|
|
|
|
*
|
|
|
|
* This file is released under the GPLv2
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef __LINUX_USB_OF_H
|
|
|
|
#define __LINUX_USB_OF_H
|
|
|
|
|
2013-06-30 17:56:45 +07:00
|
|
|
#include <linux/usb/ch9.h>
|
2013-06-13 21:59:55 +07:00
|
|
|
#include <linux/usb/otg.h>
|
|
|
|
#include <linux/usb/phy.h>
|
|
|
|
|
2017-11-10 00:07:21 +07:00
|
|
|
struct usb_device;
|
|
|
|
|
2013-06-24 08:25:59 +07:00
|
|
|
#if IS_ENABLED(CONFIG_OF)
|
2016-06-10 16:46:25 +07:00
|
|
|
enum usb_dr_mode of_usb_get_dr_mode_by_phy(struct device_node *np, int arg0);
|
2014-08-19 08:51:55 +07:00
|
|
|
bool of_usb_host_tpl_support(struct device_node *np);
|
2015-07-09 14:18:44 +07:00
|
|
|
int of_usb_update_otg_caps(struct device_node *np,
|
|
|
|
struct usb_otg_caps *otg_caps);
|
2016-02-19 16:26:15 +07:00
|
|
|
struct device_node *usb_of_get_child_node(struct device_node *parent,
|
|
|
|
int portnum);
|
2017-11-10 00:07:21 +07:00
|
|
|
bool usb_of_has_combined_node(struct usb_device *udev);
|
|
|
|
struct device_node *usb_of_get_interface_node(struct usb_device *udev,
|
|
|
|
u8 config, u8 ifnum);
|
2017-02-21 17:59:47 +07:00
|
|
|
struct device *usb_of_get_companion_dev(struct device *dev);
|
2013-06-13 21:59:55 +07:00
|
|
|
#else
|
2015-12-17 22:55:41 +07:00
|
|
|
static inline enum usb_dr_mode
|
2016-06-10 16:46:25 +07:00
|
|
|
of_usb_get_dr_mode_by_phy(struct device_node *np, int arg0)
|
2015-11-04 00:51:15 +07:00
|
|
|
{
|
|
|
|
return USB_DR_MODE_UNKNOWN;
|
|
|
|
}
|
2014-08-19 08:51:55 +07:00
|
|
|
static inline bool of_usb_host_tpl_support(struct device_node *np)
|
|
|
|
{
|
|
|
|
return false;
|
|
|
|
}
|
2015-07-09 14:18:44 +07:00
|
|
|
static inline int of_usb_update_otg_caps(struct device_node *np,
|
|
|
|
struct usb_otg_caps *otg_caps)
|
|
|
|
{
|
|
|
|
return 0;
|
|
|
|
}
|
2016-02-19 16:26:15 +07:00
|
|
|
static inline struct device_node *usb_of_get_child_node
|
|
|
|
(struct device_node *parent, int portnum)
|
|
|
|
{
|
|
|
|
return NULL;
|
|
|
|
}
|
2017-11-10 00:07:21 +07:00
|
|
|
static inline bool usb_of_has_combined_node(struct usb_device *udev)
|
|
|
|
{
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
static inline struct device_node *
|
|
|
|
usb_of_get_interface_node(struct usb_device *udev, u8 config, u8 ifnum)
|
|
|
|
{
|
|
|
|
return NULL;
|
|
|
|
}
|
2017-02-21 17:59:47 +07:00
|
|
|
static inline struct device *usb_of_get_companion_dev(struct device *dev)
|
|
|
|
{
|
|
|
|
return NULL;
|
|
|
|
}
|
2013-06-24 08:25:59 +07:00
|
|
|
#endif
|
2013-06-13 21:59:55 +07:00
|
|
|
|
2013-07-30 13:09:15 +07:00
|
|
|
#if IS_ENABLED(CONFIG_OF) && IS_ENABLED(CONFIG_USB_SUPPORT)
|
2013-06-24 08:25:59 +07:00
|
|
|
enum usb_phy_interface of_usb_get_phy_mode(struct device_node *np);
|
|
|
|
#else
|
|
|
|
static inline enum usb_phy_interface of_usb_get_phy_mode(struct device_node *np)
|
2013-06-13 21:59:55 +07:00
|
|
|
{
|
2013-06-24 08:25:59 +07:00
|
|
|
return USBPHY_INTERFACE_MODE_UNKNOWN;
|
2013-06-13 21:59:55 +07:00
|
|
|
}
|
2013-06-24 08:25:59 +07:00
|
|
|
|
2013-06-13 21:59:55 +07:00
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif /* __LINUX_USB_OF_H */
|