openocd/tcl/chip/st/stm32/stm32_rcc.tcl

292 lines
7.2 KiB
Tcl

# SPDX-License-Identifier: GPL-2.0-or-later
set RCC_CR [expr {$RCC_BASE + 0x00}]
set RCC_CFGR [expr {$RCC_BASE + 0x04}]
set RCC_CIR [expr {$RCC_BASE + 0x08}]
set RCC_APB2RSTR [expr {$RCC_BASE + 0x0c}]
set RCC_APB1RSTR [expr {$RCC_BASE + 0x10}]
set RCC_AHBENR [expr {$RCC_BASE + 0x14}]
set RCC_APB2ENR [expr {$RCC_BASE + 0x18}]
set RCC_APB1ENR [expr {$RCC_BASE + 0x1c}]
set RCC_BDCR [expr {$RCC_BASE + 0x20}]
set RCC_CSR [expr {$RCC_BASE + 0x24}]
proc show_RCC_CR { } {
if [ catch { set val [show_mmr32_reg RCC_CR] } msg ] {
error $msg
}
show_mmr_bitfield 0 0 $val HSI { OFF ON }
show_mmr_bitfield 1 1 $val HSIRDY { NOTRDY RDY }
show_mmr_bitfield 7 3 $val HSITRIM { _NUMBER_ }
show_mmr_bitfield 15 8 $val HSICAL { _NUMBER_ }
show_mmr_bitfield 16 16 $val HSEON { OFF ON }
show_mmr_bitfield 17 17 $val HSERDY { NOTRDY RDY }
show_mmr_bitfield 18 18 $val HSEBYP { NOTBYPASSED BYPASSED }
show_mmr_bitfield 19 19 $val CSSON { OFF ON }
show_mmr_bitfield 24 24 $val PLLON { OFF ON }
show_mmr_bitfield 25 25 $val PLLRDY { NOTRDY RDY }
}
proc show_RCC_CFGR { } {
if [ catch { set val [show_mmr32_reg RCC_CFGR] } msg ] {
error $msg
}
show_mmr_bitfield 1 0 $val SW { HSI HSE PLL ILLEGAL }
show_mmr_bitfield 3 2 $val SWS { HSI HSE PLL ILLEGAL }
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 }
show_mmr_bitfield 10 8 $val PPRE1 { hclk_div1 hclk_div1 hclk_div1 hclk_div1 hclk_div2 hclk_div4 hclk_div8 hclk_div16 }
show_mmr_bitfield 13 11 $val PPRE2 { hclk_div1 hclk_div1 hclk_div1 hclk_div1 hclk_div2 hclk_div4 hclk_div8 hclk_div16 }
show_mmr_bitfield 15 14 $val ADCPRE { pclk2_div1 pclk2_div1 pclk2_div1 pclk2_div1 pclk2_div2 pclk2_div4 pclk2_div8 pclk2_div16 }
show_mmr_bitfield 16 16 $val PLLSRC { HSI_div_2 HSE }
show_mmr_bitfield 17 17 $val PLLXTPRE { hse_div1 hse_div2 }
show_mmr_bitfield 21 18 $val PLLMUL { x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x16 }
show_mmr_bitfield 22 22 $val USBPRE { div1 div1_5 }
show_mmr_bitfield 26 24 $val MCO { none none none none SysClk HSI HSE PLL_div2 }
}
proc show_RCC_CIR { } {
if [ catch { set val [show_mmr32_reg RCC_CIR] } msg ] {
error $msg
}
}
proc show_RCC_APB2RSTR { } {
if [ catch { set val [ show_mmr32_reg RCC_APB2RSTR] } msg ] {
error $msg
}
for { set x 0 } { $x < 32 } { incr x } {
set bits($x) xxx
}
set bits(15) adc3
set bits(14) usart1
set bits(13) tim8
set bits(12) spi1
set bits(11) tim1
set bits(10) adc2
set bits(9) adc1
set bits(8) iopg
set bits(7) iopf
set bits(6) iope
set bits(5) iopd
set bits(4) iopc
set bits(3) iopb
set bits(2) iopa
set bits(1) xxx
set bits(0) afio
show_mmr32_bits bits $val
}
proc show_RCC_APB1RSTR { } {
if [ catch { set val [ show_mmr32_reg RCC_APB1RSTR] } msg ] {
error $msg
}
set bits(31) xxx
set bits(30) xxx
set bits(29) dac
set bits(28) pwr
set bits(27) bkp
set bits(26) xxx
set bits(25) can
set bits(24) xxx
set bits(23) usb
set bits(22) i2c2
set bits(21) i2c1
set bits(20) uart5
set bits(19) uart4
set bits(18) uart3
set bits(17) uart2
set bits(16) xxx
set bits(15) spi3
set bits(14) spi2
set bits(13) xxx
set bits(12) xxx
set bits(11) wwdg
set bits(10) xxx
set bits(9) xxx
set bits(8) xxx
set bits(7) xxx
set bits(6) xxx
set bits(5) tim7
set bits(4) tim6
set bits(3) tim5
set bits(2) tim4
set bits(1) tim3
set bits(0) tim2
show_mmr32_bits bits $val
}
proc show_RCC_AHBENR { } {
if [ catch { set val [ show_mmr32_reg RCC_AHBENR ] } msg ] {
error $msg
}
set bits(31) xxx
set bits(30) xxx
set bits(29) xxx
set bits(28) xxx
set bits(27) xxx
set bits(26) xxx
set bits(25) xxx
set bits(24) xxx
set bits(23) xxx
set bits(22) xxx
set bits(21) xxx
set bits(20) xxx
set bits(19) xxx
set bits(18) xxx
set bits(17) xxx
set bits(16) xxx
set bits(15) xxx
set bits(14) xxx
set bits(13) xxx
set bits(12) xxx
set bits(11) xxx
set bits(10) sdio
set bits(9) xxx
set bits(8) fsmc
set bits(7) xxx
set bits(6) crce
set bits(5) xxx
set bits(4) flitf
set bits(3) xxx
set bits(2) sram
set bits(1) dma2
set bits(0) dma1
show_mmr32_bits bits $val
}
proc show_RCC_APB2ENR { } {
if [ catch { set val [ show_mmr32_reg RCC_APB2ENR ] } msg ] {
error $msg
}
set bits(31) xxx
set bits(30) xxx
set bits(29) xxx
set bits(28) xxx
set bits(27) xxx
set bits(26) xxx
set bits(25) xxx
set bits(24) xxx
set bits(23) xxx
set bits(22) xxx
set bits(21) xxx
set bits(20) xxx
set bits(19) xxx
set bits(18) xxx
set bits(17) xxx
set bits(16) xxx
set bits(15) adc3
set bits(14) usart1
set bits(13) tim8
set bits(12) spi1
set bits(11) tim1
set bits(10) adc2
set bits(9) adc1
set bits(8) iopg
set bits(7) iopf
set bits(6) iope
set bits(5) iopd
set bits(4) iopc
set bits(3) iopb
set bits(2) iopa
set bits(1) xxx
set bits(0) afio
show_mmr32_bits bits $val
}
proc show_RCC_APB1ENR { } {
if [ catch { set val [ show_mmr32_reg RCC_APB1ENR ] } msg ] {
error $msg
}
set bits(31) xxx
set bits(30) xxx
set bits(29) dac
set bits(28) pwr
set bits(27) bkp
set bits(26) xxx
set bits(25) can
set bits(24) xxx
set bits(23) usb
set bits(22) i2c2
set bits(21) i2c1
set bits(20) usart5
set bits(19) usart4
set bits(18) usart3
set bits(17) usart2
set bits(16) xxx
set bits(15) spi3
set bits(14) spi2
set bits(13) xxx
set bits(12) xxx
set bits(11) wwdg
set bits(10) xxx
set bits(9) xxx
set bits(8) xxx
set bits(7) xxx
set bits(6) xxx
set bits(5) tim7
set bits(4) tim6
set bits(3) tim5
set bits(2) tim4
set bits(1) tim3
set bits(0) tim2
show_mmr32_bits bits $val
}
proc show_RCC_BDCR { } {
if [ catch { set val [ show_mmr32_reg RCC_BDCR ] } msg ] {
error $msg
}
for { set x 0 } { $x < 32 } { incr x } {
set bits($x) xxx
}
set bits(0) lseon
set bits(1) lserdy
set bits(2) lsebyp
set bits(8) rtcsel0
set bits(9) rtcsel1
set bits(15) rtcen
set bits(16) bdrst
show_mmr32_bits bits $val
}
proc show_RCC_CSR { } {
if [ catch { set val [ show_mmr32_reg RCC_CSR ] } msg ] {
error $msg
}
for { set x 0 } { $x < 32 } { incr x } {
set bits($x) xxx
}
set bits(0) lsion
set bits(1) lsirdy
set bits(24) rmvf
set bits(26) pin
set bits(27) por
set bits(28) sft
set bits(29) iwdg
set bits(30) wwdg
set bits(31) lpwr
show_mmr32_bits bits $val
}
proc show_RCC { } {
show_RCC_CR
show_RCC_CFGR
show_RCC_CIR
show_RCC_APB2RSTR
show_RCC_APB1RSTR
show_RCC_AHBENR
show_RCC_APB2ENR
show_RCC_APB1ENR
show_RCC_BDCR
show_RCC_CSR
}