blob: 5d0dac950efe6cd252f49d48294e6fdaa702607f [file] [log] [blame]
/* SPDX-License-Identifier: GPL-2.0+ */
/* include/linux/usb/otg.h
*
* Copyright (c) 2015 Texas Instruments Incorporated - http://www.ti.com
*
* USB OTG (On The Go) defines
*/
#ifndef __LINUX_USB_OTG_H
#define __LINUX_USB_OTG_H
#include <dm/ofnode.h>
enum usb_dr_mode {
USB_DR_MODE_UNKNOWN,
USB_DR_MODE_HOST,
USB_DR_MODE_PERIPHERAL,
USB_DR_MODE_OTG,
};
/**
* usb_get_dr_mode() - Get dual role mode for given device
* @node: ofnode of the given device
*
* The function gets phy interface string from property 'dr_mode',
* and returns the correspondig enum usb_dr_mode
*/
enum usb_dr_mode usb_get_dr_mode(ofnode node);
/**
* usb_get_dr_mode() - Get dual role mode for given device
* @node: ofnode of the given device
*
* The function gets phy interface string from property
* 'role-switch-defaulr-mode', and returns the correspondig enum
* usb_dr_mode
*/
enum usb_dr_mode usb_get_role_switch_default_mode(ofnode node);
/**
* usb_get_maximum_speed() - Get maximum speed for given device
* @node: ofnode of the given device
*
* The function gets phy interface string from property 'maximum-speed',
* and returns the correspondig enum usb_device_speed
*/
enum usb_device_speed usb_get_maximum_speed(ofnode node);
#endif /* __LINUX_USB_OTG_H */