config_pins.h 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  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__EXT_REG_MR GPIO_PIN_8
  71. #define CONFIG_PIN__INPTRG_EN GPIO_PIN_10
  72. #define CONFIG_PORT__INPTRG GPIOA
  73. #define CONFIG_PORT__INPTRG_1 GPIOA
  74. #define CONFIG_PORT__5VRF_EN GPIOA
  75. #define CONFIG_PORT__EXT_REG_MR GPIOA
  76. #define CONFIG_PORT__INPTRG_EN GPIOA
  77. #define CONFIG_ADC_CHANNEL_POWER ADC_CHANNEL_1
  78. //============================================================================
  79. // Battery-Voltage Monitor
  80. // VBAT_ADC: PA7 (Channel 7 = ADC_CHANNEL_7)
  81. // VBAT_EN: PA6
  82. #define CONFIG_PIN__VBAT_ADC GPIO_PIN_7
  83. #define CONFIG_PIN__VBAT_EN GPIO_PIN_6
  84. #define CONFIG_PORT__VBAT_ADC GPIOA
  85. #define CONFIG_PORT__VBAT_EN GPIOA
  86. #define CONFIG_ADC__VBAT_ADC ADC_CHANNEL_7
  87. //============================================================================
  88. // LEDs (Red-led && Green-led)
  89. // REDLED:
  90. // GREENLED:
  91. #define CONFIG_PIN__LED_RED GPIO_PIN_2
  92. #define CONFIG_PIN__LED_GREEN GPIO_PIN_1
  93. #define CONFIG_PORT__LED_RED GPIOA
  94. #define CONFIG_PORT__LED_GREEN GPIOA
  95. //============================================================================
  96. // SwitchKeys Pins (parallel port)
  97. // 4 lines for ACM2543.1 and 6 lines for ACM2543.2
  98. #define CONFIG_PIN__SWKEYPP_L1 GPIO_PIN_10 // CTRL-ADFRV1_ON
  99. #define CONFIG_PIN__SWKEYPP_L2 GPIO_PIN_11 // CTRL-ADFRV2_ON
  100. #define CONFIG_PIN__SWKEYPP_L3 GPIO_PIN_13 // CTRL-HMCV1_ON
  101. #define CONFIG_PIN__SWKEYPP_L4 GPIO_PIN_14 // CTRL-HMCV2_ON
  102. #define CONFIG_PIN__SWKEYPP_L5 GPIO_PIN_15 // CTRL-HMCV3_ON
  103. #define CONFIG_PIN__SWKEYPP_L6 GPIO_PIN_5
  104. #define CONFIG_PORT__SWKEYPP_L1 GPIOB
  105. #define CONFIG_PORT__SWKEYPP_L2 GPIOB
  106. #define CONFIG_PORT__SWKEYPP_L3 GPIOB
  107. #define CONFIG_PORT__SWKEYPP_L4 GPIOB
  108. #define CONFIG_PORT__SWKEYPP_L5 GPIOB
  109. #define CONFIG_PORT__SWKEYPP_L6 GPIOB
  110. #define CONFIG_PORT__SINGLEPORTINIT 0 // only if CONFIG_PORT__SWKEYPP_Lx are the same!
  111. //============================================================================
  112. // USB VBUS Line Detection
  113. // Be careful: wakeup pins must be choosed respectively to the VBUS pin
  114. // VBUS: PC13=WKUP2
  115. #define CONFIG_PIN__USB__VBUSDETECT GPIO_PIN_13
  116. #define CONFIG_PORT__USB__VBUSDETECT GPIOC
  117. // USB VBUS Line Detection - wakeup function
  118. // VBUS: WKUP2=PC13
  119. #define CONFIG_PIN__USB__VBUSWKUP PWR_WAKEUP_PIN2
  120. //============================================================================
  121. //// Core Clock Output Pin
  122. //// MCO: PA8
  123. //#define CONFIG_PIN__MCO GPIO_PIN_8
  124. //#define CONFIG_PORT__MCO GPIOA
  125. //#define CONFIG_AF__MCO GPIO_AF0_MCO
  126. //============================================================================
  127. // Debug pins (can overlapp with already used if the corresponding perifieral is disabled)
  128. // DBGPIN1: PB6
  129. // DBGPIN2: PB7
  130. // DBGPIN3: -
  131. #define CONFIG_PIN__DBGPIN1 GPIO_PIN_6
  132. #define CONFIG_PORT__DBGPIN1 GPIOB
  133. #define CONFIG_PIN__DBGPIN2 GPIO_PIN_7
  134. #define CONFIG_PORT__DBGPIN2 GPIOB
  135. #define CONFIG_PIN__DBGPIN3 GPIO_PIN_1
  136. #define CONFIG_PORT__DBGPIN3 GPIOB
  137. #endif