summaryrefslogtreecommitdiff
path: root/board/scalys/grapeboard/usb_grapeboard.c
diff options
context:
space:
mode:
Diffstat (limited to 'board/scalys/grapeboard/usb_grapeboard.c')
-rw-r--r--board/scalys/grapeboard/usb_grapeboard.c30
1 files changed, 22 insertions, 8 deletions
diff --git a/board/scalys/grapeboard/usb_grapeboard.c b/board/scalys/grapeboard/usb_grapeboard.c
index 5a75f99..f4d443e 100644
--- a/board/scalys/grapeboard/usb_grapeboard.c
+++ b/board/scalys/grapeboard/usb_grapeboard.c
@@ -24,18 +24,18 @@ const uint8_t hx3_settings[5 + HX3_SETTINGS_SIZE] = {
HX3_SETTINGS_SIZE, /* payload size (192) */
0xb4, 0x04, /* VID */
0x04, 0x65, /* PID */
- 0x0a, 0x50, /* DID */
+ 10, 50, /* DID */
0x00, /* Reserved */
- 0x0f, /* 4 SuperSpeed ports, no shared link */
+ 0x07, /* DS4 has no SuperSpeed port, DS4 is in shared link mode */
0x32, /* bPwrOn2PwrGood : 100 ms */
0x7f, /* 4 Downstream ports : DS4 is non-removable (MCU) */
- 0xe1, /* LEDs disabled, Ganged power switching */
- 0xa0, /* suspend indicator disabled, power switch control is active high */
- 0x04, /* BC v1.2 disabled, apple charging 1A, ghost charging disabled */
- 0x00, /* port charging, cdp & dcp disabled */
- 0xd8, /* US is embedded port, overcurrent input is active high */
+ 0x11, /* Ganged power switching */
+ 0x20, /* suspend indicator disabled, power switch control is active high */
+ 0x11, /* BC v1.2 and ghost charging enabled */
+ 0xf0, /* cdp enabled */
+ 0x78, /* overcurrent input is active high */
0x00, /* reserved */
- 0x08, /* USB String descriptors enabled */
+ 0x00, /* USB String descriptors enabled */
0x00, 0x00,
0x12, 0x00, 0x2c,
0x66, 0x66, /* USB3.0 TX driver de-emphasis */
@@ -93,6 +93,14 @@ int usb_hx3_hub_init(void) {
data += length;
}
+ /* Suspend USB2.0 PHY */
+ /*unsigned int val;
+
+ val = in_be32(0x2f0c200);
+ setbits_be32(0x2f0c200, val & (64 << 24));
+ mdelay(10);*/
+
+
puts("Done!\n");
return 0;
}
@@ -101,3 +109,9 @@ int usb_hx3_hub_reset(void) {
/* USB hub cannot be reset in software without resetting the ls1012a */
return 1;
}
+
+/*void usb_hub_reset_devices(int port)
+{
+ udelay(100);
+ return;
+}*/