diff options
-rw-r--r-- | zephyr/projects/skyrim/Kconfig | 7 | ||||
-rw-r--r-- | zephyr/projects/skyrim/prj_frostflow.conf | 3 | ||||
-rw-r--r-- | zephyr/projects/skyrim/src/power_signals.c | 5 |
3 files changed, 14 insertions, 1 deletions
diff --git a/zephyr/projects/skyrim/Kconfig b/zephyr/projects/skyrim/Kconfig index 77c073a691..fbb797f6fc 100644 --- a/zephyr/projects/skyrim/Kconfig +++ b/zephyr/projects/skyrim/Kconfig @@ -32,6 +32,13 @@ config BOARD_INPUT_CURRENT_SCALE_FACTOR help Limit input current to fraction of negotiated limit. +config BOARD_USB_HUB_RESET + bool "Support USB hub reset or not" + default y + help + Enable this if your board has a USB hub reset GPIO connect to EC to + reset the USB hub. + module = SKYRIM module-str = Skyrim board-specific code source "subsys/logging/Kconfig.template.log_config" diff --git a/zephyr/projects/skyrim/prj_frostflow.conf b/zephyr/projects/skyrim/prj_frostflow.conf index 6372bae444..29931de4d4 100644 --- a/zephyr/projects/skyrim/prj_frostflow.conf +++ b/zephyr/projects/skyrim/prj_frostflow.conf @@ -25,3 +25,6 @@ CONFIG_PLATFORM_EC_USBC_RETIMER_ANX7483=y # Keyboard CONFIG_PLATFORM_EC_KEYBOARD_CUSTOMIZATION=y + +# Frostflow not have the USB HUB +CONFIG_BOARD_USB_HUB_RESET=n diff --git a/zephyr/projects/skyrim/src/power_signals.c b/zephyr/projects/skyrim/src/power_signals.c index 1f72d482b9..5d372d35ae 100644 --- a/zephyr/projects/skyrim/src/power_signals.c +++ b/zephyr/projects/skyrim/src/power_signals.c @@ -200,20 +200,23 @@ void baseboard_en_pwr_s0(enum gpio_signal signal) /* Now chain off to the normal power signal interrupt handler. */ power_signal_interrupt(signal); } - +#ifdef CONFIG_BOARD_USB_HUB_RESET void baseboard_enable_hub(void) { gpio_pin_set_dt(GPIO_DT_FROM_NODELABEL(gpio_hub_rst), 0); } DECLARE_DEFERRED(baseboard_enable_hub); +#endif /* CONFIG_BOARD_USB_HUB_RESET */ void baseboard_s5_pgood(enum gpio_signal signal) { +#ifdef CONFIG_BOARD_USB_HUB_RESET /* We must enable the USB hub at least 30ms after S5 PGOOD */ if (gpio_pin_get_dt(GPIO_DT_FROM_NODELABEL(gpio_pg_pwr_s5))) hook_call_deferred(&baseboard_enable_hub_data, 30 * MSEC); else gpio_pin_set_dt(GPIO_DT_FROM_NODELABEL(gpio_hub_rst), 1); +#endif /* CONFIG_BOARD_USB_HUB_RESET */ /* Continue to our signal AND-ing and power interrupt */ baseboard_en_pwr_s0(signal); |