summaryrefslogtreecommitdiff
path: root/src/mainboard/google/kahlee/variants
diff options
context:
space:
mode:
Diffstat (limited to 'src/mainboard/google/kahlee/variants')
-rw-r--r--src/mainboard/google/kahlee/variants/baseboard/gpio.c18
-rw-r--r--src/mainboard/google/kahlee/variants/baseboard/include/baseboard/variants.h2
-rw-r--r--src/mainboard/google/kahlee/variants/kahlee/gpio.c18
3 files changed, 38 insertions, 0 deletions
diff --git a/src/mainboard/google/kahlee/variants/baseboard/gpio.c b/src/mainboard/google/kahlee/variants/baseboard/gpio.c
index 34b5cee010..925ece9139 100644
--- a/src/mainboard/google/kahlee/variants/baseboard/gpio.c
+++ b/src/mainboard/google/kahlee/variants/baseboard/gpio.c
@@ -328,3 +328,21 @@ const __attribute__((weak)) struct sci_source *get_gpe_table(size_t *num)
*num = ARRAY_SIZE(gpe_table);
return gpe_table;
}
+
+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_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;
+ return 0;
+}
diff --git a/src/mainboard/google/kahlee/variants/baseboard/include/baseboard/variants.h b/src/mainboard/google/kahlee/variants/baseboard/include/baseboard/variants.h
index 1d38bd4f92..33054f554e 100644
--- a/src/mainboard/google/kahlee/variants/baseboard/include/baseboard/variants.h
+++ b/src/mainboard/google/kahlee/variants/baseboard/include/baseboard/variants.h
@@ -25,5 +25,7 @@ const GPIO_CONTROL *get_gpio_table(void);
const struct sci_source *get_gpe_table(size_t *num);
uint8_t variant_memory_sku(void);
int variant_mainboard_read_spd(uint8_t spdAddress, char *buf, size_t len);
+int variant_get_xhci_oc_map(uint16_t *usb_oc_map);
+int variant_get_ehci_oc_map(uint16_t *usb_oc_map);
#endif /* __BASEBOARD_VARIANTS_H__ */
diff --git a/src/mainboard/google/kahlee/variants/kahlee/gpio.c b/src/mainboard/google/kahlee/variants/kahlee/gpio.c
index d90a99cbd7..97b0655ae9 100644
--- a/src/mainboard/google/kahlee/variants/kahlee/gpio.c
+++ b/src/mainboard/google/kahlee/variants/kahlee/gpio.c
@@ -148,3 +148,21 @@ const struct sci_source *get_gpe_table(size_t *num)
*num = ARRAY_SIZE(gpe_table);
return gpe_table;
}
+
+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_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;
+ return 0;
+}