diff options
Diffstat (limited to 'baseboard/hatch/baseboard.c')
-rw-r--r-- | baseboard/hatch/baseboard.c | 73 |
1 files changed, 72 insertions, 1 deletions
diff --git a/baseboard/hatch/baseboard.c b/baseboard/hatch/baseboard.c index 19de9d6cf5..035efa4395 100644 --- a/baseboard/hatch/baseboard.c +++ b/baseboard/hatch/baseboard.c @@ -4,9 +4,20 @@ */ /* Hatch family-specific configuration */ - +#include "chipset.h" +#include "console.h" +#include "espi.h" #include "gpio.h" +#include "hooks.h" #include "i2c.h" +#include "power.h" +#include "tcpci.h" +#include "timer.h" +#include "util.h" + +#define CPRINTS(format, args...) cprints(CC_SYSTEM, format, ## args) +#define CPRINTF(format, args...) cprintf(CC_SYSTEM, format, ## args) + /******************************************************************************/ /* I2C port map configuration */ @@ -19,3 +30,63 @@ const struct i2c_port_t i2c_ports[] = { {"eeprom", I2C_PORT_EEPROM, 100, GPIO_I2C7_SCL, GPIO_I2C7_SDA}, }; const unsigned int i2c_ports_used = ARRAY_SIZE(i2c_ports); + +/* power signal list. */ +const struct power_signal_info power_signal_list[] = { + + [X86_SLP_S0_DEASSERTED] = {GPIO_SLP_S0_L, + POWER_SIGNAL_ACTIVE_HIGH | POWER_SIGNAL_DISABLE_AT_BOOT, + "SLP_S0_DEASSERTED"}, +#ifdef CONFIG_HOSTCMD_ESPI_VW_SIGNALS + [X86_SLP_S3_DEASSERTED] = {VW_SLP_S3_L, POWER_SIGNAL_ACTIVE_HIGH, + "SLP_S3_DEASSERTED"}, + [X86_SLP_S4_DEASSERTED] = {VW_SLP_S4_L, POWER_SIGNAL_ACTIVE_HIGH, + "SLP_S4_DEASSERTED"}, +#else + [X86_SLP_S3_DEASSERTED] = {GPIO_SLP_S3_L, POWER_SIGNAL_ACTIVE_HIGH, + "SLP_S3_DEASSERTED"}, + [X86_SLP_S4_DEASSERTED] = {GPIO_SLP_S4_L, POWER_SIGNAL_ACTIVE_HIGH, + "SLP_S4_DEASSERTED"}, +#endif + [X86_RSMRST_L_PGOOD] = {GPIO_PG_EC_RSMRST_L, POWER_SIGNAL_ACTIVE_HIGH, + "RSMRST_L_PGOOD"}, + [PP5000_A_PGOOD] = {GPIO_PP5000_A_PG_OD, POWER_SIGNAL_ACTIVE_HIGH, + "PP5000_A_PGOOD"}, + [ALL_SYS_PGOOD] = {GPIO_PG_EC_ALL_SYS_PWRGD, POWER_SIGNAL_ACTIVE_HIGH, + "ALL_SYS_PWRGD"} +}; +BUILD_ASSERT(ARRAY_SIZE(power_signal_list) == POWER_SIGNAL_COUNT); + +/******************************************************************************/ +/* Chipset callbacks/hooks */ + +/* Called on AP S5 -> S3 transition */ +static void baseboard_chipset_startup(void) +{ + /* TODD(b/122266850): Need to fill out this hook */ +} +DECLARE_HOOK(HOOK_CHIPSET_STARTUP, baseboard_chipset_startup, + HOOK_PRIO_DEFAULT); + +/* Called on AP S0iX -> S0 transition */ +static void baseboard_chipset_resume(void) +{ + /* TODD(b/122266850): Need to fill out this hook */ +} +DECLARE_HOOK(HOOK_CHIPSET_RESUME, baseboard_chipset_resume, HOOK_PRIO_DEFAULT); + +/* Called on AP S0 -> S0iX transition */ +static void baseboard_chipset_suspend(void) +{ + /* TODD(b/122266850): Need to fill out this hook */ +} +DECLARE_HOOK(HOOK_CHIPSET_SUSPEND, baseboard_chipset_suspend, + HOOK_PRIO_DEFAULT); + +/* Called on AP S3 -> S5 transition */ +static void baseboard_chipset_shutdown(void) +{ + /* TODD(b/122266850): Need to fill out this hook */ +} +DECLARE_HOOK(HOOK_CHIPSET_SHUTDOWN, baseboard_chipset_shutdown, + HOOK_PRIO_DEFAULT); |