summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Roth <martinroth@google.com>2017-12-13 20:07:26 -0700
committerMartin Roth <martinroth@google.com>2017-12-14 18:05:34 +0000
commit96b2de93030c1f87ebfe05ecfb69682cf4d7f06a (patch)
treef531abbcc61933a35ab0d4c8173c69a603a7507a
parentced08642eb26f6d5126513d3cd8493bded246154 (diff)
mainboard/google/kahlee: Update overcurrent pins
The overcurrent pins on kahlee weren't mapped correctly, causing the USB-A port to stop working. None of the EHCI only ports are used for external connectors, so all of the overcurrent pins should go to the XHCI connections. This is also true of the Grunt board. On Grunt, this also means that we don't need OC3, as it doesn't map to anything in the XHCI controller, as it's coming from an internal hub. BUG=b:70636233 TEST=Build & boot Kahlee, verify USB-A port is working again. Change-Id: I53336a18a26bd9be27c7265fddbcd780632656bf Signed-off-by: Martin Roth <martinroth@google.com> Reviewed-on: https://review.coreboot.org/22860 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-by: Aaron Durbin <adurbin@chromium.org> Reviewed-by: Marc Jones <marc@marcjonesconsulting.com> Reviewed-by: Daniel Kurtz <djkurtz@google.com>
-rw-r--r--src/mainboard/google/kahlee/variants/baseboard/gpio.c11
-rw-r--r--src/mainboard/google/kahlee/variants/kahlee/gpio.c11
2 files changed, 8 insertions, 14 deletions
diff --git a/src/mainboard/google/kahlee/variants/baseboard/gpio.c b/src/mainboard/google/kahlee/variants/baseboard/gpio.c
index c2ec65f2af..250fcc106e 100644
--- a/src/mainboard/google/kahlee/variants/baseboard/gpio.c
+++ b/src/mainboard/google/kahlee/variants/baseboard/gpio.c
@@ -324,18 +324,15 @@ const __attribute__((weak)) struct sci_source *get_gpe_table(size_t *num)
int __attribute__((weak)) variant_get_xhci_oc_map(uint16_t *map)
{
- *map = USB_OC0 << OC_PORT0_SHIFT; /* USB-C Port0 = OC0 */
- *map |= USB_OC1 << OC_PORT1_SHIFT; /* USB-C Port1 = OC1 */
- *map |= USB_OC_DISABLE << OC_PORT2_SHIFT;
+ *map = USB_OC0 << OC_PORT0_SHIFT; /* USB-C Port0/4 = OC0 */
+ *map |= USB_OC1 << OC_PORT1_SHIFT; /* USB-C Port1/5 = OC1 */
+ *map |= USB_OC2 << OC_PORT2_SHIFT; /* USB-A HUB Port2/6 = OC2 */
*map |= USB_OC_DISABLE << OC_PORT3_SHIFT;
return 0;
}
int __attribute__((weak)) variant_get_ehci_oc_map(uint16_t *map)
{
- *map = USB_OC2 << OC_PORT0_SHIFT; /* USB-A Port0 = OC2 */
- *map |= USB_OC3 << OC_PORT1_SHIFT; /* USB-A Port1 = OC3 */
- *map |= USB_OC_DISABLE << OC_PORT2_SHIFT;
- *map |= USB_OC_DISABLE << OC_PORT3_SHIFT;
+ *map = USB_OC_DISABLE_ALL;
return 0;
}
diff --git a/src/mainboard/google/kahlee/variants/kahlee/gpio.c b/src/mainboard/google/kahlee/variants/kahlee/gpio.c
index 14424b7b98..e5e15e610d 100644
--- a/src/mainboard/google/kahlee/variants/kahlee/gpio.c
+++ b/src/mainboard/google/kahlee/variants/kahlee/gpio.c
@@ -151,18 +151,15 @@ const struct sci_source *get_gpe_table(size_t *num)
int variant_get_xhci_oc_map(uint16_t *map)
{
- *map = USB_OC0 << OC_PORT0_SHIFT; /* USB-C Port0 = OC0 */
- *map |= USB_OC1 << OC_PORT1_SHIFT; /* USB-C Port1 = OC1 */
- *map |= USB_OC_DISABLE << OC_PORT2_SHIFT;
+ *map = USB_OC2 << OC_PORT0_SHIFT; /* USB-A Port0/4 = OC2 */
+ *map |= USB_OC0 << OC_PORT1_SHIFT; /* USB-C Port1/5 = OC0 */
+ *map |= USB_OC1 << OC_PORT2_SHIFT; /* USB-C Port2/6 = OC1 */
*map |= USB_OC_DISABLE << OC_PORT3_SHIFT;
return 0;
}
int variant_get_ehci_oc_map(uint16_t *map)
{
- *map = USB_OC2 << OC_PORT0_SHIFT; /* USB-A Port0 = OC2 */
- *map |= USB_OC_DISABLE << OC_PORT1_SHIFT;
- *map |= USB_OC_DISABLE << OC_PORT2_SHIFT;
- *map |= USB_OC_DISABLE << OC_PORT3_SHIFT;
+ *map = USB_OC_DISABLE_ALL;
return 0;
}