diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/soc/amd/sabrina/gpio.c | 8 | ||||
-rw-r--r-- | src/soc/amd/sabrina/include/soc/gpio.h | 271 |
2 files changed, 139 insertions, 140 deletions
diff --git a/src/soc/amd/sabrina/gpio.c b/src/soc/amd/sabrina/gpio.c index a6343980da..74eecadcce 100644 --- a/src/soc/amd/sabrina/gpio.c +++ b/src/soc/amd/sabrina/gpio.c @@ -1,7 +1,5 @@ /* SPDX-License-Identifier: GPL-2.0-only */ -/* TODO: Check if this is still correct */ - #include <amdblocks/gpio.h> #include <soc/gpio.h> #include <types.h> @@ -18,20 +16,20 @@ static const struct soc_amd_event gpio_event_table[] = { { GPIO_7, GEVENT_11 }, { GPIO_8, GEVENT_23 }, { GPIO_9, GEVENT_22 }, + { GPIO_11, GEVENT_5 }, { GPIO_16, GEVENT_12 }, { GPIO_17, GEVENT_13 }, { GPIO_18, GEVENT_14 }, - { GPIO_21, GEVENT_5 }, { GPIO_22, GEVENT_3 }, { GPIO_23, GEVENT_16 }, { GPIO_24, GEVENT_15 }, + { GPIO_29, GEVENT_9 }, + { GPIO_32, 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_get_gpio_event_table(const struct soc_amd_event **table, size_t *items) diff --git a/src/soc/amd/sabrina/include/soc/gpio.h b/src/soc/amd/sabrina/include/soc/gpio.h index a4b2d1a4b5..fbb19cd923 100644 --- a/src/soc/amd/sabrina/include/soc/gpio.h +++ b/src/soc/amd/sabrina/include/soc/gpio.h @@ -1,7 +1,5 @@ /* SPDX-License-Identifier: GPL-2.0-only */ -/* TODO: Check if this is still correct */ - #ifndef AMD_SABRINA_GPIO_H #define AMD_SABRINA_GPIO_H @@ -17,7 +15,7 @@ /* The following sections describe only the GPIOs defined for this SOC */ -#define SOC_GPIO_TOTAL_PINS 272 +#define SOC_GPIO_TOTAL_PINS 158 /* Bank 0: GPIO_0 - GPIO_63 */ #define GPIO_0 0 @@ -33,6 +31,8 @@ #define GPIO_10 10 #define GPIO_11 11 #define GPIO_12 12 +#define GPIO_13 13 +#define GPIO_14 14 #define GPIO_16 16 #define GPIO_17 17 #define GPIO_18 18 @@ -48,6 +48,8 @@ #define GPIO_30 30 #define GPIO_31 31 #define GPIO_32 32 +#define GPIO_38 38 +#define GPIO_39 39 #define GPIO_40 40 #define GPIO_42 42 @@ -59,11 +61,14 @@ #define GPIO_74 74 #define GPIO_75 75 #define GPIO_76 76 +#define GPIO_77 77 +#define GPIO_78 78 +#define GPIO_79 79 +#define GPIO_80 80 +#define GPIO_81 81 #define GPIO_84 84 #define GPIO_85 85 #define GPIO_86 86 -#define GPIO_87 87 -#define GPIO_88 88 #define GPIO_89 89 #define GPIO_90 90 #define GPIO_91 91 @@ -72,20 +77,20 @@ #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_120 120 -#define GPIO_121 121 /* Bank 2: GPIO_128 - GPIO_191 */ -#define GPIO_129 129 #define GPIO_130 130 #define GPIO_131 131 #define GPIO_132 132 +#define GPIO_135 135 +#define GPIO_136 136 +#define GPIO_137 137 +#define GPIO_138 138 +#define GPIO_139 139 #define GPIO_140 140 #define GPIO_141 141 #define GPIO_142 142 @@ -95,24 +100,11 @@ #define GPIO_146 146 #define GPIO_147 147 #define GPIO_148 148 - -/* remote GPIO bank: GPIO_256 - GPIO_271 */ -#define GPIO_256 256 -#define GPIO_257 257 -#define GPIO_258 258 -#define GPIO_259 259 -#define GPIO_260 260 -#define GPIO_261 261 -#define GPIO_262 262 -#define GPIO_263 263 -#define GPIO_264 264 -#define GPIO_265 265 -#define GPIO_266 266 -#define GPIO_267 267 -#define GPIO_268 268 -#define GPIO_269 269 -#define GPIO_270 270 -#define GPIO_271 271 +#define GPIO_153 153 +#define GPIO_154 154 +#define GPIO_155 155 +#define GPIO_156 156 +#define GPIO_157 157 /* IOMUX function names and values */ #define GPIO_0_IOMUX_PWR_BTN_L 0 @@ -125,50 +117,56 @@ #define GPIO_4_IOMUX_GPIOxx 0 #define GPIO_5_IOMUX_GPIOxx 0 #define GPIO_5_IOMUX_DEVSLP0 1 -#define GPIO_5_IOMUX_DEVSLP2 2 #define GPIO_6_IOMUX_GPIOxx 0 #define GPIO_6_IOMUX_DEVSLP1 1 -#define GPIO_6_IOMUX_DEVSLP3 2 +#define GPIO_6_IOMUX_MDIO0_SCL 2 #define GPIO_7_IOMUX_GPIOxx 0 -#define GPIO_7_IOMUX_ACP_I2S_SDIN 1 +#define GPIO_7_IOMUX_SVI_RST_L 1 #define GPIO_8_IOMUX_GPIOxx 0 -#define GPIO_8_IOMUX_ACP_I2S_LRCLK 1 +#define GPIO_8_IOMUX_TMU_CLK_OUT0 1 +#define GPIO_8_IOMUX_TMU_CLK_OUT1 2 #define GPIO_9_IOMUX_GPIOxx 0 -/* GPIO 9 IOMUX == 1 is reserved */ -#define GPIO_9_IOMUX_MDIO1_SCL 2 +/* GPIO 9 IOMUX == 1 is also GPIOxx */ +#define GPIO_9_IOMUX_MDIO2_SCL 2 #define GPIO_10_IOMUX_GPIOxx 0 -#define GPIO_10_IOMUX_S0A3 1 -/* GPIO 10 IOMUX == 2 is reserved */ -#define GPIO_10_IOMUX_MDIO0_SCL 3 +#define GPIO_10_IOMUX_S0A3_GPIO 1 #define GPIO_11_IOMUX_GPIOxx 0 #define GPIO_11_IOMUX_BLINK 1 +#define GPIO_11_IOMUX_MDIO3_SDA 2 #define GPIO_12_IOMUX_LLB_L 0 #define GPIO_12_IOMUX_GPIOxx 1 +#define GPIO_12_IOMUX_LPC_PME_L 2 +#define GPIO_13_IOMUX_USB_SBTX_0 0 +#define GPIO_13_IOMUX_GPIOxx 1 +#define GPIO_14_IOMUX_USB_SBTX_1 0 +#define GPIO_14_IOMUX_GPIOxx 1 #define GPIO_16_IOMUX_USB_OC0_L 0 #define GPIO_16_IOMUX_GPIOxx 1 #define GPIO_17_IOMUX_USB_OC1_L 0 #define GPIO_17_IOMUX_GPIOxx 1 #define GPIO_18_IOMUX_USB_OC2_L 0 #define GPIO_18_IOMUX_GPIOxx 1 -#define GPIO_19_IOMUX_SCL1 0 +#define GPIO_19_IOMUX_SMBUS1_SCL 0 #define GPIO_19_IOMUX_I2C3_SCL 1 -#define GPIO_19_IOMUX_GPIOxx 2 -#define GPIO_20_IOMUX_SDA1 0 +/* GPIO 19 IOMUX == 2 is also I2C3_SCL */ +#define GPIO_19_IOMUX_GPIOxx 3 +#define GPIO_20_IOMUX_SMBUS1_SDA 0 #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_EMMC_CMD 1 +/* GPIO 19 IOMUX == 2 is also I2C3_SDA */ +#define GPIO_20_IOMUX_GPIOxx 3 +#define GPIO_21_IOMUX_ESPI_RESET_L 0 +#define GPIO_21_IOMUX_KBRST_L 1 #define GPIO_21_IOMUX_GPIOxx 2 -#define GPIO_22_IOMUX_LPC_PME_L 0 -#define GPIO_22_IOMUX_EMMC_PWR_CTRL 1 +#define GPIO_22_IOMUX_LDRQ0_L 0 +#define GPIO_22_IOMUX_ESPI_ALERT_D1 1 #define GPIO_22_IOMUX_GPIOxx 2 +#define GPIO_22_IOMUX_SD0_CMD 3 #define GPIO_23_IOMUX_AC_PRES 0 -/* GPIO 23 IOMUX == 1 is reserved */ -#define GPIO_23_IOMUX_MDIO1_SDA 2 -#define GPIO_23_IOMUX_GPIOxx 3 +#define GPIO_23_IOMUX_GPIOxx 1 +#define GPIO_23_IOMUX_MDIO2_SDA 2 #define GPIO_24_IOMUX_USB_OC3_L 0 #define GPIO_24_IOMUX_GPIOxx 1 -#define GPIO_26_IOMUX_PCIE_RST_L 0 +#define GPIO_26_IOMUX_PCIE_RST0_L 0 #define GPIO_26_IOMUX_GPIOxx 1 #define GPIO_27_IOMUX_GPIOxx 0 #define GPIO_27_IOMUX_PCIE_RST1_L 1 @@ -178,44 +176,62 @@ #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_31_IOMUX_GPIOxx 1 +#define GPIO_32_IOMUX_GPIOxx 0 +#define GPIO_32_IOMUX_LPC_RST_L 1 +#define GPIO_32_IOMUX_MDIO3_SCL 2 +#define GPIO_38_IOMUX_CLK_REQ5_L 0 +#define GPIO_38_IOMUX_GPIOxx 1 +#define GPIO_38_IOMUX_MDIO1_SDA 2 +#define GPIO_39_IOMUX_CLK_REQ6_L 0 +#define GPIO_39_IOMUX_GPIOxx 1 +#define GPIO_39_IOMUX_MDIO1_SCL 2 #define GPIO_40_IOMUX_GPIOxx 0 -/* GPIO 40 IOMUX == 1 is reserved */ +/* GPIO 40 IOMUX == 1 is also GPIOxx */ #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_70_IOMUX_GPIOxx 0 -#define GPIO_70_IOMUX_EMMC_CLK 1 -#define GPIO_70_IOMUX_SD_CLK 2 -#define GPIO_74_IOMUX_LPCCLK0 0 -#define GPIO_74_IOMUX_EMMC_DATA4 1 -#define GPIO_74_IOMUX_GPIOxx 2 -#define GPIO_75_IOMUX_LPCCLK1 0 -#define GPIO_75_IOMUX_EMMC_DATA6 1 +#define GPIO_68_IOMUX_SPI1_DAT2 0 +#define GPIO_68_IOMUX_GPIOxx 1 +#define GPIO_68_IOMUX_SERIRQ 2 +#define GPIO_68_IOMUX_SD0_DATA3 3 +#define GPIO_69_IOMUX_SPI1_DAT3 0 +#define GPIO_69_IOMUX_GPIOxx 1 +#define GPIO_69_IOMUX_SD0_CLK 2 +#define GPIO_70_IOMUX_SPI2_CLK 0 +#define GPIO_70_IOMUX_GPIOxx 1 +#define GPIO_74_IOMUX_SPI1_CS1_L 0 +#define GPIO_74_IOMUX_GPIOxx 1 +#define GPIO_74_IOMUX_GFX10_CAC_IPIO0 2 +#define GPIO_75_IOMUX_SPI2_CS1_L 0 +#define GPIO_75_IOMUX_LPCCLK1 1 #define GPIO_75_IOMUX_GPIOxx 2 #define GPIO_76_IOMUX_SPI_ROM_GNT 0 #define GPIO_76_IOMUX_GPIOxx 1 +#define GPIO_77_IOMUX_SPI1_CLK 0 +#define GPIO_77_IOMUX_GPIOxx 1 +/* GPIO 77 IOMUX == 2 is also GPIOxx */ +#define GPIO_77_IOMUX_SD0_DATA0 3 +#define GPIO_78_IOMUX_SPI1_CS2_L 0 +#define GPIO_78_IOMUX_GPIOxx 1 +#define GPIO_78_IOMUX_GFX10_CAC_IPIO1 2 +#define GPIO_78_IOMUX_SD0_DATA1 3 +#define GPIO_79_IOMUX_SPI1_CS3_L 0 +#define GPIO_79_IOMUX_GPIOxx 1 +#define GPIO_79_IOMUX_LPC_CLKRUN_L 2 +#define GPIO_80_IOMUX_SPI1_DAT1 0 +#define GPIO_80_IOMUX_GPIOxx 1 +/* GPIO 80 IOMUX == 2 is also GPIOxx */ +#define GPIO_80_IOMUX_SD0_DATA2 3 +#define GPIO_81_IOMUX_SPI1_DAT0 0 +#define GPIO_81_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_86_IOMUX_SPI_CLK 2 -#define GPIO_87_IOMUX_SERIRQ 0 -#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_EMMC_DATA5 1 -#define GPIO_88_IOMUX_GPIOxx 2 +#define GPIO_86_IOMUX_GPIOxx 0 +#define GPIO_86_IOMUX_LPC_SMI_L 1 #define GPIO_89_IOMUX_GENINT1_L 0 #define GPIO_89_IOMUX_PSP_INTR0 1 #define GPIO_89_IOMUX_GPIOxx 2 @@ -228,45 +244,26 @@ #define GPIO_92_IOMUX_SATA_IS0_L 1 #define GPIO_92_IOMUX_SATA_ZP0_L 2 #define GPIO_92_IOMUX_GPIOxx 3 -#define GPIO_104_IOMUX_LAD0 0 -#define GPIO_104_IOMUX_SPI2_DO_ESPI2_D0 1 -#define GPIO_104_IOMUX_SD0_DATA0 2 -#define GPIO_104_IOMUX_GPIOxx 3 -#define GPIO_105_IOMUX_LAD1 0 -#define GPIO_105_IOMUX_SPI2_DI_ESPI2_D1 1 -#define GPIO_105_IOMUX_SD0_DATA1 2 -#define GPIO_105_IOMUX_GPIOxx 3 -#define GPIO_106_IOMUX_LAD2 0 -#define GPIO_106_IOMUX_SPI2_WP_L_ESPI2_D2 1 -#define GPIO_106_IOMUX_SD0_DATA2 2 -#define GPIO_106_IOMUX_GPIOxx 3 -#define GPIO_107_IOMUX_LAD3 0 -#define GPIO_107_IOMUX_SPI2_HOLD_L_ESPI2_D3 1 -#define GPIO_107_IOMUX_SD0_DATA3 2 -#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_104_IOMUX_SPI2_DAT0 0 +#define GPIO_104_IOMUX_GPIOxx 1 +#define GPIO_105_IOMUX_SPI2_DAT1 0 +#define GPIO_105_IOMUX_GPIOxx 1 +#define GPIO_106_IOMUX_SPI2_DAT2 0 +#define GPIO_106_IOMUX_GPIOxx 1 +#define GPIO_107_IOMUX_SPI2_DAT3 0 +#define GPIO_107_IOMUX_GPIOxx 1 +#define GPIO_113_IOMUX_SMBUS0_SCL 0 #define GPIO_113_IOMUX_I2C2_SCL 1 -#define GPIO_113_IOMUX_GPIOxx 2 -#define GPIO_114_IOMUX_SDA0 0 +#define GPIO_113_IOMUX_I3C2_SCL 2 +#define GPIO_113_IOMUX_GPIOxx 3 +#define GPIO_114_IOMUX_SMBUS0_SDA 0 #define GPIO_114_IOMUX_I2C2_SDA 1 -#define GPIO_114_IOMUX_GPIOxx 2 +#define GPIO_114_IOMUX_I3C2_SDA 2 +#define GPIO_114_IOMUX_GPIOxx 3 #define GPIO_115_IOMUX_CLK_REQ1_L 0 #define GPIO_115_IOMUX_GPIOxx 1 #define GPIO_116_IOMUX_CLK_REQ2_L 0 #define GPIO_116_IOMUX_GPIOxx 1 -#define GPIO_120_IOMUX_CLK_REQ5_L 0 -#define GPIO_120_IOMUX_GPIOxx 1 -#define GPIO_121_IOMUX_CLK_REQ6_L 0 -#define GPIO_121_IOMUX_GPIOxx 1 -#define GPIO_129_IOMUX_KBRST_L 0 -/* GPIO 129 IOMUX == 1 is reserved */ -#define GPIO_129_IOMUX_GPIOxx 2 #define GPIO_130_IOMUX_SATA_ACT_L 0 #define GPIO_130_IOMUX_GPIOxx 1 #define GPIO_131_IOMUX_CLK_REQ3_L 0 @@ -276,48 +273,52 @@ #define GPIO_132_IOMUX_CLK_REQ4_L 0 #define GPIO_132_IOMUX_OSCIN 1 #define GPIO_132_IOMUX_GPIOxx 2 +#define GPIO_135_IOMUX_GPIOxx 0 +#define GPIO_135_IOMUX_UART2_CTS_L 1 +#define GPIO_135_IOMUX_UART3_TXD 2 +#define GPIO_136_IOMUX_GPIOxx 0 +#define GPIO_136_IOMUX_UART2_RXD 1 +#define GPIO_137_IOMUX_GPIOxx 0 +#define GPIO_137_IOMUX_UART2_RTS_L 1 +#define GPIO_137_IOMUX_UART3_RXD 2 +#define GPIO_138_IOMUX_GPIOxx 0 +#define GPIO_138_IOMUX_UART2_TXD 1 +#define GPIO_139_IOMUX_GPIOxx 0 +#define GPIO_139_IOMUX_UART2_INTR 1 #define GPIO_140_IOMUX_GPIOxx 0 #define GPIO_140_IOMUX_UART0_CTS_L 1 #define GPIO_140_IOMUX_UART1_TXD 2 -#define GPIO_140_IOMUX_SD0_DATA1 3 #define GPIO_141_IOMUX_GPIOxx 0 #define GPIO_141_IOMUX_UART0_RXD 1 -#define GPIO_141_IOMUX_SD0_DATA3 2 #define GPIO_142_IOMUX_GPIOxx 0 #define GPIO_142_IOMUX_UART0_RTS_L 1 #define GPIO_142_IOMUX_UART1_RXD 2 -#define GPIO_142_IOMUX_SD0_DATA0 3 #define GPIO_143_IOMUX_GPIOxx 0 #define GPIO_143_IOMUX_UART0_TXD 1 -#define GPIO_143_IOMUX_SD0_DATA2 2 #define GPIO_144_IOMUX_GPIOxx 0 -/* GPIO 144 IOMUX == 1 is reserved */ +#define GPIO_144_IOMUX_SHUTDOWN_L 1 #define GPIO_144_IOMUX_UART0_INTR 2 #define GPIO_145_IOMUX_I2C0_SCL 0 -#define GPIO_145_IOMUX_GPIOxx 1 +#define GPIO_145_IOMUX_I3C0_SCL 1 +#define GPIO_145_IOMUX_GPIOxx 2 #define GPIO_146_IOMUX_I2C0_SDA 0 -#define GPIO_146_IOMUX_GPIOxx 1 +#define GPIO_146_IOMUX_I3C0_SDA 1 +#define GPIO_146_IOMUX_GPIOxx 2 #define GPIO_147_IOMUX_I2C1_SCL 0 -#define GPIO_147_IOMUX_GPIOxx 1 +#define GPIO_147_IOMUX_I3C1_SCL 1 +#define GPIO_147_IOMUX_GPIOxx 2 #define GPIO_148_IOMUX_I2C1_SDA 0 -#define GPIO_148_IOMUX_GPIOxx 1 - -/* Remote GPIOs */ -#define GPIO_256_IOMUX_GPIOxx 1 -#define GPIO_257_IOMUX_GPIOxx 1 -#define GPIO_258_IOMUX_GPIOxx 1 -#define GPIO_259_IOMUX_GPIOxx 1 -#define GPIO_260_IOMUX_GPIOxx 1 -#define GPIO_261_IOMUX_GPIOxx 1 -#define GPIO_262_IOMUX_GPIOxx 1 -#define GPIO_263_IOMUX_GPIOxx 1 -#define GPIO_264_IOMUX_GPIOxx 1 -#define GPIO_265_IOMUX_GPIOxx 1 -#define GPIO_266_IOMUX_GPIOxx 1 -#define GPIO_267_IOMUX_GPIOxx 1 -#define GPIO_268_IOMUX_GPIOxx 1 -#define GPIO_269_IOMUX_GPIOxx 1 -#define GPIO_270_IOMUX_GPIOxx 1 -#define GPIO_271_IOMUX_GPIOxx 1 +#define GPIO_148_IOMUX_I3C1_SDA 1 +#define GPIO_148_IOMUX_GPIOxx 2 +#define GPIO_153_IOMUX_GPIOxx 0 +#define GPIO_153_IOMUX_UART4_CTS_L 1 +#define GPIO_154_IOMUX_GPIOxx 0 +#define GPIO_154_IOMUX_UART4_RTS_L 1 +#define GPIO_155_IOMUX_GPIOxx 0 +#define GPIO_155_IOMUX_UART4_RXD 1 +#define GPIO_156_IOMUX_GPIOxx 0 +#define GPIO_156_IOMUX_UART4_TXD 1 +#define GPIO_157_IOMUX_GPIOxx 0 +#define GPIO_157_IOMUX_UART4_INTR 1 #endif /* AMD_SABRINA_GPIO_H */ |