<p>Marc Jones has uploaded this change for <strong>review</strong>.</p><p><a href="https://review.coreboot.org/22679">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">google/kahlee: Set USB OC pins<br><br>Set the USB over current pins for the Grunt baseboard and<br>Kahlee mainboard. Removes the ACPI ASL OC code, which is not<br>used on Stoney Ridge SOC.<br><br>BUG=b:69229635<br>TEST=Build and boot Kahlee. Not tested with OC test fixture.<br><br>Change-Id: I5a9b3409d9c91b89fd02f8eecf9e04c435f14342<br>Signed-off-by: Marc Jones <marcj303@gmail.com><br>---<br>M src/mainboard/google/kahlee/dsdt.asl<br>M src/mainboard/google/kahlee/mainboard.c<br>M src/mainboard/google/kahlee/variants/baseboard/gpio.c<br>D src/mainboard/google/kahlee/variants/baseboard/include/baseboard/acpi/usb_oc.asl<br>M src/mainboard/google/kahlee/variants/baseboard/include/baseboard/variants.h<br>D src/mainboard/google/kahlee/variants/grunt/include/variant/acpi/usb_oc.asl<br>M src/mainboard/google/kahlee/variants/kahlee/gpio.c<br>D src/mainboard/google/kahlee/variants/kahlee/include/variant/acpi/usb_oc.asl<br>8 files changed, 45 insertions(+), 85 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://review.coreboot.org:29418/coreboot refs/changes/79/22679/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">diff --git a/src/mainboard/google/kahlee/dsdt.asl b/src/mainboard/google/kahlee/dsdt.asl<br>index ded0dc8..ff3bb73 100644<br>--- a/src/mainboard/google/kahlee/dsdt.asl<br>+++ b/src/mainboard/google/kahlee/dsdt.asl<br>@@ -33,9 +33,6 @@<br>     /* Globals for the platform */<br>        #include "acpi/mainboard.asl"<br> <br>-   /* Describe the USB Overcurrent pins */<br>-      #include "variant/acpi/usb_oc.asl"<br>-<br>       /* PCI IRQ mapping for the Southbridge */<br>     #include <pcie.asl><br> <br>diff --git a/src/mainboard/google/kahlee/mainboard.c b/src/mainboard/google/kahlee/mainboard.c<br>index f757504..67a9fec 100644<br>--- a/src/mainboard/google/kahlee/mainboard.c<br>+++ b/src/mainboard/google/kahlee/mainboard.c<br>@@ -23,6 +23,7 @@<br> #include <boardid.h><br> #include <soc/nvs.h><br> #include <soc/smi.h><br>+#include <soc/southbridge.h><br> #include <variant/ec.h><br> #include <variant/thermal.h><br> #include <vendorcode/google/chromeos/chromeos.h><br>@@ -125,6 +126,16 @@<br>  }<br> }<br> <br>+int get_xhci_oc_map(uint16_t *map)<br>+{<br>+    return variant_get_xhci_oc_map(map);<br>+}<br>+<br>+int get_ehci_oc_map(uint16_t *map)<br>+{<br>+ return variant_get_ehci_oc_map(map);<br>+}<br>+<br> struct chip_operations mainboard_ops = {<br>        .init = mainboard_init,<br>       .enable_dev = kahlee_enable,<br>diff --git a/src/mainboard/google/kahlee/variants/baseboard/gpio.c b/src/mainboard/google/kahlee/variants/baseboard/gpio.c<br>index 4dc6d45..0f0015f 100644<br>--- a/src/mainboard/google/kahlee/variants/baseboard/gpio.c<br>+++ b/src/mainboard/google/kahlee/variants/baseboard/gpio.c<br>@@ -42,3 +42,17 @@<br>         *num = ARRAY_SIZE(gpe_table);<br>         return gpe_table;<br> }<br>+<br>+int __attribute__((weak)) variant_get_xhci_oc_map(uint16_t *map)<br>+{<br>+      *map =  USB_OC0 << OC_PORT0_SHIFT; /* USB-C Port0 = OC0 */<br>+     *map |= USB_OC1 << OC_PORT1_SHIFT; /* USB-C Port1 = OC1 */<br>+     return 0;<br>+}<br>+<br>+int __attribute__((weak)) variant_get_ehci_oc_map(uint16_t *map)<br>+{<br>+      *map =  USB_OC2 << OC_PORT0_SHIFT; /* USB-A Port0 = OC2 */<br>+     *map |= USB_OC3 << OC_PORT1_SHIFT; /* USB-A Port1 = OC3 */<br>+     return 0;<br>+}<br>diff --git a/src/mainboard/google/kahlee/variants/baseboard/include/baseboard/acpi/usb_oc.asl b/src/mainboard/google/kahlee/variants/baseboard/include/baseboard/acpi/usb_oc.asl<br>deleted file mode 100644<br>index 72f26d8..0000000<br>--- a/src/mainboard/google/kahlee/variants/baseboard/include/baseboard/acpi/usb_oc.asl<br>+++ /dev/null<br>@@ -1,29 +0,0 @@<br>-/*<br>- * This file is part of the coreboot project.<br>- *<br>- * Copyright (C) 2015 Advanced Micro Devices, Inc.<br>- * Copyright (C) 2013 Sage Electronic Engineering, LLC<br>- *<br>- * This program is free software; you can redistribute it and/or modify<br>- * it under the terms of the GNU General Public License as published by<br>- * the Free Software Foundation; version 2 of the License.<br>- *<br>- * This program is distributed in the hope that it will be useful,<br>- * but WITHOUT ANY WARRANTY; without even the implied warranty of<br>- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the<br>- * GNU General Public License for more details.<br>- */<br>-<br>-/* USB overcurrent mapping pins.   */<br>-Name (UOM0, 0)<br>-Name (UOM1, 0)<br>-Name (UOM2, 0)<br>-Name (UOM3, 0)<br>-Name (UOM4, 0)<br>-Name (UOM5, 0)<br>-Name (UOM6, 0)<br>-Name (UOM7, 0)<br>-Name (UOM8, 0)<br>-Name (UOM9, 0)<br>-<br>-/* USB Overcurrent GPEs */<br>diff --git a/src/mainboard/google/kahlee/variants/baseboard/include/baseboard/variants.h b/src/mainboard/google/kahlee/variants/baseboard/include/baseboard/variants.h<br>index 1d38bd4..33054f5 100644<br>--- a/src/mainboard/google/kahlee/variants/baseboard/include/baseboard/variants.h<br>+++ b/src/mainboard/google/kahlee/variants/baseboard/include/baseboard/variants.h<br>@@ -25,5 +25,7 @@<br> const struct sci_source *get_gpe_table(size_t *num);<br> uint8_t variant_memory_sku(void);<br> int variant_mainboard_read_spd(uint8_t spdAddress, char *buf, size_t len);<br>+int variant_get_xhci_oc_map(uint16_t *usb_oc_map);<br>+int variant_get_ehci_oc_map(uint16_t *usb_oc_map);<br> <br> #endif /* __BASEBOARD_VARIANTS_H__ */<br>diff --git a/src/mainboard/google/kahlee/variants/grunt/include/variant/acpi/usb_oc.asl b/src/mainboard/google/kahlee/variants/grunt/include/variant/acpi/usb_oc.asl<br>deleted file mode 100644<br>index d22628c..0000000<br>--- a/src/mainboard/google/kahlee/variants/grunt/include/variant/acpi/usb_oc.asl<br>+++ /dev/null<br>@@ -1,16 +0,0 @@<br>-/*<br>- * This file is part of the coreboot project.<br>- *<br>- * Copyright 2017 Google Inc.<br>- *<br>- * This program is free software; you can redistribute it and/or modify<br>- * it under the terms of the GNU General Public License as published by<br>- * the Free Software Foundation; version 2 of the License.<br>- *<br>- * This program is distributed in the hope that it will be useful,<br>- * but WITHOUT ANY WARRANTY; without even the implied warranty of<br>- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the<br>- * GNU General Public License for more details.<br>- */<br>-<br>-#include <baseboard/acpi/usb_oc.asl><br>diff --git a/src/mainboard/google/kahlee/variants/kahlee/gpio.c b/src/mainboard/google/kahlee/variants/kahlee/gpio.c<br>index d90a99c..5cc0608 100644<br>--- a/src/mainboard/google/kahlee/variants/kahlee/gpio.c<br>+++ b/src/mainboard/google/kahlee/variants/kahlee/gpio.c<br>@@ -148,3 +148,21 @@<br>        *num = ARRAY_SIZE(gpe_table);<br>         return gpe_table;<br> }<br>+<br>+int variant_get_xhci_oc_map(uint16_t *map)<br>+{<br>+    *map = USB_OC_DISABLE_ALL;<br>+   *map &= ~(USB_OC_DISABLE << OC_PORT0_SHIFT);<br>+       *map |= USB_OC0 << OC_PORT0_SHIFT;        /* USB-C Port0 = OC0 */<br>+      *map &= ~(USB_OC_DISABLE << OC_PORT1_SHIFT);<br>+       *map |= USB_OC1 << OC_PORT1_SHIFT;        /* USB-C Port1 = OC1 */<br>+      return 0;<br>+}<br>+<br>+int variant_get_ehci_oc_map(uint16_t *map)<br>+{<br>+    *map = USB_OC_DISABLE_ALL;<br>+   *map &= ~(USB_OC_DISABLE << OC_PORT0_SHIFT);<br>+       *map |= USB_OC2 << OC_PORT0_SHIFT;        /* USB-A Port0 = OC2 */<br>+      return 0;<br>+}<br>diff --git a/src/mainboard/google/kahlee/variants/kahlee/include/variant/acpi/usb_oc.asl b/src/mainboard/google/kahlee/variants/kahlee/include/variant/acpi/usb_oc.asl<br>deleted file mode 100644<br>index 068d6fd..0000000<br>--- a/src/mainboard/google/kahlee/variants/kahlee/include/variant/acpi/usb_oc.asl<br>+++ /dev/null<br>@@ -1,37 +0,0 @@<br>-/*<br>- * This file is part of the coreboot project.<br>- *<br>- * Copyright (C) 2015 Advanced Micro Devices, Inc.<br>- * Copyright (C) 2013 Sage Electronic Engineering, LLC<br>- *<br>- * This program is free software; you can redistribute it and/or modify<br>- * it under the terms of the GNU General Public License as published by<br>- * the Free Software Foundation; version 2 of the License.<br>- *<br>- * This program is distributed in the hope that it will be useful,<br>- * but WITHOUT ANY WARRANTY; without even the implied warranty of<br>- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the<br>- * GNU General Public License for more details.<br>- */<br>-<br>-/* simple name description */<br>-/*<br>- * DefinitionBlock ("DSDT.AML","DSDT",0x01,"XXXXXX","XXXXXXXX",0x00010001)<br>- * {<br>- *     #include "usb.asl"<br>- * }<br>- */<br>-<br>-/* USB overcurrent mapping pins.   */<br>-Name (UOM0, 0)<br>-Name (UOM1, 2)<br>-Name (UOM2, 0)<br>-Name (UOM3, 7)<br>-Name (UOM4, 2)<br>-Name (UOM5, 2)<br>-Name (UOM6, 6)<br>-Name (UOM7, 2)<br>-Name (UOM8, 6)<br>-Name (UOM9, 6)<br>-<br>-/* USB Overcurrent GPEs */<br></pre><p>To view, visit <a href="https://review.coreboot.org/22679">change 22679</a>. To unsubscribe, visit <a href="https://review.coreboot.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://review.coreboot.org/22679"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: coreboot </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: I5a9b3409d9c91b89fd02f8eecf9e04c435f14342 </div>
<div style="display:none"> Gerrit-Change-Number: 22679 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Marc Jones <marc@marcjonesconsulting.com> </div>