1/* SPDX-License-Identifier: GPL-2.0+ */
2/* include/linux/usb/otg.h
3 *
4 * Copyright (c) 2015 Texas Instruments Incorporated - https://www.ti.com
5 *
6 * USB OTG (On The Go) defines
7 */
8
9#ifndef __LINUX_USB_OTG_H
10#define __LINUX_USB_OTG_H
11
12#include <dm/ofnode.h>
13
14enum usb_dr_mode {
15	USB_DR_MODE_UNKNOWN,
16	USB_DR_MODE_HOST,
17	USB_DR_MODE_PERIPHERAL,
18	USB_DR_MODE_OTG,
19};
20
21/**
22 * usb_get_dr_mode() - Get dual role mode for given device
23 * @node: ofnode of the given device
24 *
25 * The function gets phy interface string from property 'dr_mode',
26 * and returns the correspondig enum usb_dr_mode
27 */
28enum usb_dr_mode usb_get_dr_mode(ofnode node);
29
30/**
31 * usb_get_dr_mode() - Get dual role mode for given device
32 * @node: ofnode of the given device
33 *
34 * The function gets phy interface string from property
35 * 'role-switch-defaulr-mode', and returns the correspondig enum
36 * usb_dr_mode
37 */
38enum usb_dr_mode usb_get_role_switch_default_mode(ofnode node);
39
40/**
41 * usb_get_maximum_speed() - Get maximum speed for given device
42 * @node: ofnode of the given device
43 *
44 * The function gets phy interface string from property 'maximum-speed',
45 * and returns the correspondig enum usb_device_speed
46 */
47enum usb_device_speed usb_get_maximum_speed(ofnode node);
48
49#endif /* __LINUX_USB_OTG_H */
50