IoExpander.h 2.4 KB

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