📄 zylonite_vcc_sdio.sh
字号:
#!/bin/shCPU_VOLTAGE=/sys/devices/system/cpu/cpu0/voltageusage(){ echo "Usage: $0 [1.8v-3.2v]"}get_vol(){ VCC=`cat $CPU_VOLTAGE`# echo "VCC=$VCC"# echo "" line=0 for vcc_x in Core Sram IO MSL LCD USB CARD0 CARD1 MEM DF CI TSI ; do let "line += 1" vol=`echo $VCC | cut -d ";" -f $line`# echo "$line: vcc_x=$vcc_x, vol=$vol" x=`echo $vol | cut -d "_" -f 2` x=`echo $x | cut -d ":" -f 1` x=`expr "$x" : '[[:space:]]*\(.*\)[[:space:]]*$'` if [ $x != $vcc_x ]; then echo "$line: vcc_x=$vcc_x, x=$x MISMATCH" exit 1 fi mv=`echo $vol | cut -d ":" -f 2` mv=`expr "$mv" : '[[:space:]]*\(.*\)[[:space:]]*$'` echo "$line: $vcc_x=$mv" if [ ! -z "$1" ]; then if [ $vcc_x = "CARD0" ] || [ $vcc_x = "CARD1" ]; then mv="$1" fi if [ $line -eq 1 ]; then new_vol="$mv" else new_vol="$new_vol,$mv" fi fi done}set_vol(){ get_vol "$1" sleep 1 echo "new_vol=$new_vol" echo "$new_vol" > $CPU_VOLTAGE sleep 1 get_vol ""}if [ $# -eq 0 ] ; then get_volelif [ $# -eq 1 ] ; then while [ -n "$1" ]; do case $1 in 1.8v) set_vol "1800mv"; break;; 1.9v) set_vol "1900mv"; break;; 2.0v) set_vol "2000mv"; break;; 2.1v) set_vol "2100mv"; break;; 2.2v) set_vol "2200mv"; break;; 2.3v) set_vol "2300mv"; break;; 2.4v) set_vol "2400mv"; break;; 2.5v) set_vol "2500mv"; break;; 2.6v) set_vol "2600mv"; break;; 2.7v) set_vol "2700mv"; break;; 2.8v) set_vol "2800mv"; break;; 2.9v) set_vol "2900mv"; break;; 3.0v) set_vol "3000mv"; break;; 3.1v) set_vol "3100mv"; break;; 3.2v) set_vol "3200mv"; break;; *) usage; break;; esac doneelse usagefiexit 0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -