diff options
author | Michal Simek <michal.simek@xilinx.com> | 2016-08-08 11:11:26 +0300 |
---|---|---|
committer | Michal Simek <michal.simek@xilinx.com> | 2016-09-22 08:33:20 +0300 |
commit | 275bd6d11fd686beddf68b9f2b0de015b9e9f631 (patch) | |
tree | 90262861ac74510271f55facbeea4684c6773890 /board/xilinx | |
parent | 6ded73aa9789d48e22d3b916dd5c860d05f39d92 (diff) | |
download | u-boot-275bd6d11fd686beddf68b9f2b0de015b9e9f631.tar.xz |
ARM64: zynqmp: Wire up both USBs available on ZynqMP
The second USB wasn't enabled. This patch fixes it.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Diffstat (limited to 'board/xilinx')
-rw-r--r-- | board/xilinx/zynqmp/zynqmp.c | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/board/xilinx/zynqmp/zynqmp.c b/board/xilinx/zynqmp/zynqmp.c index 0c5d997931..7b4b5ffd89 100644 --- a/board/xilinx/zynqmp/zynqmp.c +++ b/board/xilinx/zynqmp/zynqmp.c @@ -283,13 +283,20 @@ int checkboard(void) } #ifdef CONFIG_USB_DWC3 -static struct dwc3_device dwc3_device_data = { +static struct dwc3_device dwc3_device_data0 = { .maximum_speed = USB_SPEED_HIGH, .base = ZYNQMP_USB0_XHCI_BASEADDR, .dr_mode = USB_DR_MODE_PERIPHERAL, .index = 0, }; +static struct dwc3_device dwc3_device_data1 = { + .maximum_speed = USB_SPEED_HIGH, + .base = ZYNQMP_USB1_XHCI_BASEADDR, + .dr_mode = USB_DR_MODE_PERIPHERAL, + .index = 1, +}; + int usb_gadget_handle_interrupts(void) { dwc3_uboot_handle_interrupt(0); @@ -298,7 +305,16 @@ int usb_gadget_handle_interrupts(void) int board_usb_init(int index, enum usb_init_type init) { - return dwc3_uboot_init(&dwc3_device_data); + debug("%s: index %x\n", __func__, index); + + switch (index) { + case 0: + return dwc3_uboot_init(&dwc3_device_data0); + case 1: + return dwc3_uboot_init(&dwc3_device_data1); + }; + + return -1; } int board_usb_cleanup(int index, enum usb_init_type init) |