summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/soc/amd/cezanne/include/soc/gpio.h285
1 files changed, 285 insertions, 0 deletions
diff --git a/src/soc/amd/cezanne/include/soc/gpio.h b/src/soc/amd/cezanne/include/soc/gpio.h
new file mode 100644
index 0000000000..a97eee8d4d
--- /dev/null
+++ b/src/soc/amd/cezanne/include/soc/gpio.h
@@ -0,0 +1,285 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#ifndef AMD_CEZANNE_GPIO_H
+#define AMD_CEZANNE_GPIO_H
+
+#define GPIO_DEVICE_NAME "AMD0030"
+#define GPIO_DEVICE_DESC "GPIO Controller"
+
+#ifndef __ACPI__
+#include <soc/iomap.h>
+#include <amdblocks/gpio_banks.h>
+
+/* The following sections describe only the GPIOs defined for this SOC */
+
+#define SOC_GPIO_TOTAL_PINS 149
+
+/* Bank 0: GPIO_0 - GPIO_63 */
+#define GPIO_0 0
+#define GPIO_1 1
+#define GPIO_2 2
+#define GPIO_3 3
+#define GPIO_4 4
+#define GPIO_5 5
+#define GPIO_6 6
+#define GPIO_7 7
+#define GPIO_8 8
+#define GPIO_9 9
+#define GPIO_10 10
+#define GPIO_11 11
+#define GPIO_12 12
+#define GPIO_16 16
+#define GPIO_17 17
+#define GPIO_18 18
+#define GPIO_19 19
+#define GPIO_20 20
+#define GPIO_21 21
+#define GPIO_22 22
+#define GPIO_23 23
+#define GPIO_24 24
+#define GPIO_26 26
+#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_67 67
+#define GPIO_68 68
+#define GPIO_69 69
+#define GPIO_70 70
+#define GPIO_74 74
+#define GPIO_75 75
+#define GPIO_76 76
+#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
+#define GPIO_92 92
+#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_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_140 140
+#define GPIO_141 141
+#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
+
+/* IOMUX function names and values */
+#define GPIO_0_IOMUX_PWR_BTN_L 0
+#define GPIO_0_IOMUX_GPIOxx 1
+#define GPIO_1_IOMUX_SYS_RESET_L 0
+#define GPIO_1_IOMUX_GPIOxx 1
+#define GPIO_2_IOMUX_WAKE_L 0
+#define GPIO_2_IOMUX_GPIOxx 1
+#define GPIO_3_IOMUX_GPIOxx 0
+#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_7_IOMUX_GPIOxx 0
+#define GPIO_7_IOMUX_ACP_I2S_SDIN 1
+#define GPIO_8_IOMUX_GPIOxx 0
+#define GPIO_8_IOMUX_ACP_I2S_LRCLK 1
+#define GPIO_9_IOMUX_GPIOxx 0
+/* GPIO 9 IOMUX == 1 is reserved */
+#define GPIO_9_IOMUX_MDIO1_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_11_IOMUX_GPIOxx 0
+#define GPIO_11_IOMUX_BLINK 1
+#define GPIO_12_IOMUX_LLB_L 0
+#define GPIO_12_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_I2C3_SCL 1
+#define GPIO_19_IOMUX_GPIOxx 2
+#define GPIO_20_IOMUX_SDA1 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
+#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_GPIOxx 2
+#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_24_IOMUX_USB_OC3_L 0
+#define GPIO_24_IOMUX_GPIOxx 1
+#define GPIO_26_IOMUX_PCIE_RST_L 0
+#define GPIO_26_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_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
+/* GPIO 40 IOMUX == 1 is reserved */
+#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_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_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_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_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_EMMC_SPI2_WP_L_ESPI2_D2 1
+#define GPIO_106_IOMUX_EMMC_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_113_IOMUX_I2C2_SCL 1
+#define GPIO_113_IOMUX_GPIOxx 2
+#define GPIO_114_IOMUX_SDA0 0
+#define GPIO_114_IOMUX_I2C2_SDA 1
+#define GPIO_114_IOMUX_GPIOxx 2
+#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
+#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_REQ4_L 0
+#define GPIO_132_IOMUX_OSCIN 1
+#define GPIO_132_IOMUX_GPIOxx 2
+#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_UART0_INTR 2
+#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
+
+#endif /* !__ACPI__ */
+#endif /* AMD_CEZANNE_GPIO_H */