/* * Copyright (c) 2018-2019, Intel Corporation * * SPDX-License-Identifier: Apache-2.0 */ /** * @file * @brief GPIO macros for the Apollo Lake SoC * * This header file is used to specify the GPIO pins and macros for * the Apollo Lake SoC. */ #ifndef __SOC_GPIO_H_ #define __SOC_GPIO_H_ #define REG_PAD_OWNER_BASE 0x0020 #define REG_GPI_INT_STS_BASE 0x0100 #define PAD_CFG0_PMODE_MASK (0x0F << 10) #define APL_GPIO_DEV_N_0 DT_NODELABEL(gpio_n_000_031) #define APL_GPIO_0 0 #define APL_GPIO_1 1 #define APL_GPIO_2 2 #define APL_GPIO_3 3 #define APL_GPIO_4 4 #define APL_GPIO_5 5 #define APL_GPIO_6 6 #define APL_GPIO_7 7 #define APL_GPIO_8 8 #define APL_GPIO_9 9 #define APL_GPIO_10 10 #define APL_GPIO_11 11 #define APL_GPIO_12 12 #define APL_GPIO_13 13 #define APL_GPIO_14 14 #define APL_GPIO_15 15 #define APL_GPIO_16 16 #define APL_GPIO_17 17 #define APL_GPIO_18 18 #define APL_GPIO_19 19 #define APL_GPIO_20 20 #define APL_GPIO_21 21 #define APL_GPIO_22 22 #define APL_GPIO_23 23 #define APL_GPIO_24 24 #define APL_GPIO_25 25 #define APL_GPIO_26 26 #define APL_GPIO_27 27 #define APL_GPIO_28 28 #define APL_GPIO_29 29 #define APL_GPIO_30 30 #define APL_GPIO_31 31 #define APL_GPIO_DEV_N_1 DT_NODELABEL(gpio_n_032_063) #define APL_GPIO_32 0 #define APL_GPIO_33 1 #define APL_GPIO_34 2 #define APL_GPIO_35 3 #define APL_GPIO_36 4 #define APL_GPIO_37 5 #define APL_GPIO_38 6 #define APL_GPIO_39 7 #define APL_GPIO_40 8 #define APL_GPIO_41 9 #define APL_GPIO_42 10 #define APL_GPIO_43 11 #define APL_GPIO_44 12 #define APL_GPIO_45 13 #define APL_GPIO_46 14 #define APL_GPIO_47 15 #define APL_GPIO_48 16 #define APL_GPIO_49 17 #define APL_GPIO_62 18 #define APL_GPIO_63 19 #define APL_GPIO_64 20 #define APL_GPIO_65 21 #define APL_GPIO_66 22 #define APL_GPIO_67 23 #define APL_GPIO_68 24 #define APL_GPIO_69 25 #define APL_GPIO_70 26 #define APL_GPIO_71 27 #define APL_GPIO_72 28 #define APL_GPIO_73 29 #define APL_GPIO_TCK 30 #define APL_GPIO_TRST_B 31 #define APL_GPIO_DEV_N_2 DT_NODELABEL(gpio_n_064_077) #define APL_GPIO_TMS 0 #define APL_GPIO_TDI 1 #define APL_GPIO_CX_PMODE 2 #define APL_GPIO_CX_PREQ_B 3 #define APL_GPIO_JTAGX 4 #define APL_GPIO_CX_PRDY_B 5 #define APL_GPIO_TDO 6 #define APL_GPIO_CNV_BRI_DT 7 #define APL_GPIO_CNV_BRI_RSP 8 #define APL_GPIO_CNV_RGI_DT 9 #define APL_GPIO_CNV_RGI_RSP 10 #define APL_GPIO_SVID0_ALERT_B 11 #define APL_GPIO_SVOD0_DATA 12 #define APL_GPIO_SVOD0_CLK 13 #define APL_GPIO_DEV_NW_0 DT_NODELABEL(gpio_nw_000_031) #define APL_GPIO_187 0 #define APL_GPIO_188 1 #define APL_GPIO_189 2 #define APL_GPIO_190 3 #define APL_GPIO_191 4 #define APL_GPIO_192 5 #define APL_GPIO_193 6 #define APL_GPIO_194 7 #define APL_GPIO_195 8 #define APL_GPIO_196 9 #define APL_GPIO_197 10 #define APL_GPIO_198 11 #define APL_GPIO_199 12 #define APL_GPIO_200 13 #define APL_GPIO_201 14 #define APL_GPIO_202 15 #define APL_GPIO_203 16 #define APL_GPIO_204 17 #define APL_GPIO_PMC_SPI_FS0 18 #define APL_GPIO_PMC_SPI_FS1 19 #define APL_GPIO_PMC_SPI_FS2 20 #define APL_GPIO_PMC_SPI_RXD 21 #define APL_GPIO_PMC_SPI_TXC 22 #define APL_GPIO_PMC_SPI_CLK 23 #define APL_GPIO_PMIC_PWRGOOD 24 #define APL_GPIO_PMIC_RESET_B 25 #define APL_GPIO_213 26 #define APL_GPIO_214 27 #define APL_GPIO_215 28 #define APL_GPIO_PMIC_THERMTRIP_B 29 #define APL_GPIO_PMIC_STDBY 30 #define APL_GPIO_PROCHOT_B 31 #define APL_GPIO_DEV_NW_1 DT_NODELABEL(gpio_nw_032_063) #define APL_GPIO_PMIC_I2C_SCL 0 #define APL_GPIO_PMIC_I2C_SDA 1 #define APL_GPIO_74 2 #define APL_GPIO_75 3 #define APL_GPIO_76 4 #define APL_GPIO_77 5 #define APL_GPIO_78 6 #define APL_GPIO_79 7 #define APL_GPIO_80 8 #define APL_GPIO_81 9 #define APL_GPIO_82 10 #define APL_GPIO_83 11 #define APL_GPIO_84 12 #define APL_GPIO_85 13 #define APL_GPIO_86 14 #define APL_GPIO_87 15 #define APL_GPIO_88 16 #define APL_GPIO_89 17 #define APL_GPIO_90 18 #define APL_GPIO_91 19 #define APL_GPIO_92 20 #define APL_GPIO_97 21 #define APL_GPIO_98 22 #define APL_GPIO_99 23 #define APL_GPIO_100 24 #define APL_GPIO_101 25 #define APL_GPIO_102 26 #define APL_GPIO_103 27 #define APL_GPIO_FST_SPI_CLK_FB 28 #define APL_GPIO_104 29 #define APL_GPIO_105 30 #define APL_GPIO_106 31 #define APL_GPIO_DEV_NW_2 DT_NODELABEL(gpio_nw_064_076) #define APL_GPIO_109 0 #define APL_GPIO_110 1 #define APL_GPIO_111 2 #define APL_GPIO_112 3 #define APL_GPIO_113 4 #define APL_GPIO_116 5 #define APL_GPIO_117 6 #define APL_GPIO_118 7 #define APL_GPIO_119 8 #define APL_GPIO_120 9 #define APL_GPIO_121 10 #define APL_GPIO_122 11 #define APL_GPIO_123 12 #define APL_GPIO_DEV_W_0 DT_NODELABEL(gpio_w_000_031) #define APL_GPIO_124 0 #define APL_GPIO_125 1 #define APL_GPIO_126 2 #define APL_GPIO_127 3 #define APL_GPIO_128 4 #define APL_GPIO_129 5 #define APL_GPIO_130 6 #define APL_GPIO_131 7 #define APL_GPIO_132 8 #define APL_GPIO_133 9 #define APL_GPIO_134 10 #define APL_GPIO_135 11 #define APL_GPIO_136 12 #define APL_GPIO_137 13 #define APL_GPIO_138 14 #define APL_GPIO_139 15 #define APL_GPIO_146 16 #define APL_GPIO_147 17 #define APL_GPIO_148 18 #define APL_GPIO_149 19 #define APL_GPIO_150 20 #define APL_GPIO_151 21 #define APL_GPIO_152 22 #define APL_GPIO_153 23 #define APL_GPIO_154 24 #define APL_GPIO_155 25 #define APL_GPIO_209 26 #define APL_GPIO_210 27 #define APL_GPIO_211 28 #define APL_GPIO_212 29 #define APL_GPIO_OSC_CLK_OUT_0 30 #define APL_GPIO_OSC_CLK_OUT_1 31 #define APL_GPIO_DEV_W_1 DT_NODELABEL(gpio_w_032_046) #define APL_GPIO_OSC_CLK_OUT_2 0 #define APL_GPIO_OSC_CLK_OUT_3 1 #define APL_GPIO_OSC_CLK_OUT_4 2 #define APL_GPIO_PMU_AC_PRESENT 3 #define APL_GPIO_PMU_BATLOW_B 4 #define APL_GPIO_PMU_PLTRST_B 5 #define APL_GPIO_PMU_PWRBTN_B 6 #define APL_GPIO_PMU_RESETBUTTON_B 7 #define APL_GPIO_PMU_SLP_S0_B 8 #define APL_GPIO_PMU_SLP_S3_B 9 #define APL_GPIO_PMU_SLP_S4_B 10 #define APL_GPIO_PMU_SUSCLK 11 #define APL_GPIO_PMU_WAKE_B 12 #define APL_GPIO_SUS_STAT_B 13 #define APL_GPIO_SUSPWRDNACK 14 #define APL_GPIO_DEV_SW_0 DT_NODELABEL(gpio_sw_000_031) #define APL_GPIO_205 0 #define APL_GPIO_206 1 #define APL_GPIO_207 2 #define APL_GPIO_208 3 #define APL_GPIO_156 4 #define APL_GPIO_157 5 #define APL_GPIO_158 6 #define APL_GPIO_159 7 #define APL_GPIO_160 8 #define APL_GPIO_161 9 #define APL_GPIO_162 10 #define APL_GPIO_163 11 #define APL_GPIO_164 12 #define APL_GPIO_165 13 #define APL_GPIO_166 14 #define APL_GPIO_167 15 #define APL_GPIO_168 16 #define APL_GPIO_169 17 #define APL_GPIO_170 18 #define APL_GPIO_171 19 #define APL_GPIO_172 20 #define APL_GPIO_179 21 #define APL_GPIO_173 22 #define APL_GPIO_174 23 #define APL_GPIO_175 24 #define APL_GPIO_176 25 #define APL_GPIO_177 26 #define APL_GPIO_178 27 #define APL_GPIO_186 28 #define APL_GPIO_182 29 #define APL_GPIO_183 30 #define APL_GPIO_SMB_ALERTB 31 #define APL_GPIO_DEV_SW_1 DT_NODELABEL(gpio_sw_032_042) #define APL_GPIO_SMB_CLK 0 #define APL_GPIO_SMB_DATA 1 #define APL_GPIO_LPC_ILB_SERIRQ 2 #define APL_GPIO_LPC_CLKOUT0 3 #define APL_GPIO_LPC_CLKOUT1 4 #define APL_GPIO_LPC_AD0 5 #define APL_GPIO_LPC_AD1 6 #define APL_GPIO_LPC_AD2 7 #define APL_GPIO_LPC_AD3 8 #define APL_GPIO_LPC_CLKRUNB 9 #define APL_GPIO_LPC_FRAMEB 10 #define GPIO_INTEL_NR_SUBDEVS 10 #define REG_PAD_BASE_ADDR 0x000C #define REG_GPI_INT_EN_BASE 0x0110 #define REG_PAD_HOST_SW_OWNER 0x0080 #define GPIO_REG_BASE(reg_base) reg_base #define GPIO_PAD_BASE(reg_base) \ (sys_read32(reg_base + REG_PAD_BASE_ADDR)) #define GPIO_PAD_OWNERSHIP(raw_pin, pin_offset) \ REG_PAD_OWNER_BASE + ((raw_pin >> 3) << 2) #define GPIO_OWNERSHIP_BIT(raw_pin) (raw_pin % 8) #define GPIO_RAW_PIN(pin, pin_offset) (pin_offset + pin) #define GPIO_INTERRUPT_BASE(cfg) \ ((cfg->pin_offset >> 5) << 2) #define GPIO_BASE(cfg) 0 #define PIN_OFFSET 8U #endif /* __SOC_GPIO_H_ */