+# SPDX-License-Identifier: GPL-2.0-or-later
proc proc_exists { NAME } {
set n [info commands $NAME]
set l [string length $n]
- return [expr $l != 0]
+ return [expr {$l != 0}]
}
# Give: REGISTER name - must be a global variable.
echo -n " "
for { set y 7 } { $y >= 0 } { incr y -1 } {
- echo -n [format " %d%*s | " [expr !!($VAL & (1 << ($x + $y)))] [expr {$w -1}] ""]
+ echo -n [format " %d%*s | " [expr {!!($VAL & (1 << ($x + $y)))}] [expr {$w -1}] ""]
}
echo ""
}
}
echo [format "%-15s: %d (0x%0*x) %s" $FIELDNAME $nval $width $nval $sval ]
}
+
+# Give: ADDR - address of the register.
+# BIT - bit's number.
+
+proc get_mmr_bit { ADDR BIT } {
+ set val [memread32 $ADDR]
+ set bit_val [expr {$val & [expr {1 << $BIT}]}]
+ return $bit_val
+}
+
+
+# Give: ADDR - address of the register.
+# MSB - MSB bit's number.
+# LSB - LSB bit's number.
+
+proc get_mmr_bitfield { ADDR MSB LSB } {
+ set rval [memread32 $ADDR]
+ return normalize_bitfield $rval $MSB $LSB
+}