/** @file GPIO definition table for KabylakeRvp3 Copyright (c) 2017, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #ifndef _IO_EXPANDER_H_ #define _IO_EXPANDER_H_ typedef struct { UINT32 IoExpanderNumber : 1; // IO Expander Number (0/1) UINT32 GpioPinNumber : 5; // GPIO Pin Number (0 to 23) UINT32 GpioDirection : 1; // GPIO Pin Direction (Input/Output) UINT32 GpioLevel : 1; // GPIO Pin Output Level (High/Low) UINT32 GpioInversion : 1; // GPIO Pin Inversion (Enabled/Disabled) UINT32 Reserved : 23; // Reserved } IO_EXPANDER_GPIO_CONFIG; //SKL PCH LP GPIO Expander Number #define IO_EXPANDER_0 0 #define IO_EXPANDER_1 1 //SKL PCH LP GPIO Pin Mapping #define IO_EXPANDER_GPIO_0 0 // P00 #define IO_EXPANDER_GPIO_1 1 // P01 #define IO_EXPANDER_GPIO_2 2 // P02 #define IO_EXPANDER_GPIO_3 3 // P03 #define IO_EXPANDER_GPIO_4 4 // P04 #define IO_EXPANDER_GPIO_5 5 // P05 #define IO_EXPANDER_GPIO_6 6 // P06 #define IO_EXPANDER_GPIO_7 7 // P07 #define IO_EXPANDER_GPIO_8 8 // P10 #define IO_EXPANDER_GPIO_9 9 // P11 #define IO_EXPANDER_GPIO_10 10 // P12 #define IO_EXPANDER_GPIO_11 11 // P13 #define IO_EXPANDER_GPIO_12 12 // P14 #define IO_EXPANDER_GPIO_13 13 // P15 #define IO_EXPANDER_GPIO_14 14 // P16 #define IO_EXPANDER_GPIO_15 15 // P17 #define IO_EXPANDER_GPIO_16 16 // P20 #define IO_EXPANDER_GPIO_17 17 // P21 #define IO_EXPANDER_GPIO_18 18 // P22 #define IO_EXPANDER_GPIO_19 19 // P23 #define IO_EXPANDER_GPIO_20 20 // P24 #define IO_EXPANDER_GPIO_21 21 // P25 #define IO_EXPANDER_GPIO_22 22 // P26 #define IO_EXPANDER_GPIO_23 23 // P27 //SKL PCH LP GPIO Expander GPIO Direction #define IO_EXPANDER_GPIO_OUTPUT 0 #define IO_EXPANDER_GPIO_INPUT 1 //SKL PCH LP GPIO Expaner GPIO Output Level #define IO_EXPANDER_GPO_LEVEL_LOW 0 #define IO_EXPANDER_GPO_LEVEL_HIGH 1 //SKL PCH LP GPIO Expaner GPIO Inversion Status #define IO_EXPANDER_GPI_INV_DISABLED 0 #define IO_EXPANDER_GPI_INV_ENABLED 1 #define IO_EXPANDER_GPIO_RESERVED 0x00 //GPIO Table Terminator #define END_OF_GPIO_TABLE 0xFFFFFFFF #endif