| /* |
| * 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_ */ |