]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - drivers/usb/host/ohci-s3c24xx.c
usb: create common header virtual root hub descriptors
[karo-tx-uboot.git] / drivers / usb / host / ohci-s3c24xx.c
index dde076403494ae33b2df8450380f817cf01f8f51..3c659c60c97a5893309c3861ff75a06d1aefa2a8 100644 (file)
@@ -8,24 +8,7 @@
  * (C) Copyright 1999 Roman Weissgaerber <weissg@vienna.at>
  * (C) Copyright 2000-2002 David Brownell
  *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- *
+ * SPDX-License-Identifier:    GPL-2.0+
  */
 /*
  * IMPORTANT NOTES
@@ -890,100 +873,7 @@ static int dl_done_list(struct ohci *ohci, struct td *td_list)
  * Virtual Root Hub
  *-------------------------------------------------------------------------*/
 
-/* 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 */
-};
-
-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[] = {
-       28,     /*  __u8  bLength; */
-       0x03,   /*  __u8  bDescriptorType; String-descriptor */
-       'O',    /*  __u8  Unicode */
-       0,      /*  __u8  Unicode */
-       'H',    /*  __u8  Unicode */
-       0,      /*  __u8  Unicode */
-       'C',    /*  __u8  Unicode */
-       0,      /*  __u8  Unicode */
-       'I',    /*  __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 */
-};
+#include <usbroothubdes.h>
 
 /* Hub class-specific descriptor is constructed dynamically */
 
@@ -1659,7 +1549,7 @@ static void hc_release_ohci(struct ohci *ohci)
  */
 static char ohci_inited = 0;
 
-int usb_lowlevel_init(int index, void **controller)
+int usb_lowlevel_init(int index, enum usb_init_type init, void **controller)
 {
        struct s3c24x0_clock_power *clk_power = s3c24x0_get_base_clock_power();
        struct s3c24x0_gpio *gpio = s3c24x0_get_base_gpio();