blob: 14b2c7eb2e634c9ef0861ff0b42f0dfd8e2cd84a [file] [log] [blame]
Jagan Teki106c71f2019-11-19 13:56:20 +05301/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * USB PHY defines
4 *
5 * These APIs may be used between USB controllers. USB device drivers
6 * (for either host or peripheral roles) don't use these calls; they
7 * continue to use just usb_device and usb_gadget.
8 */
9
10#ifndef __LINUX_USB_PHY_H
11#define __LINUX_USB_PHY_H
12
Frank Wanga4a29122020-05-26 11:34:30 +080013#include <dm/ofnode.h>
14
Jagan Teki106c71f2019-11-19 13:56:20 +053015enum usb_phy_interface {
16 USBPHY_INTERFACE_MODE_UNKNOWN,
17 USBPHY_INTERFACE_MODE_UTMI,
18 USBPHY_INTERFACE_MODE_UTMIW,
Matthias Schiffer382cf4e2021-09-20 15:37:22 +020019 USBPHY_INTERFACE_MODE_ULPI,
20 USBPHY_INTERFACE_MODE_SERIAL,
21 USBPHY_INTERFACE_MODE_HSIC,
Jagan Teki106c71f2019-11-19 13:56:20 +053022};
23
Frank Wanga4a29122020-05-26 11:34:30 +080024#if CONFIG_IS_ENABLED(DM_USB)
25/**
26 * usb_get_phy_mode - Get phy mode for given device_node
27 * @np: Pointer to the given device_node
28 *
29 * The function gets phy interface string from property 'phy_type',
30 * and returns the corresponding enum usb_phy_interface
31 */
32enum usb_phy_interface usb_get_phy_mode(ofnode node);
33#else
34static inline enum usb_phy_interface usb_get_phy_mode(ofnode node)
35{
36 return USBPHY_INTERFACE_MODE_UNKNOWN;
37}
38#endif
39
Jagan Teki106c71f2019-11-19 13:56:20 +053040#endif /* __LINUX_USB_PHY_H */