/*
 * Copyright (c) 2018-2019, Intel Corporation
 *
 * SPDX-License-Identifier: Apache-2.0
 */

/**
 * @file
 * @brief GPIO pins macros for the Apollo Lake SoC
 *
 * This header file is used to specify the GPIO pins for
 * the Apollo Lake SoC.
 */

#ifndef __SOC_GPIO_H_
#define __SOC_GPIO_H_

#define APL_GPIO_DEV_N_0		DT_APL_GPIO_LABEL_N_0
#define APL_GPIO_0			00
#define APL_GPIO_1			01
#define APL_GPIO_2			02
#define APL_GPIO_3			03
#define APL_GPIO_4			04
#define APL_GPIO_5			05
#define APL_GPIO_6			06
#define APL_GPIO_7			07
#define APL_GPIO_8			08
#define APL_GPIO_9			09
#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_APL_GPIO_LABEL_N_1
#define APL_GPIO_32			00
#define APL_GPIO_33			01
#define APL_GPIO_34			02
#define APL_GPIO_35			03
#define APL_GPIO_36			04
#define APL_GPIO_37			05
#define APL_GPIO_38			06
#define APL_GPIO_39			07
#define APL_GPIO_40			08
#define APL_GPIO_41			09
#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_APL_GPIO_LABEL_N_2
#define APL_GPIO_TMS			00
#define APL_GPIO_TDI			01
#define APL_GPIO_CX_PMODE		02
#define APL_GPIO_CX_PREQ_B		03
#define APL_GPIO_JTAGX			04
#define APL_GPIO_CX_PRDY_B		05
#define APL_GPIO_TDO			06
#define APL_GPIO_CNV_BRI_DT		07
#define APL_GPIO_CNV_BRI_RSP		08
#define APL_GPIO_CNV_RGI_DT		09
#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_APL_GPIO_LABEL_NW_0
#define APL_GPIO_187			00
#define APL_GPIO_188			01
#define APL_GPIO_189			02
#define APL_GPIO_190			03
#define APL_GPIO_191			04
#define APL_GPIO_192			05
#define APL_GPIO_193			06
#define APL_GPIO_194			07
#define APL_GPIO_195			08
#define APL_GPIO_196			09
#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_APL_GPIO_LABEL_NW_1
#define APL_GPIO_PMIC_I2C_SCL		00
#define APL_GPIO_PMIC_I2C_SDA		01
#define APL_GPIO_74			02
#define APL_GPIO_75			03
#define APL_GPIO_76			04
#define APL_GPIO_77			05
#define APL_GPIO_78			06
#define APL_GPIO_79			07
#define APL_GPIO_80			08
#define APL_GPIO_81			09
#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_APL_GPIO_LABEL_NW_2
#define APL_GPIO_109			00
#define APL_GPIO_110			01
#define APL_GPIO_111			02
#define APL_GPIO_112			03
#define APL_GPIO_113			04
#define APL_GPIO_116			05
#define APL_GPIO_117			06
#define APL_GPIO_118			07
#define APL_GPIO_119			08
#define APL_GPIO_120			09
#define APL_GPIO_121			10
#define APL_GPIO_122			11
#define APL_GPIO_123			12

#define APL_GPIO_DEV_W_0		DT_APL_GPIO_LABEL_W_0
#define APL_GPIO_124			00
#define APL_GPIO_125			01
#define APL_GPIO_126			02
#define APL_GPIO_127			03
#define APL_GPIO_128			04
#define APL_GPIO_129			05
#define APL_GPIO_130			06
#define APL_GPIO_131			07
#define APL_GPIO_132			08
#define APL_GPIO_133			09
#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_APL_GPIO_LABEL_W_1
#define APL_GPIO_OSC_CLK_OUT_2		00
#define APL_GPIO_OSC_CLK_OUT_3		01
#define APL_GPIO_OSC_CLK_OUT_4		02
#define APL_GPIO_PMU_AC_PRESENT		03
#define APL_GPIO_PMU_BATLOW_B		04
#define APL_GPIO_PMU_PLTRST_B		05
#define APL_GPIO_PMU_PWRBTN_B		06
#define APL_GPIO_PMU_RESETBUTTON_B	07
#define APL_GPIO_PMU_SLP_S0_B		08
#define APL_GPIO_PMU_SLP_S3_B		09
#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_APL_GPIO_LABEL_SW_0
#define APL_GPIO_205			00
#define APL_GPIO_206			01
#define APL_GPIO_207			02
#define APL_GPIO_208			03
#define APL_GPIO_156			04
#define APL_GPIO_157			05
#define APL_GPIO_158			06
#define APL_GPIO_159			07
#define APL_GPIO_160			08
#define APL_GPIO_161			09
#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_APL_GPIO_LABEL_SW_1
#define APL_GPIO_SMB_CLK		00
#define APL_GPIO_SMB_DATA		01
#define APL_GPIO_LPC_ILB_SERIRQ		02
#define APL_GPIO_LPC_CLKOUT0		03
#define APL_GPIO_LPC_CLKOUT1		04
#define APL_GPIO_LPC_AD0		05
#define APL_GPIO_LPC_AD1		06
#define APL_GPIO_LPC_AD2		07
#define APL_GPIO_LPC_AD3		08
#define APL_GPIO_LPC_CLKRUNB		09
#define APL_GPIO_LPC_FRAMEB		10

#endif /* __SOC_GPIO_H_ */
