blob: 8c38aa26b3bb6dba5a1ef37b6104d701cc03fcdb [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)
Michael Grzeschik1c9af652013-06-13 17:59:55 +030015enum usb_dr_mode of_usb_get_dr_mode(struct device_node *np);
Felipe Balbi1494a1f2013-06-30 13:56:45 +030016enum usb_device_speed of_usb_get_maximum_speed(struct device_node *np);
Michael Grzeschik1c9af652013-06-13 17:59:55 +030017#else
Peter Chen848d5b92013-06-24 09:25:59 +080018static inline enum usb_dr_mode of_usb_get_dr_mode(struct device_node *np)
19{
20 return USB_DR_MODE_UNKNOWN;
21}
Felipe Balbi1494a1f2013-06-30 13:56:45 +030022
23static inline enum usb_device_speed
24of_usb_get_maximum_speed(struct device_node *np)
25{
26 return USB_SPEED_UNKNOWN;
27}
Peter Chen848d5b92013-06-24 09:25:59 +080028#endif
29
Felipe Balbi9cf7b242013-07-30 09:09:15 +030030#if IS_ENABLED(CONFIG_OF) && IS_ENABLED(CONFIG_USB_SUPPORT)
Peter Chen848d5b92013-06-24 09:25:59 +080031enum usb_phy_interface of_usb_get_phy_mode(struct device_node *np);
32#else
Michael Grzeschik1c9af652013-06-13 17:59:55 +030033static inline enum usb_phy_interface of_usb_get_phy_mode(struct device_node *np)
34{
35 return USBPHY_INTERFACE_MODE_UNKNOWN;
36}
37
Michael Grzeschik1c9af652013-06-13 17:59:55 +030038#endif
39
40#endif /* __LINUX_USB_OF_H */