summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/soc/intel/apollolake/gpio_glk.c8
-rw-r--r--src/soc/intel/apollolake/include/soc/pm.h1
2 files changed, 9 insertions, 0 deletions
diff --git a/src/soc/intel/apollolake/gpio_glk.c b/src/soc/intel/apollolake/gpio_glk.c
index a998118aa9..037273c3fa 100644
--- a/src/soc/intel/apollolake/gpio_glk.c
+++ b/src/soc/intel/apollolake/gpio_glk.c
@@ -131,11 +131,19 @@ 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[] = {
+ { PMC_GPE_SCC_31_0, GPIO_GPE_SCC_31_0 },
+ { PMC_GPE_SCC_63_32, GPIO_GPE_SCC_63_32 },
{ PMC_GPE_NW_31_0, GPIO_GPE_NW_31_0 },
{ PMC_GPE_NW_63_32, GPIO_GPE_NW_63_32 },
+ { PMC_GPE_NW_95_64, GPIO_GPE_NW_95_64 },
+ /*
+ * PMC_GPE_NW_127_96 maps to GPIO group 3, which is reserved and
+ * cannot be set in GPE0_DWx. Hence, it is skipped here.
+ */
{ PMC_GPE_N_31_0, GPIO_GPE_N_31_0 },
{ PMC_GPE_N_63_32, GPIO_GPE_N_63_32 },
{ PMC_GPE_N_95_64, GPIO_GPE_N_95_64 },
+ { PMC_GPE_AUDIO_31_0, GPIO_GPE_AUDIO_31_0 },
};
*num = ARRAY_SIZE(routes);
return routes;
diff --git a/src/soc/intel/apollolake/include/soc/pm.h b/src/soc/intel/apollolake/include/soc/pm.h
index e8ec645b1f..6de39a068c 100644
--- a/src/soc/intel/apollolake/include/soc/pm.h
+++ b/src/soc/intel/apollolake/include/soc/pm.h
@@ -196,6 +196,7 @@
#define GPE0_DW_SHIFT(x) (4 + 4*(x))
#if IS_ENABLED(CONFIG_SOC_INTEL_GLK)
+#define PMC_GPE_AUDIO_31_0 9
#define PMC_GPE_N_95_64 8
#define PMC_GPE_N_63_32 7
#define PMC_GPE_N_31_0 6