|
-
- set RTTC_RTMR [expr {$AT91C_BASE_RTTC + 0x00}]
- set RTTC_RTAR [expr {$AT91C_BASE_RTTC + 0x04}]
- set RTTC_RTVR [expr {$AT91C_BASE_RTTC + 0x08}]
- set RTTC_RTSR [expr {$AT91C_BASE_RTTC + 0x0c}]
- global RTTC_RTMR
- global RTTC_RTAR
- global RTTC_RTVR
- global RTTC_RTSR
-
- proc show_RTTC_RTMR_helper { NAME ADDR VAL } {
- set rtpres [expr {$VAL & 0x0ffff}]
- global BIT16 BIT17
- if { $rtpres == 0 } {
- set rtpres 65536;
- }
- global AT91C_SLOWOSC_FREQ
- # Nasty hack, make this a float by tacking a .0 on the end
- # otherwise, jim makes the value an integer
- set f [expr $AT91C_SLOWOSC_FREQ.0 / $rtpres.0]
- echo [format "\tPrescale value: 0x%04x (%5d) => %f Hz" $rtpres $rtpres $f]
- if { $VAL & $BIT16 } {
- echo "\tBit16 -> Alarm IRQ Enabled"
- } else {
- echo "\tBit16 -> Alarm IRQ Disabled"
- }
- if { $VAL & $BIT17 } {
- echo "\tBit17 -> RTC Inc IRQ Enabled"
- } else {
- echo "\tBit17 -> RTC Inc IRQ Disabled"
- }
- # Bit 18 is write only.
- }
-
- proc show_RTTC_RTSR_helper { NAME ADDR VAL } {
- global BIT0 BIT1
- if { $VAL & $BIT0 } {
- echo "\tBit0 -> ALARM PENDING"
- } else {
- echo "\tBit0 -> alarm not pending"
- }
- if { $VAL & $BIT1 } {
- echo "\tBit0 -> RTINC PENDING"
- } else {
- echo "\tBit0 -> rtinc not pending"
- }
- }
-
- proc show_RTTC { } {
-
- show_mmr32_reg RTTC_RTMR
- show_mmr32_reg RTTC_RTAR
- show_mmr32_reg RTTC_RTVR
- show_mmr32_reg RTTC_RTSR
- }
|