config_pins.h 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. #ifndef CORE_CONFIG_PINS_H
  2. #define CORE_CONFIG_PINS_H
  3. #include "stm32l1xx_hal.h"
  4. #include "stm32l1xx_hal_gpio.h"
  5. #include "stm32l1xx_hal_pwr_ex.h"
  6. #include "stm32l1xx_hal_adc.h" // ADC_CHANNEL_X
  7. // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  8. // DO NOT CHANGE THIS BLOCK!
  9. #define CONFIG_PERIF_I2C1 1
  10. #define CONFIG_PERIF_I2C2 2
  11. #define CONFIG_PERIF_SPI1 1
  12. #define CONFIG_PERIF_SPI2 2
  13. // DO NOT CHANGE THIS BLOCK!
  14. // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  15. //============================================================================
  16. // External Memory (SPI):
  17. // NSS (nCS) = PA15 (software)
  18. #define CONFIG_PIN__EXTMEMSPI__CS GPIO_PIN_4
  19. #define CONFIG_PORT__EXTMEMSPI__CS GPIOA
  20. //============================================================================
  21. // External Memory (SPI):
  22. // SPI: SPI1 (AF5_SPI1)
  23. // SCK (CK) = PB3 (hardware)
  24. // MISO (SO) = PB4 (hardware)
  25. // MOSI (SI) = PB5 (hardware)
  26. #define CONFIG_PIN__EXTMEMSPI__CK GPIO_PIN_5
  27. #define CONFIG_PIN__EXTMEMSPI__SO GPIO_PIN_6
  28. #define CONFIG_PIN__EXTMEMSPI__SI GPIO_PIN_7
  29. #define CONFIG_PORT__EXTMEMSPI__SO_SI_CK GPIOA
  30. #define CONFIG_PERIF_EXTMEMSPI CONFIG_PERIF_SPI1
  31. //============================================================================
  32. // External Memory Reset Pin
  33. // RST: PB8
  34. #define CONFIG_PIN__EXTMEM__RST GPIO_PIN_2
  35. #define CONFIG_PORT__EXTMEM__RST GPIOB
  36. //============================================================================
  37. // Switchboard Control Driver (SPI):
  38. // SPI: SPI2 (AF5_SPI2)
  39. // NSS (CHS) = PB12 (hardware)
  40. // SCK (CK) = PB13 (hardware)
  41. // MISO (SO) = PB14 (hardware)
  42. // MOSI (SI) = PB15 (hardware)
  43. #define CONFIG_PIN__SBCONTROL__CHS GPIO_PIN_12
  44. #define CONFIG_PORT__SBCONTROL__CHS GPIOB
  45. #define CONFIG_PIN__SBCONTROL__CK GPIO_PIN_13
  46. #define CONFIG_PIN__SBCONTROL__SO GPIO_PIN_14
  47. #define CONFIG_PIN__SBCONTROL__SI GPIO_PIN_15
  48. #define CONFIG_PORT__SBCONTROL__SO_SI_CK GPIOB
  49. #define CONFIG_PERIF_SBCONTROLSPI CONFIG_PERIF_SPI2
  50. //============================================================================
  51. // Thermo-sensor (I2C):
  52. // I2C: I2C1 (AF4_I2C2)
  53. // SDA (DA) = PB7 (hardware)
  54. // SCL (CL) = PB6 (hardware)
  55. #define CONFIG_PIN__TSENSI2C__DA GPIO_PIN_9
  56. #define CONFIG_PIN__TSENSI2C__CL GPIO_PIN_8
  57. #define CONFIG_PORT__TSENSI2C__DA_CL GPIOB
  58. #define CONFIG_PERIF_TSENSI2C CONFIG_PERIF_I2C1
  59. //============================================================================
  60. // Thermo-sensor Power Pin
  61. // TSENS-PWR: -
  62. #define CONFIG_PIN__NTC_TSENS_PWR GPIO_PIN_0
  63. #define CONFIG_PORT__NTC_TSENS_PWR GPIOA
  64. #define CONFIG_ADC_CHANNEL_NTC_TSENS ADC_CHANNEL_0
  65. //============================================================================
  66. // Power management Pin
  67. #define CONFIG_PIN__INPTRG GPIO_PIN_8
  68. #define CONFIG_PIN__INPTRG_1 GPIO_PIN_9
  69. #define CONFIG_PIN__5VRF_EN GPIO_PIN_3
  70. #define CONFIG_PIN__INPTRG_EN GPIO_PIN_10
  71. #define CONFIG_PORT__INPTRG GPIOA
  72. #define CONFIG_PORT__INPTRG_1 GPIOA
  73. #define CONFIG_PORT__5VRF_EN GPIOA
  74. #define CONFIG_PORT__INPTRG_EN GPIOA
  75. #define CONFIG_ADC_CHANNEL_POWER ADC_CHANNEL_1
  76. //============================================================================
  77. // Battery-Voltage Monitor
  78. // VBAT_ADC: PA7 (Channel 7 = ADC_CHANNEL_7)
  79. // VBAT_EN: PA6
  80. #define CONFIG_PIN__VBAT_ADC GPIO_PIN_7
  81. #define CONFIG_PIN__VBAT_EN GPIO_PIN_6
  82. #define CONFIG_PORT__VBAT_ADC GPIOA
  83. #define CONFIG_PORT__VBAT_EN GPIOA
  84. #define CONFIG_ADC__VBAT_ADC ADC_CHANNEL_7
  85. //============================================================================
  86. // LEDs (Red-led && Green-led)
  87. // REDLED:
  88. // GREENLED:
  89. #define CONFIG_PIN__LED_RED GPIO_PIN_2
  90. #define CONFIG_PIN__LED_GREEN GPIO_PIN_1
  91. #define CONFIG_PORT__LED_RED GPIOA
  92. #define CONFIG_PORT__LED_GREEN GPIOA
  93. //============================================================================
  94. // SwitchKeys Pins (parallel port)
  95. // 4 lines for ACM2543.1 and 6 lines for ACM2543.2
  96. #define CONFIG_PIN__SWKEYPP_L1 GPIO_PIN_10 // CTRL-ADFRV1_ON
  97. #define CONFIG_PIN__SWKEYPP_L2 GPIO_PIN_11 // CTRL-ADFRV2_ON
  98. #define CONFIG_PIN__SWKEYPP_L3 GPIO_PIN_13 // CTRL-HMCV1_ON
  99. #define CONFIG_PIN__SWKEYPP_L4 GPIO_PIN_14 // CTRL-HMCV2_ON
  100. #define CONFIG_PIN__SWKEYPP_L5 GPIO_PIN_15 // CTRL-HMCV3_ON
  101. #define CONFIG_PIN__SWKEYPP_L6 GPIO_PIN_5
  102. #define CONFIG_PORT__SWKEYPP_L1 GPIOB
  103. #define CONFIG_PORT__SWKEYPP_L2 GPIOB
  104. #define CONFIG_PORT__SWKEYPP_L3 GPIOB
  105. #define CONFIG_PORT__SWKEYPP_L4 GPIOB
  106. #define CONFIG_PORT__SWKEYPP_L5 GPIOB
  107. #define CONFIG_PORT__SWKEYPP_L6 GPIOB
  108. #define CONFIG_PORT__SINGLEPORTINIT 0 // only if CONFIG_PORT__SWKEYPP_Lx are the same!
  109. //============================================================================
  110. // USB VBUS Line Detection
  111. // Be careful: wakeup pins must be choosed respectively to the VBUS pin
  112. // VBUS: PC13=WKUP2
  113. #define CONFIG_PIN__USB__VBUSDETECT GPIO_PIN_13
  114. #define CONFIG_PORT__USB__VBUSDETECT GPIOC
  115. // USB VBUS Line Detection - wakeup function
  116. // VBUS: WKUP2=PC13
  117. #define CONFIG_PIN__USB__VBUSWKUP PWR_WAKEUP_PIN2
  118. //============================================================================
  119. //// Core Clock Output Pin
  120. //// MCO: PA8
  121. //#define CONFIG_PIN__MCO GPIO_PIN_8
  122. //#define CONFIG_PORT__MCO GPIOA
  123. //#define CONFIG_AF__MCO GPIO_AF0_MCO
  124. //============================================================================
  125. // Debug pins (can overlapp with already used if the corresponding perifieral is disabled)
  126. // DBGPIN1: PB6
  127. // DBGPIN2: PB7
  128. // DBGPIN3: -
  129. #define CONFIG_PIN__DBGPIN1 GPIO_PIN_6
  130. #define CONFIG_PORT__DBGPIN1 GPIOB
  131. #define CONFIG_PIN__DBGPIN2 GPIO_PIN_7
  132. #define CONFIG_PORT__DBGPIN2 GPIOB
  133. #define CONFIG_PIN__DBGPIN3 GPIO_PIN_1
  134. #define CONFIG_PORT__DBGPIN3 GPIOB
  135. #endif