mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-24 20:13:39 +00:00
6a6468f479
When the device tree indicates support for role switching through the "usb-role-switch" property, take the "role-switch-default-mode" property into account when deciding which role to put the controller into. This makes USB devices work on Apple M1 systems where the device tree may include a "dr_mode" property that is set to "otg", but where we need to put the controller into "host" mode to see devices connected to the type-C ports. Signed-off-by: Mark Kettenis <kettenis@openbsd.org>
49 lines
1.2 KiB
C
49 lines
1.2 KiB
C
/* 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 */
|