From 2e0f2788a88bdb788f897fdb93060aa6f5893a31 Mon Sep 17 00:00:00 2001 From: Marshall Dawson Date: Fri, 14 Jun 2019 09:51:02 -0600 Subject: src/soc/amd/picasso: Update GPIO configuration Make the definitions match Picasso's definitions. Add/remove pins that differ from stoneyridge, update GEVENTs for the FCH mapping. Change-Id: I59f958151f27ed4ca0eb1a87ade6102eec1e5061 Signed-off-by: Marshall Dawson Reviewed-on: https://review.coreboot.org/c/coreboot/+/33761 Tested-by: build bot (Jenkins) Reviewed-by: Martin Roth --- src/soc/amd/picasso/gpio.c | 16 +-- src/soc/amd/picasso/include/soc/gpio.h | 221 +++++++++++++++++---------------- 2 files changed, 121 insertions(+), 116 deletions(-) (limited to 'src') diff --git a/src/soc/amd/picasso/gpio.c b/src/soc/amd/picasso/gpio.c index f63a0d93a4..ea868ebd02 100644 --- a/src/soc/amd/picasso/gpio.c +++ b/src/soc/amd/picasso/gpio.c @@ -22,6 +22,7 @@ #include static const struct soc_amd_event gpio_event_table[] = { + { GPIO_0, GEVENT_21 }, /* GPIO0 may only be used as PWR_BTN_L in ACPI */ { GPIO_1, GEVENT_19 }, { GPIO_2, GEVENT_8 }, { GPIO_3, GEVENT_2 }, @@ -31,10 +32,6 @@ static const struct soc_amd_event gpio_event_table[] = { { GPIO_7, GEVENT_11 }, { GPIO_8, GEVENT_23 }, { GPIO_9, GEVENT_22 }, - { GPIO_11, GEVENT_18 }, - { GPIO_13, GEVENT_21 }, - { GPIO_14, GEVENT_6 }, - { GPIO_15, GEVENT_20 }, { GPIO_16, GEVENT_12 }, { GPIO_17, GEVENT_13 }, { GPIO_18, GEVENT_14 }, @@ -42,10 +39,13 @@ static const struct soc_amd_event gpio_event_table[] = { { GPIO_22, GEVENT_3 }, { GPIO_23, GEVENT_16 }, { GPIO_24, GEVENT_15 }, - { GPIO_65, GEVENT_0 }, - { GPIO_66, GEVENT_1 }, - { GPIO_68, GEVENT_9 }, - { GPIO_69, GEVENT_17 }, + { GPIO_40, GEVENT_20 }, + { GPIO_84, GEVENT_18 }, + { GPIO_86, GEVENT_9 }, + { GPIO_89, GEVENT_0 }, + { GPIO_90, GEVENT_1 }, + { GPIO_91, GEVENT_6 }, + { GPIO_129, GEVENT_17 }, }; void soc_route_sci(uint8_t event) diff --git a/src/soc/amd/picasso/include/soc/gpio.h b/src/soc/amd/picasso/include/soc/gpio.h index 411144beb6..6e4357ed45 100644 --- a/src/soc/amd/picasso/include/soc/gpio.h +++ b/src/soc/amd/picasso/include/soc/gpio.h @@ -25,7 +25,7 @@ /* The following sections describe only the GPIOs defined for this SOC */ -#define SOC_GPIO_TOTAL_PINS 149 +#define SOC_GPIO_TOTAL_PINS 145 /* Bank 0: GPIO_0 - GPIO_62 */ #define GPIO_0 0 @@ -43,7 +43,6 @@ #define GPIO_12 12 #define GPIO_13 13 #define GPIO_14 14 -#define GPIO_15 15 #define GPIO_16 16 #define GPIO_17 17 #define GPIO_18 18 @@ -53,22 +52,20 @@ #define GPIO_22 22 #define GPIO_23 23 #define GPIO_24 24 -#define GPIO_25 25 #define GPIO_26 26 -#define GPIO_39 39 +#define GPIO_27 27 +#define GPIO_29 29 +#define GPIO_30 30 +#define GPIO_31 31 +#define GPIO_32 32 #define GPIO_40 40 #define GPIO_42 42 /* Bank 1: GPIO_64 - GPIO_127 */ -#define GPIO_64 64 -#define GPIO_65 65 -#define GPIO_66 66 #define GPIO_67 67 #define GPIO_68 68 #define GPIO_69 69 #define GPIO_70 70 -#define GPIO_71 71 -#define GPIO_72 72 #define GPIO_74 74 #define GPIO_75 75 #define GPIO_76 76 @@ -81,34 +78,25 @@ #define GPIO_90 90 #define GPIO_91 91 #define GPIO_92 92 -#define GPIO_93 93 -#define GPIO_95 95 -#define GPIO_96 96 -#define GPIO_97 97 -#define GPIO_98 98 -#define GPIO_99 99 -#define GPIO_100 100 -#define GPIO_101 101 -#define GPIO_102 102 +#define GPIO_103 103 +#define GPIO_104 104 +#define GPIO_105 105 +#define GPIO_106 106 +#define GPIO_107 107 +#define GPIO_108 108 +#define GPIO_109 109 #define GPIO_113 113 #define GPIO_114 114 #define GPIO_115 115 #define GPIO_116 116 -#define GPIO_117 117 -#define GPIO_118 118 -#define GPIO_119 119 #define GPIO_120 120 #define GPIO_121 121 -#define GPIO_122 122 -#define GPIO_126 126 /* Bank 2: GPIO_128 - GPIO_183 */ #define GPIO_129 129 #define GPIO_130 130 #define GPIO_131 131 #define GPIO_132 132 -#define GPIO_133 133 -#define GPIO_134 134 #define GPIO_135 135 #define GPIO_136 136 #define GPIO_137 137 @@ -119,15 +107,11 @@ #define GPIO_142 142 #define GPIO_143 143 #define GPIO_144 144 -#define GPIO_145 145 -#define GPIO_146 146 -#define GPIO_147 147 -#define GPIO_148 148 #define GPIO_SCL_HIGH 0 #define GPIO_SCL_LOW GPIO_OUTPUT_ENABLE -/* IOMUX function names and values generated from BKDG. */ +/* IOMUX function names and values generated from PPR. */ #define GPIO_0_IOMUX_PWR_BTN_L 0 #define GPIO_0_IOMUX_GPIOxx 1 #define GPIO_1_IOMUX_SYS_RESET_L 0 @@ -139,35 +123,32 @@ #define GPIO_5_IOMUX_GPIOxx 0 #define GPIO_5_IOMUX_DEVSLP0_S5 1 #define GPIO_6_IOMUX_GPIOxx 0 -#define GPIO_6_IOMUX_LDT_RST_L 1 +#define GPIO_6_IOMUX_DEVSLP1_S5 1 #define GPIO_7_IOMUX_GPIOxx 0 -#define GPIO_7_IOMUX_LDT_PWROK 1 +#define GPIO_7_IOMUX_ACP_I2S_SDIN 1 #define GPIO_8_IOMUX_GPIOxx 0 -#define GPIO_8_IOMUX_SerPortTX_OUT 1 +#define GPIO_8_IOMUX_ACP_I2S_LRCLK 1 #define GPIO_9_IOMUX_GPIOxx 0 -#define GPIO_9_IOMUX_SerPortRX_OUT 1 -#define GPIO_10_IOMUX_S0A3_GPIO 0 -#define GPIO_10_IOMUX_GPIOxx 1 +#define GPIO_9_IOMUX_SGPIO_DATAOUT 1 +#define GPIO_9_IOMUX_MDIO1_SCL 2 +#define GPIO_10_IOMUX_GPIOxx 0 +#define GPIO_10_IOMUX_S0A3_GPIO 1 +#define GPIO_10_IOMUX_SGPIO_CLK 2 +#define GPIO_10_IOMUX_MDIO0_SCL 3 #define GPIO_11_IOMUX_GPIOxx 0 -#define GPIO_11_IOMUX_USB_OC7_L 1 -#define GPIO_12_IOMUX_IR_LED_L 0 -#define GPIO_12_IOMUX_LLB_L 1 -#define GPIO_12_IOMUX_GPIOxx 2 +#define GPIO_11_IOMUX_BLINK 1 +#define GPIO_12_IOMUX_LLB_L 0 +#define GPIO_12_IOMUX_GPIOxx 1 #define GPIO_13_IOMUX_USB_OC5_L 0 #define GPIO_13_IOMUX_GPIOxx 1 -#define GPIO_14_IOMUX_USB_OC6_L 0 +#define GPIO_14_IOMUX_USB_OC4_L 0 #define GPIO_14_IOMUX_GPIOxx 1 -#define GPIO_15_IOMUX_IR_RX1 0 -#define GPIO_15_IOMUX_GPIOxx 1 #define GPIO_16_IOMUX_USB_OC0_L 0 -#define GPIO_16_IOMUX_TRST_L 1 -#define GPIO_16_IOMUX_GPIOxx 2 +#define GPIO_16_IOMUX_GPIOxx 1 #define GPIO_17_IOMUX_USB_OC1_L 0 -#define GPIO_17_IOMUX_TDI 1 -#define GPIO_17_IOMUX_GPIOxx 2 +#define GPIO_17_IOMUX_GPIOxx 1 #define GPIO_18_IOMUX_USB_OC2_L 0 -#define GPIO_18_IOMUX_TCK 1 -#define GPIO_18_IOMUX_GPIOxx 2 +#define GPIO_18_IOMUX_GPIOxx 1 #define GPIO_19_IOMUX_SCL1 0 #define GPIO_19_IOMUX_I2C3_SCL 1 #define GPIO_19_IOMUX_GPIOxx 2 @@ -175,66 +156,107 @@ #define GPIO_20_IOMUX_I2C3_SDA 1 #define GPIO_20_IOMUX_GPIOxx 2 #define GPIO_21_IOMUX_LPC_PD_L 0 -#define GPIO_21_IOMUX_GPIOxx 1 +#define GPIO_21_IOMUX_EMMC_CMD 1 +#define GPIO_21_IOMUX_GPIOxx 2 #define GPIO_22_IOMUX_LPC_PME_L 0 -#define GPIO_22_IOMUX_GPIOxx 1 -#define GPIO_23_IOMUX_USB_OC4_L 0 -#define GPIO_23_IOMUX_IR_RX0 1 -#define GPIO_23_IOMUX_GPIOxx 2 +#define GPIO_22_IOMUX_EMMC_PRW_CTRL 1 +#define GPIO_22_IOMUX_GPIOxx 2 +#define GPIO_23_IOMUX_ACP_PRES 0 +#define GPIO_23_IOMUX_SGPIO_LOAD 1 +#define GPIO_23_IOMUX_MDIO1_SDA 2 +#define GPIO_23_IOMUX_GPIOxx 3 #define GPIO_24_IOMUX_USB_OC3_L 0 #define GPIO_24_IOMUX_GPIOxx 1 -#define GPIO_25_IOMUX_SD0_CD 0 -#define GPIO_25_IOMUX_GPIOxx 1 #define GPIO_26_IOMUX_PCIE_RST_L 0 #define GPIO_26_IOMUX_GPIOxx 1 -#define GPIO_39_IOMUX_VDDGFX_PD 0 -#define GPIO_39_IOMUX_GPIOxx 1 +#define GPIO_27_IOMUX_GPIOxx 0 +#define GPIO_27_IOMUX_PCIE_RST1_L 1 +#define GPIO_29_IOMUX_SPI_TPM_CS_L 0 +#define GPIO_29_IOMUX_GPIOxx 1 +#define GPIO_29_IOMUX_USB_OC6_L 2 +#define GPIO_30_IOMUX_SPI_CS2_L 0 +#define GPIO_30_IOMUX_ESPI_CS_L 1 +#define GPIO_30_IOMUX_GPIOxx 2 +#define GPIO_31_IOMUX_SPI_CS3_L 0 +#define GPIO_31_IOMUX_ESPI_CS_L 1 +#define GPIO_31_IOMUX_GPIOxx 2 +#define GPIO_32_IOMUX_LPC_RST_L 0 +#define GPIO_32_IOMUX_SD_WP_L 1 +#define GPIO_32_IOMUX_GPIOxx 2 #define GPIO_40_IOMUX_GPIOxx 0 -#define GPIO_42_IOMUX_S5_MUX_CTRL 0 -#define GPIO_42_IOMUX_GPIOxx 1 -#define GPIO_64_IOMUX_GPIOxx 0 -#define GPIO_65_IOMUX_GPIOxx 0 -#define GPIO_66_IOMUX_GPIOxx 0 -#define GPIO_67_IOMUX_GPIOxx 0 -#define GPIO_67_IOMUX_DEVSLP0 1 +#define GPIO_40_IOMUX_SGPIO_DATAIN 1 +#define GPIO_40_IOMUX_MDIO0_SDA 2 +#define GPIO_42_IOMUX_GPIOxx 0 +#define GPIO_67_IOMUX_SPI_ROM_REQ 0 +#define GPIO_67_IOMUX_GPIOxx 1 +#define GPIO_68_IOMUX_GPIOxx 0 +#define GPIO_68_IOMUX_EMMC_CD 1 #define GPIO_69_IOMUX_GPIOxx 0 -#define GPIO_69_IOMUX_SGPIO_LOAD 1 #define GPIO_70_IOMUX_GPIOxx 0 -#define GPIO_70_IOMUX_DEVSLP1 1 +#define GPIO_70_IOMUX_EMMC_CLK 1 +#define GPIO_70_IOMUX_SD_CLK 2 #define GPIO_74_IOMUX_LPCCLK0 0 -#define GPIO_74_IOMUX_GPIOxx 1 +#define GPIO_74_IOMUX_EMMC_DATA4 1 +#define GPIO_74_IOMUX_GPIOxx 2 #define GPIO_75_IOMUX_LPCCLK1 0 -#define GPIO_75_IOMUX_GPIOxx 1 -#define GPIO_76_IOMUX_GPIOxx 0 -#define GPIO_76_IOMUX_SPI_TPM_CS_L 1 +#define GPIO_75_IOMUX_EMMC_DATA6 1 +#define GPIO_75_IOMUX_GPIOxx 2 +#define GPIO_76_IOMUX_SPI_ROM_GNT 0 +#define GPIO_76_IOMUX_GPIOxx 1 #define GPIO_84_IOMUX_FANIN0 0 #define GPIO_84_IOMUX_GPIOxx 1 #define GPIO_85_IOMUX_FANOUT0 0 #define GPIO_85_IOMUX_GPIOxx 1 +#define GPIO_86_IOMUX_LPC_SMI_L 0 #define GPIO_86_IOMUX_GPIOxx 1 #define GPIO_87_IOMUX_SERIRQ 0 -#define GPIO_87_IOMUX_GPIOxx 1 +#define GPIO_87_IOMUX_EMMC_DATA7 1 +#define GPIO_87_IOMUX_GPIOxx 2 #define GPIO_88_IOMUX_LPC_CLKRUN_L 0 -#define GPIO_88_IOMUX_GPIOxx 1 -#define GPIO_90_IOMUX_GPIOxx 0 +#define GPIO_88_IOMUX_EMMC_DATA5 1 +#define GPIO_88_IOMUX_GPIOxx 2 +#define GPIO_89_IOMUX_GENINT1_L 0 +#define GPIO_89_IOMUX_PSP_INTR0 1 +#define GPIO_89_IOMUX_GPIOxx 2 +#define GPIO_90_IOMUX_GENINT2_L 0 +#define GPIO_90_IOMUX_PSP_INTR1 1 +#define GPIO_90_IOMUX_GPIOxx 2 #define GPIO_91_IOMUX_SPKR 0 #define GPIO_91_IOMUX_GPIOxx 1 #define GPIO_92_IOMUX_CLK_REQ0_L 0 #define GPIO_92_IOMUX_SATA_IS0_L 1 #define GPIO_92_IOMUX_SATA_ZP0_L 2 #define GPIO_92_IOMUX_GPIOxx 3 -#define GPIO_93_IOMUX_SD0_LED 0 -#define GPIO_93_IOMUX_GPIOxx 1 #define GPIO_95_IOMUX_GPIOxx 0 +#define GPIO_95_IOMUX_SD0_CLK 1 #define GPIO_96_IOMUX_GPIOxx 0 +#define GPIO_96_IOMUX_SD0_CMD 1 #define GPIO_97_IOMUX_GPIOxx 0 +#define GPIO_97_IOMUX_SD0_DATA0 1 #define GPIO_98_IOMUX_GPIOxx 0 +#define GPIO_98_IOMUX_SD0_DATA1 1 #define GPIO_99_IOMUX_GPIOxx 0 +#define GPIO_99_IOMUX_SD0_DATA2 1 #define GPIO_100_IOMUX_GPIOxx 0 -#define GPIO_101_IOMUX_SD0_WP 0 -#define GPIO_101_IOMUX_GPIOxx 1 -#define GPIO_102_IOMUX_SD0_PWR_CTRL 0 -#define GPIO_102_IOMUX_GPIOxx 1 +#define GPIO_100_IOMUX_SD0_DATA3 1 +#define GPIO_104_IOMUX_LAD0 0 +#define GPIO_104_IOMUX_EMMC_SDATA0 1 +#define GPIO_104_IOMUX_GPIOxx 3 +#define GPIO_105_IOMUX_LAD1 0 +#define GPIO_105_IOMUX_EMMC_DATA1 1 +#define GPIO_105_IOMUX_GPIOxx 3 +#define GPIO_106_IOMUX_LAD2 0 +#define GPIO_106_IOMUX_EMMC_DATA2 1 +#define GPIO_106_IOMUX_GPIOxx 3 +#define GPIO_107_IOMUX_LAD3 0 +#define GPIO_107_IOMUX_EMMC_DATA3 1 +#define GPIO_107_IOMUX_GPIOxx 3 +#define GPIO_108_IOMUX_LDRQ0_L 0 +#define GPIO_108_IOMUX_ESPI_ALERT_D1 1 +#define GPIO_108_IOMUX_GPIOxx 2 +#define GPIO_109_IOMUX_LFRAME_L 0 +#define GPIO_109_IOMUX_EMMC_DS 1 +#define GPIO_109_IOMUX_GPIOxx 2 #define GPIO_113_IOMUX_SCL0 0 #define GPIO_113_IOMUX_I2C2_SCL 1 #define GPIO_113_IOMUX_GPIOxx 2 @@ -245,21 +267,10 @@ #define GPIO_115_IOMUX_GPIOxx 1 #define GPIO_116_IOMUX_CLK_REQ2_L 0 #define GPIO_116_IOMUX_GPIOxx 1 -#define GPIO_117_IOMUX_ESPI_CLK 0 -#define GPIO_117_IOMUX_GPIOxx 1 -#define GPIO_118_IOMUX_SPI_CS1_L 0 -#define GPIO_118_IOMUX_GPIOxx 1 -#define GPIO_119_IOMUX_SPI_CS2_L 0 -#define GPIO_119_IOMUX_ESPI_CS_L 1 -#define GPIO_119_IOMUX_GPIOxx 2 -#define GPIO_120_IOMUX_ESPI_DAT1 0 +#define GPIO_120_IOMUX_CLK_REQ5_L 0 #define GPIO_120_IOMUX_GPIOxx 1 -#define GPIO_121_IOMUX_ESPI_DAT0 0 +#define GPIO_121_IOMUX_CLK_REQ6_L 0 #define GPIO_121_IOMUX_GPIOxx 1 -#define GPIO_122_IOMUX_ESPI_DAT2 0 -#define GPIO_122_IOMUX_GPIOxx 1 -#define GPIO_126_IOMUX_GA20IN 0 -#define GPIO_126_IOMUX_GPIOxx 1 #define GPIO_129_IOMUX_KBRST_L 0 #define GPIO_129_IOMUX_GPIOxx 1 #define GPIO_130_IOMUX_SATA_ACT_L 0 @@ -268,39 +279,33 @@ #define GPIO_131_IOMUX_SATA_IS1_L 1 #define GPIO_131_IOMUX_SATA_ZP1_L 2 #define GPIO_131_IOMUX_GPIOxx 3 -#define GPIO_132_IOMUX_CLK_REQG_L 0 +#define GPIO_132_IOMUX_CLK_REQ4_L 0 #define GPIO_132_IOMUX_OSCIN 1 #define GPIO_132_IOMUX_GPIOxx 2 -#define GPIO_133_IOMUX_ESPI_DAT3 0 -#define GPIO_133_IOMUX_GPIOxx 1 #define GPIO_135_IOMUX_UART0_CTS_L 0 -#define GPIO_135_IOMUX_GPIOxx 1 +#define GPIO_135_IOMUX_UART2_RXD 1 +#define GPIO_135_IOMUX_GPIOxx 2 #define GPIO_136_IOMUX_UART0_RXD 0 #define GPIO_136_IOMUX_GPIOxx 1 #define GPIO_137_IOMUX_UART0_RTS_L 0 -#define GPIO_137_IOMUX_GPIOxx 1 +#define GPIO_137_IOMUX_UART2_TXD 1 +#define GPIO_137_IOMUX_GPIOxx 2 #define GPIO_138_IOMUX_UART0_TXD 0 #define GPIO_138_IOMUX_GPIOxx 1 #define GPIO_139_IOMUX_UART0_INTR 0 #define GPIO_139_IOMUX_GPIOxx 1 #define GPIO_140_IOMUX_UART1_CTS_L 0 -#define GPIO_140_IOMUX_GPIOxx 1 +#define GPIO_140_IOMUX_UART3_TXD 1 +#define GPIO_140_IOMUX_GPIOxx 2 #define GPIO_141_IOMUX_UART1_RXD 0 #define GPIO_141_IOMUX_GPIOxx 1 #define GPIO_142_IOMUX_UART1_RTS_L 0 -#define GPIO_142_IOMUX_GPIOxx 1 +#define GPIO_142_IOMUX_UART3_RXD 1 +#define GPIO_142_IOMUX_GPIOxx 2 #define GPIO_143_IOMUX_UART1_TXD 0 #define GPIO_143_IOMUX_GPIOxx 1 #define GPIO_144_IOMUX_UART1_INTR 0 #define GPIO_144_IOMUX_GPIOxx 1 -#define GPIO_145_IOMUX_I2C0_SCL 0 -#define GPIO_145_IOMUX_GPIOxx 1 -#define GPIO_146_IOMUX_I2C0_SDA 0 -#define GPIO_146_IOMUX_GPIOxx 1 -#define GPIO_147_IOMUX_I2C1_SCL 0 -#define GPIO_147_IOMUX_GPIOxx 1 -#define GPIO_148_IOMUX_I2C1_SDA 0 -#define GPIO_148_IOMUX_GPIOxx 1 #define GPIO_2_EVENT GEVENT_8 -- cgit v1.2.3