diff options
Diffstat (limited to 'configs/platform-v7a/patches/barebox-2019.12.0/0006-usb-Add-usbroothubdes.h.patch')
-rw-r--r-- | configs/platform-v7a/patches/barebox-2019.12.0/0006-usb-Add-usbroothubdes.h.patch | 146 |
1 files changed, 146 insertions, 0 deletions
diff --git a/configs/platform-v7a/patches/barebox-2019.12.0/0006-usb-Add-usbroothubdes.h.patch b/configs/platform-v7a/patches/barebox-2019.12.0/0006-usb-Add-usbroothubdes.h.patch new file mode 100644 index 0000000..331e7de --- /dev/null +++ b/configs/platform-v7a/patches/barebox-2019.12.0/0006-usb-Add-usbroothubdes.h.patch @@ -0,0 +1,146 @@ +From: Sascha Hauer <s.hauer@pengutronix.de> +Date: Thu, 19 Dec 2019 12:04:01 +0100 +Subject: [PATCH] usb: Add usbroothubdes.h + +Taken from U-Boot, needed for the upcoming dwc2 driver. + +Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> +--- + include/usb/usbroothubdes.h | 128 ++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 128 insertions(+) + create mode 100644 include/usb/usbroothubdes.h + +diff --git a/include/usb/usbroothubdes.h b/include/usb/usbroothubdes.h +new file mode 100644 +index 000000000000..e743555d8e05 +--- /dev/null ++++ b/include/usb/usbroothubdes.h +@@ -0,0 +1,128 @@ ++/* SPDX-License-Identifier: GPL-2.0+ */ ++/* ++ * USB virtual root hub descriptors ++ * ++ * (C) Copyright 2014 ++ * Stephen Warren swarren@wwwdotorg.org ++ * ++ * Based on ohci-hcd.c ++ */ ++ ++#ifndef __USBROOTHUBDES_H__ ++#define __USBROOTHUBDES_H__ ++ ++/* Device descriptor */ ++static __u8 root_hub_dev_des[] = { ++ 0x12, /* __u8 bLength; */ ++ 0x01, /* __u8 bDescriptorType; Device */ ++ 0x10, /* __u16 bcdUSB; v1.1 */ ++ 0x01, ++ 0x09, /* __u8 bDeviceClass; HUB_CLASSCODE */ ++ 0x00, /* __u8 bDeviceSubClass; */ ++ 0x00, /* __u8 bDeviceProtocol; */ ++ 0x08, /* __u8 bMaxPacketSize0; 8 Bytes */ ++ 0x00, /* __u16 idVendor; */ ++ 0x00, ++ 0x00, /* __u16 idProduct; */ ++ 0x00, ++ 0x00, /* __u16 bcdDevice; */ ++ 0x00, ++ 0x00, /* __u8 iManufacturer; */ ++ 0x01, /* __u8 iProduct; */ ++ 0x00, /* __u8 iSerialNumber; */ ++ 0x01, /* __u8 bNumConfigurations; */ ++}; ++ ++/* Configuration descriptor */ ++static __u8 root_hub_config_des[] = { ++ 0x09, /* __u8 bLength; */ ++ 0x02, /* __u8 bDescriptorType; Configuration */ ++ 0x19, /* __u16 wTotalLength; */ ++ 0x00, ++ 0x01, /* __u8 bNumInterfaces; */ ++ 0x01, /* __u8 bConfigurationValue; */ ++ 0x00, /* __u8 iConfiguration; */ ++ 0x40, /* __u8 bmAttributes; ++ * Bit 7: Bus-powered ++ * 6: Self-powered, ++ * 5 Remote-wakwup, ++ * 4..0: resvd ++ */ ++ 0x00, /* __u8 MaxPower; */ ++ /* interface */ ++ 0x09, /* __u8 if_bLength; */ ++ 0x04, /* __u8 if_bDescriptorType; Interface */ ++ 0x00, /* __u8 if_bInterfaceNumber; */ ++ 0x00, /* __u8 if_bAlternateSetting; */ ++ 0x01, /* __u8 if_bNumEndpoints; */ ++ 0x09, /* __u8 if_bInterfaceClass; HUB_CLASSCODE */ ++ 0x00, /* __u8 if_bInterfaceSubClass; */ ++ 0x00, /* __u8 if_bInterfaceProtocol; */ ++ 0x00, /* __u8 if_iInterface; */ ++ /* endpoint */ ++ 0x07, /* __u8 ep_bLength; */ ++ 0x05, /* __u8 ep_bDescriptorType; Endpoint */ ++ 0x81, /* __u8 ep_bEndpointAddress; IN Endpoint 1 */ ++ 0x03, /* __u8 ep_bmAttributes; Interrupt */ ++ 0x02, /* __u16 ep_wMaxPacketSize; ((MAX_ROOT_PORTS + 1) / 8 */ ++ 0x00, ++ 0xff, /* __u8 ep_bInterval; 255 ms */ ++}; ++ ++#ifdef WANT_USB_ROOT_HUB_HUB_DES ++static unsigned char root_hub_hub_des[] = { ++ 0x09, /* __u8 bLength; */ ++ 0x29, /* __u8 bDescriptorType; Hub-descriptor */ ++ 0x02, /* __u8 bNbrPorts; */ ++ 0x00, /* __u16 wHubCharacteristics; */ ++ 0x00, ++ 0x01, /* __u8 bPwrOn2pwrGood; 2ms */ ++ 0x00, /* __u8 bHubContrCurrent; 0 mA */ ++ 0x00, /* __u8 DeviceRemovable; *** 7 Ports max *** */ ++ 0xff, /* __u8 PortPwrCtrlMask; *** 7 ports max *** */ ++}; ++#endif ++ ++static unsigned char root_hub_str_index0[] = { ++ 0x04, /* __u8 bLength; */ ++ 0x03, /* __u8 bDescriptorType; String-descriptor */ ++ 0x09, /* __u8 lang ID */ ++ 0x04, /* __u8 lang ID */ ++}; ++ ++static unsigned char root_hub_str_index1[] = { ++ 32, /* __u8 bLength; */ ++ 0x03, /* __u8 bDescriptorType; String-descriptor */ ++ 'U', /* __u8 Unicode */ ++ 0, /* __u8 Unicode */ ++ '-', /* __u8 Unicode */ ++ 0, /* __u8 Unicode */ ++ 'B', /* __u8 Unicode */ ++ 0, /* __u8 Unicode */ ++ 'o', /* __u8 Unicode */ ++ 0, /* __u8 Unicode */ ++ 'o', /* __u8 Unicode */ ++ 0, /* __u8 Unicode */ ++ 't', /* __u8 Unicode */ ++ 0, /* __u8 Unicode */ ++ ' ', /* __u8 Unicode */ ++ 0, /* __u8 Unicode */ ++ 'R', /* __u8 Unicode */ ++ 0, /* __u8 Unicode */ ++ 'o', /* __u8 Unicode */ ++ 0, /* __u8 Unicode */ ++ 'o', /* __u8 Unicode */ ++ 0, /* __u8 Unicode */ ++ 't', /* __u8 Unicode */ ++ 0, /* __u8 Unicode */ ++ ' ', /* __u8 Unicode */ ++ 0, /* __u8 Unicode */ ++ 'H', /* __u8 Unicode */ ++ 0, /* __u8 Unicode */ ++ 'u', /* __u8 Unicode */ ++ 0, /* __u8 Unicode */ ++ 'b', /* __u8 Unicode */ ++ 0, /* __u8 Unicode */ ++}; ++ ++#endif |