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>
This commit is contained in:
Martin Roth 2017-12-13 20:07:26 -07:00
parent ced08642eb
commit 96b2de9303
2 changed files with 8 additions and 14 deletions

View File

@ -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;
}

View File

@ -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;
}