diff options
Diffstat (limited to 'zephyr/program/nissa/yaviks')
-rw-r--r-- | zephyr/program/nissa/yaviks/overlay.dtsi | 28 | ||||
-rw-r--r-- | zephyr/program/nissa/yaviks/src/usbc.c | 12 |
2 files changed, 25 insertions, 15 deletions
diff --git a/zephyr/program/nissa/yaviks/overlay.dtsi b/zephyr/program/nissa/yaviks/overlay.dtsi index 663b538953..a93b02c51c 100644 --- a/zephyr/program/nissa/yaviks/overlay.dtsi +++ b/zephyr/program/nissa/yaviks/overlay.dtsi @@ -213,24 +213,24 @@ }; }; }; +}; - binman { - ec-rw { - size = <0x50000>; - rw-fw { - rw-fwid { - /* Fix the lcoation of the FWID to the - * last 32 bytes of the flash. This - * ensures the RW entries in the FMAP - * stored in the RO section of flash - * are always correct. - */ - offset = <(0x50000 - 32)>; - }; +&binman { + ec-rw { + size = <0x50000>; + rw-fw { + rw-fwid { + /* Fix the lcoation of the FWID to the + * last 32 bytes of the flash. This + * ensures the RW entries in the FMAP + * stored in the RO section of flash + * are always correct. + */ + offset = <(0x50000 - 32)>; }; }; - pad-after = <0x50000>; }; + pad-after = <0x50000>; }; &thermistor_3V3_51K1_47K_4050B { diff --git a/zephyr/program/nissa/yaviks/src/usbc.c b/zephyr/program/nissa/yaviks/src/usbc.c index fa280615ee..c9950ae73b 100644 --- a/zephyr/program/nissa/yaviks/src/usbc.c +++ b/zephyr/program/nissa/yaviks/src/usbc.c @@ -12,6 +12,7 @@ #include "hooks.h" #include "system.h" #include "usb_mux.h" +#include "watchdog.h" #include <zephyr/logging/log.h> @@ -76,7 +77,7 @@ static void board_chargers_suspend(struct ap_power_ev_callback *const cb, fn(CHARGER_SECONDARY); } -static int board_chargers_suspend_init(const struct device *unused) +static int board_chargers_suspend_init(void) { static struct ap_power_ev_callback cb = { .handler = board_chargers_suspend, @@ -316,6 +317,15 @@ void board_process_pd_alert(int port) */ if (!gpio_pin_get_dt(GPIO_DT_FROM_NODELABEL(gpio_usb_c1_int_odl))) schedule_deferred_pd_interrupt(port); + + /* + * b:273208597: There are some peripheral display docks will + * issue HPDs in the short time. TCPM must wake up pd_task + * continually to service the events. They may cause the + * watchdog to reset. This patch placates watchdog after + * receiving dp_attention. + */ + watchdog_reload(); } int pd_snk_is_vbus_provided(int port) |