util/inteltool: add missing special function pads for CNL-H
Add the missing special function gpio pad groups for CNL-H.
The groups and names are documented in the PCH EDS, in Linux
(linux/drivers/pinctrl/intel/pinctrl-cannonlake.c) and other places.
Also, see soc/intel/tigerlake for reference.
Change-Id: Ib83aeef9f4b6aa174e61ccbd87fb7b6450ed773b
Signed-off-by: Michael Niewöhner <foss@mniewoehner.de>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/45204
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
diff --git a/util/inteltool/gpio_names/cannonlake.h b/util/inteltool/gpio_names/cannonlake.h
index 47672d5..694b158 100644
--- a/util/inteltool/gpio_names/cannonlake.h
+++ b/util/inteltool/gpio_names/cannonlake.h
@@ -264,6 +264,32 @@
"GPP_H23", "TIME_SYNC0",
};
+const char *const cannonlake_pch_h_group_cpu_names[] = {
+ "HDACPU_SDI", "HDACPU_SDI",
+ "HDACPU_SDO", "HDACPU_SDO",
+ "HDACPU_SCLK", "HDACPU_SCLK",
+ "PM_SYNC", "PM_SYNC",
+ "PECI", "PECI",
+ "CPUPWRGD", "CPUPWRG#",
+ "THRMTRIP_B", "THRMTRIP#",
+ "PLTRST_CPU_B", "PLTRST_CPU#",
+ "PM_DOWN", "PM_DOWN",
+ "TRIGGER_IN", "TRIGGER_IN",
+ "TRIGGER_OUT", "TRIGGER_OUT",
+};
+
+const char *const cannonlake_pch_h_group_jtag_names[] = {
+ "PCH_TDO", "PCH_TDO",
+ "PCH_JTAGX", "PCH_JTAGX",
+ "PROC_PRDY_B", "PROC_RDY#",
+ "PROC_PREQ_B", "PROC_REQ#",
+ "CPU_TRST_B", "CPU_TRST#",
+ "PCH_TDI", "PCH_TDI",
+ "PCH_TMS", "PCH_TMS",
+ "PCH_TCK", "PCH_TCK",
+ "ITP_PMODE", "ITP_PMODE",
+};
+
static const char *const cannonlake_pch_h_group_i_names[] = {
"GPP_I0", "DDPB_HPD0", "DISP_MISC0",
"GPP_I1", "DDPB_HPD1", "DISP_MISC1",
@@ -340,6 +366,10 @@
"GPD9", "SLP_WLAN#",
"GPD10", "SLP_S5#",
"GPD11", "LANPHYPC",
+ "SLP_LAN_B", "SLP_LAN#",
+ "SLP_SUS_B", "SLP_SUS#",
+ "WAKE_B", "WAKE#",
+ "DRAM_RESET_B", "DRAM_RESET#",
};
static const struct gpio_group cannonlake_pch_h_group_a = {
@@ -426,6 +456,20 @@
.pad_names = cannonlake_pch_h_group_h_names,
};
+static const struct gpio_group cannonlake_pch_h_group_cpu = {
+ .display = "------- GPIO Group CPU -------",
+ .pad_count = ARRAY_SIZE(cannonlake_pch_h_group_cpu_names) / 2,
+ .func_count = 2,
+ .pad_names = cannonlake_pch_h_group_cpu_names,
+};
+
+static const struct gpio_group cannonlake_pch_h_group_jtag = {
+ .display = "------- GPIO Group JTAG -------",
+ .pad_count = ARRAY_SIZE(cannonlake_pch_h_group_jtag_names) / 2,
+ .func_count = 2,
+ .pad_names = cannonlake_pch_h_group_jtag_names,
+};
+
static const struct gpio_group cannonlake_pch_h_group_i = {
.display = "------- GPIO Group GPP_I -------",
.pad_count = ARRAY_SIZE(cannonlake_pch_h_group_i_names) / 3,
@@ -505,6 +549,8 @@
};
static const struct gpio_group *const cannonlake_pch_h_community_4_groups[] = {
+ &cannonlake_pch_h_group_cpu,
+ &cannonlake_pch_h_group_jtag,
&cannonlake_pch_h_group_i,
&cannonlake_pch_h_group_j,
};