# davinci_pinmux: assigns PINMUX$reg <== $value
proc davinci_pinmux {soc reg value} {
- mww [expr [dict get $soc sysbase] + 4 * $reg] $value
+ mww [expr {[dict get $soc sysbase] + 4 * $reg}] $value
}
source [find mem_helper.tcl]
# write pllcmd.GO; poll pllstat.GO
mww [expr {$pll_addr + 0x0138}] 0x01
set pllstat [expr {$pll_addr + 0x013c}]
- while {[expr [mrw $pllstat] & 0x01] != 0} { sleep 1 }
+ while {[expr {[mrw $pllstat] & 0x01}] != 0} { sleep 1 }
}
mww [expr {$pll_addr + 0x0138}] 0x00
if {$aln != 0} {
# clear pllcmd.GO
mww [expr {$pll_addr + 0x0138}] 0x00
- # write alingment flags
+ # write alignment flags
mww [expr {$pll_addr + 0x0140}] $aln
# write pllcmd.GO; poll pllstat.GO
mww [expr {$pll_addr + 0x0138}] 0x01
set pllstat [expr {$pll_addr + 0x013c}]
- while {[expr [mrw $pllstat] & 0x01] != 0} { sleep 1 }
+ while {[expr {[mrw $pllstat] & 0x01}] != 0} { sleep 1 }
}
mww [expr {$pll_addr + 0x0138}] 0x00
set addr [dict get $config ctladdr]
- while {[expr [mrw $addr] & 0x0e000000] != 0x0e000000} { sleep 1 }
+ while {[expr {[mrw $addr] & 0x0e000000}] != 0x0e000000} { sleep 1 }
# 12 - set PLLEN (bit 0) ... leave bypass mode
set pll_ctrl [expr {$pll_ctrl | 0x0001}]
set ptstat_addr [expr {$psc_addr + 0x0128}]
# just in case PTSTAT.go isn't clear
- while { [expr [mrw $ptstat_addr] & 0x01] != 0 } { sleep 1 }
+ while { [expr {[mrw $ptstat_addr] & 0x01}] != 0 } { sleep 1 }
# write PTCMD.go ... ignoring any DSP power domain
mww [expr {$psc_addr + 0x0120}] 1
# wait for PTSTAT.go to clear (again ignoring DSP power domain)
- while { [expr [mrw $ptstat_addr] & 0x01] != 0 } { sleep 1 }
+ while { [expr {[mrw $ptstat_addr] & 0x01}] != 0 } { sleep 1 }
}
#