You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

291 lines
7.2 KiB

  1. set RCC_CR [expr $RCC_BASE + 0x00]
  2. set RCC_CFGR [expr $RCC_BASE + 0x04]
  3. set RCC_CIR [expr $RCC_BASE + 0x08]
  4. set RCC_APB2RSTR [expr $RCC_BASE + 0x0c]
  5. set RCC_APB1RSTR [expr $RCC_BASE + 0x10]
  6. set RCC_AHBENR [expr $RCC_BASE + 0x14]
  7. set RCC_APB2ENR [expr $RCC_BASE + 0x18]
  8. set RCC_APB1ENR [expr $RCC_BASE + 0x1c]
  9. set RCC_BDCR [expr $RCC_BASE + 0x20]
  10. set RCC_CSR [expr $RCC_BASE + 0x24]
  11. proc show_RCC_CR { } {
  12. if [ catch { set val [show_mmr32_reg RCC_CR] } msg ] {
  13. error $msg
  14. }
  15. show_mmr_bitfield 0 0 $val HSI { OFF ON }
  16. show_mmr_bitfield 1 1 $val HSIRDY { NOTRDY RDY }
  17. show_mmr_bitfield 7 3 $val HSITRIM { _NUMBER_ }
  18. show_mmr_bitfield 15 8 $val HSICAL { _NUMBER_ }
  19. show_mmr_bitfield 16 16 $val HSEON { OFF ON }
  20. show_mmr_bitfield 17 17 $val HSERDY { NOTRDY RDY }
  21. show_mmr_bitfield 18 18 $val HSEBYP { NOTBYPASSED BYPASSED }
  22. show_mmr_bitfield 19 19 $val CSSON { OFF ON }
  23. show_mmr_bitfield 24 24 $val PLLON { OFF ON }
  24. show_mmr_bitfield 25 25 $val PLLRDY { NOTRDY RDY }
  25. }
  26. proc show_RCC_CFGR { } {
  27. if [ catch { set val [show_mmr32_reg RCC_CFGR] } msg ] {
  28. error $msg
  29. }
  30. show_mmr_bitfield 1 0 $val SW { HSI HSE PLL ILLEGAL }
  31. show_mmr_bitfield 3 2 $val SWS { HSI HSE PLL ILLEGAL }
  32. show_mmr_bitfield 7 4 $val HPRE { sysclk_div_1 sysclk_div_1 sysclk_div_1 sysclk_div_1 sysclk_div_1 sysclk_div_1 sysclk_div_1 sysclk_div_1 sysclk_div_2 sysclk_div_4 sysclk_div_8 sysclk_div_16 sysclk_div_64 sysclk_div_128 sysclk_div_256 sysclk_div_512 }
  33. show_mmr_bitfield 10 8 $val PPRE1 { hclk_div1 hclk_div1 hclk_div1 hclk_div1 hclk_div2 hclk_div4 hclk_div8 hclk_div16 }
  34. show_mmr_bitfield 13 11 $val PPRE2 { hclk_div1 hclk_div1 hclk_div1 hclk_div1 hclk_div2 hclk_div4 hclk_div8 hclk_div16 }
  35. show_mmr_bitfield 15 14 $val ADCPRE { pclk2_div1 pclk2_div1 pclk2_div1 pclk2_div1 pclk2_div2 pclk2_div4 pclk2_div8 pclk2_div16 }
  36. show_mmr_bitfield 16 16 $val PLLSRC { HSI_div_2 HSE }
  37. show_mmr_bitfield 17 17 $val PLLXTPRE { hse_div1 hse_div2 }
  38. show_mmr_bitfield 21 18 $val PLLMUL { x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x16 }
  39. show_mmr_bitfield 22 22 $val USBPRE { div1 div1_5 }
  40. show_mmr_bitfield 26 24 $val MCO { none none none none SysClk HSI HSE PLL_div2 }
  41. }
  42. proc show_RCC_CIR { } {
  43. if [ catch { set val [show_mmr32_reg RCC_CIR] } msg ] {
  44. error $msg
  45. }
  46. }
  47. proc show_RCC_APB2RSTR { } {
  48. if [ catch { set val [ show_mmr32_reg RCC_APB2RSTR] } msg ] {
  49. error $msg
  50. }
  51. for { set x 0 } { $x < 32 } { incr x } {
  52. set bits($x) xxx
  53. }
  54. set bits(15) adc3
  55. set bits(14) usart1
  56. set bits(13) tim8
  57. set bits(12) spi1
  58. set bits(11) tim1
  59. set bits(10) adc2
  60. set bits(9) adc1
  61. set bits(8) iopg
  62. set bits(7) iopf
  63. set bits(6) iope
  64. set bits(5) iopd
  65. set bits(4) iopc
  66. set bits(3) iopb
  67. set bits(2) iopa
  68. set bits(1) xxx
  69. set bits(0) afio
  70. show_mmr32_bits bits $val
  71. }
  72. proc show_RCC_APB1RSTR { } {
  73. if [ catch { set val [ show_mmr32_reg RCC_APB1RSTR] } msg ] {
  74. error $msg
  75. }
  76. set bits(31) xxx
  77. set bits(30) xxx
  78. set bits(29) dac
  79. set bits(28) pwr
  80. set bits(27) bkp
  81. set bits(26) xxx
  82. set bits(25) can
  83. set bits(24) xxx
  84. set bits(23) usb
  85. set bits(22) i2c2
  86. set bits(21) i2c1
  87. set bits(20) uart5
  88. set bits(19) uart4
  89. set bits(18) uart3
  90. set bits(17) uart2
  91. set bits(16) xxx
  92. set bits(15) spi3
  93. set bits(14) spi2
  94. set bits(13) xxx
  95. set bits(12) xxx
  96. set bits(11) wwdg
  97. set bits(10) xxx
  98. set bits(9) xxx
  99. set bits(8) xxx
  100. set bits(7) xxx
  101. set bits(6) xxx
  102. set bits(5) tim7
  103. set bits(4) tim6
  104. set bits(3) tim5
  105. set bits(2) tim4
  106. set bits(1) tim3
  107. set bits(0) tim2
  108. show_mmr32_bits bits $val
  109. }
  110. proc show_RCC_AHBENR { } {
  111. if [ catch { set val [ show_mmr32_reg RCC_AHBENR ] } msg ] {
  112. error $msg
  113. }
  114. set bits(31) xxx
  115. set bits(30) xxx
  116. set bits(29) xxx
  117. set bits(28) xxx
  118. set bits(27) xxx
  119. set bits(26) xxx
  120. set bits(25) xxx
  121. set bits(24) xxx
  122. set bits(23) xxx
  123. set bits(22) xxx
  124. set bits(21) xxx
  125. set bits(20) xxx
  126. set bits(19) xxx
  127. set bits(18) xxx
  128. set bits(17) xxx
  129. set bits(16) xxx
  130. set bits(15) xxx
  131. set bits(14) xxx
  132. set bits(13) xxx
  133. set bits(12) xxx
  134. set bits(11) xxx
  135. set bits(10) sdio
  136. set bits(9) xxx
  137. set bits(8) fsmc
  138. set bits(7) xxx
  139. set bits(6) crce
  140. set bits(5) xxx
  141. set bits(4) flitf
  142. set bits(3) xxx
  143. set bits(2) sram
  144. set bits(1) dma2
  145. set bits(0) dma1
  146. show_mmr32_bits bits $val
  147. }
  148. proc show_RCC_APB2ENR { } {
  149. if [ catch { set val [ show_mmr32_reg RCC_APB2ENR ] } msg ] {
  150. error $msg
  151. }
  152. set bits(31) xxx
  153. set bits(30) xxx
  154. set bits(29) xxx
  155. set bits(28) xxx
  156. set bits(27) xxx
  157. set bits(26) xxx
  158. set bits(25) xxx
  159. set bits(24) xxx
  160. set bits(23) xxx
  161. set bits(22) xxx
  162. set bits(21) xxx
  163. set bits(20) xxx
  164. set bits(19) xxx
  165. set bits(18) xxx
  166. set bits(17) xxx
  167. set bits(16) xxx
  168. set bits(15) adc3
  169. set bits(14) usart1
  170. set bits(13) tim8
  171. set bits(12) spi1
  172. set bits(11) tim1
  173. set bits(10) adc2
  174. set bits(9) adc1
  175. set bits(8) iopg
  176. set bits(7) iopf
  177. set bits(6) iope
  178. set bits(5) iopd
  179. set bits(4) iopc
  180. set bits(3) iopb
  181. set bits(2) iopa
  182. set bits(1) xxx
  183. set bits(0) afio
  184. show_mmr32_bits bits $val
  185. }
  186. proc show_RCC_APB1ENR { } {
  187. if [ catch { set val [ show_mmr32_reg RCC_APB1ENR ] } msg ] {
  188. error $msg
  189. }
  190. set bits(31) xxx
  191. set bits(30) xxx
  192. set bits(29) dac
  193. set bits(28) pwr
  194. set bits(27) bkp
  195. set bits(26) xxx
  196. set bits(25) can
  197. set bits(24) xxx
  198. set bits(23) usb
  199. set bits(22) i2c2
  200. set bits(21) i2c1
  201. set bits(20) usart5
  202. set bits(19) usart4
  203. set bits(18) usart3
  204. set bits(17) usart2
  205. set bits(16) xxx
  206. set bits(15) spi3
  207. set bits(14) spi2
  208. set bits(13) xxx
  209. set bits(12) xxx
  210. set bits(11) wwdg
  211. set bits(10) xxx
  212. set bits(9) xxx
  213. set bits(8) xxx
  214. set bits(7) xxx
  215. set bits(6) xxx
  216. set bits(5) tim7
  217. set bits(4) tim6
  218. set bits(3) tim5
  219. set bits(2) tim4
  220. set bits(1) tim3
  221. set bits(0) tim2
  222. show_mmr32_bits bits $val
  223. }
  224. proc show_RCC_BDCR { } {
  225. if [ catch { set val [ show_mmr32_reg RCC_BDCR ] } msg ] {
  226. error $msg
  227. }
  228. for { set x 0 } { $x < 32 } { incr x } {
  229. set bits($x) xxx
  230. }
  231. set bits(0) lseon
  232. set bits(1) lserdy
  233. set bits(2) lsebyp
  234. set bits(8) rtcsel0
  235. set bits(9) rtcsel1
  236. set bits(15) rtcen
  237. set bits(16) bdrst
  238. show_mmr32_bits bits $val
  239. }
  240. proc show_RCC_CSR { } {
  241. if [ catch { set val [ show_mmr32_reg RCC_CSR ] } msg ] {
  242. error $msg
  243. }
  244. for { set x 0 } { $x < 32 } { incr x } {
  245. set bits($x) xxx
  246. }
  247. set bits(0) lsion
  248. set bits(1) lsirdy
  249. set bits(24) rmvf
  250. set bits(26) pin
  251. set bits(27) por
  252. set bits(28) sft
  253. set bits(29) iwdg
  254. set bits(30) wwdg
  255. set bits(31) lpwr
  256. show_mmr32_bits bits $val
  257. }
  258. proc show_RCC { } {
  259. show_RCC_CR
  260. show_RCC_CFGR
  261. show_RCC_CIR
  262. show_RCC_APB2RSTR
  263. show_RCC_APB1RSTR
  264. show_RCC_AHBENR
  265. show_RCC_APB2ENR
  266. show_RCC_APB1ENR
  267. show_RCC_BDCR
  268. show_RCC_CSR
  269. }