diff options
Diffstat (limited to 'src/soc')
-rw-r--r-- | src/soc/intel/cannonlake/Kconfig | 2 | ||||
-rw-r--r-- | src/soc/intel/cannonlake/bootblock/pch.c | 4 | ||||
-rw-r--r-- | src/soc/intel/cannonlake/chip.h | 1 | ||||
-rw-r--r-- | src/soc/intel/cannonlake/gpio.c | 19 | ||||
-rw-r--r-- | src/soc/intel/cannonlake/include/soc/pmc.h | 10 |
5 files changed, 26 insertions, 10 deletions
diff --git a/src/soc/intel/cannonlake/Kconfig b/src/soc/intel/cannonlake/Kconfig index 51cd23fc47..a19a371374 100644 --- a/src/soc/intel/cannonlake/Kconfig +++ b/src/soc/intel/cannonlake/Kconfig @@ -165,7 +165,7 @@ config VBOOT config C_ENV_BOOTBLOCK_SIZE hex - default 0x4000 + default 0x8000 config STACK_SIZE hex diff --git a/src/soc/intel/cannonlake/bootblock/pch.c b/src/soc/intel/cannonlake/bootblock/pch.c index 0deece6521..cca70c21ad 100644 --- a/src/soc/intel/cannonlake/bootblock/pch.c +++ b/src/soc/intel/cannonlake/bootblock/pch.c @@ -18,6 +18,7 @@ #include <intelblocks/fast_spi.h> #include <intelblocks/pcr.h> #include <intelblocks/rtc.h> +#include <intelblocks/pmclib.h> #include <intelblocks/smbus.h> #include <soc/bootblock.h> #include <soc/iomap.h> @@ -192,5 +193,8 @@ void pch_early_init(void) /* Program SMBUS_BASE_ADDRESS and Enable it */ smbus_common_init(); + /* Set up GPE configuration */ + pmc_gpe_init(); + enable_rtc_upper_bank(); } diff --git a/src/soc/intel/cannonlake/chip.h b/src/soc/intel/cannonlake/chip.h index e984b4de23..50ae8ba02c 100644 --- a/src/soc/intel/cannonlake/chip.h +++ b/src/soc/intel/cannonlake/chip.h @@ -24,6 +24,7 @@ #include <soc/pch.h> #include <soc/gpio_defs.h> #include <soc/pci_devs.h> +#include <soc/pmc.h> #include <soc/serialio.h> #include <soc/usb.h> #include <soc/vr_config.h> diff --git a/src/soc/intel/cannonlake/gpio.c b/src/soc/intel/cannonlake/gpio.c index 0cc416424a..2ebe60b395 100644 --- a/src/soc/intel/cannonlake/gpio.c +++ b/src/soc/intel/cannonlake/gpio.c @@ -17,6 +17,7 @@ #include <intelblocks/gpio.h> #include <intelblocks/pcr.h> #include <soc/pcr_ids.h> +#include <soc/pmc.h> static const struct reset_mapping rst_map[] = { { .logical = PAD_CFG0_LOGICAL_RESET_RSMRST, .chipset = 0U << 30 }, @@ -100,15 +101,15 @@ const struct pad_community *soc_gpio_get_community(size_t *num_communities) const struct pmc_to_gpio_route *soc_pmc_gpio_routes(size_t *num) { static const struct pmc_to_gpio_route routes[] = { - { GPP_A, GPP_A }, - { GPP_B, GPP_B }, - { GPP_C, GPP_C }, - { GPP_D, GPP_D }, - { GPP_E, GPP_E }, - { GPP_F, GPP_F }, - { GPP_G, GPP_G }, - { GPP_H, GPP_H }, - { GPD, GPD }, + { PMC_GPP_A, GPP_A }, + { PMC_GPP_B, GPP_B }, + { PMC_GPP_C, GPP_C }, + { PMC_GPP_D, GPP_D }, + { PMC_GPP_E, GPP_E }, + { PMC_GPP_F, GPP_F }, + { PMC_GPP_G, GPP_G }, + { PMC_GPP_H, GPP_H }, + { PMC_GPD, GPD }, }; *num = ARRAY_SIZE(routes); return routes; diff --git a/src/soc/intel/cannonlake/include/soc/pmc.h b/src/soc/intel/cannonlake/include/soc/pmc.h index 0276d46089..b794ede967 100644 --- a/src/soc/intel/cannonlake/include/soc/pmc.h +++ b/src/soc/intel/cannonlake/include/soc/pmc.h @@ -116,6 +116,16 @@ #define GPE0_DWX_MASK 0xf #define GPE0_DW_SHIFT(x) (4*(x)) +#define PMC_GPP_A 0x0 +#define PMC_GPP_B 0x1 +#define PMC_GPP_C 0xD +#define PMC_GPP_D 0x4 +#define PMC_GPP_E 0xE +#define PMC_GPP_F 0x5 +#define PMC_GPP_G 0x2 +#define PMC_GPP_H 0x6 +#define PMC_GPD 0xA + #define GBLRST_CAUSE0 0x1924 #define GBLRST_CAUSE0_THERMTRIP (1 << 5) #define GBLRST_CAUSE1 0x1928 |