| #!/bin/sh |
| |
| volt_step=2 |
| |
| soc_is_asr1901=0 |
| |
| if cat /etc/mversion | grep asr1901 > /dev/null |
| then |
| echo "asr1901" > /dev/kmsg |
| pmic_dvl0_reg=0x16 |
| pmic_dvl1_reg=0x25 |
| pmic_dvl2_reg=0x18 |
| pmic_dvl3_reg=0x19 |
| soc_is_asr1901=1 |
| else |
| pmic_ver=`i2cget -y -f 2 0x31 0x0` |
| if [ "$pmic_ver" == "0x12" -o "$pmic_ver" == "0x13" ] |
| then |
| echo "pmic is pm802" > /dev/kmsg |
| pmic_dvl0_reg=0x29 |
| pmic_dvl1_reg=0x2a |
| pmic_dvl2_reg=0x2b |
| pmic_dvl3_reg=0x2c |
| else |
| echo "pmic is pm802s or pm803 " > /dev/kmsg |
| pmic_dvl0_reg=0x2b |
| pmic_dvl1_reg=0x2c |
| pmic_dvl2_reg=0x2d |
| pmic_dvl3_reg=0x2e |
| fi |
| fi |
| |
| for reg in $pmic_dvl0_reg $pmic_dvl1_reg $pmic_dvl2_reg $pmic_dvl3_reg |
| do |
| if [ "$soc_is_asr1901" == "1" ] |
| then |
| if [ "$reg" == "0x25" ] |
| then |
| old_volt=`i2cget -y -f 3 0x68 $reg` |
| else |
| old_volt=`i2cget -y -f 3 0x21 $reg` |
| fi |
| else |
| old_volt=`i2cget -y -f 2 0x31 $reg` |
| fi |
| |
| echo "old reg-$reg volt is: $old_volt" > /dev/kmsg |
| decimal_number=`printf %d $old_volt` |
| if [ "$1" == "sub" ] |
| then |
| new_decimal_number=$((decimal_number - 2)) |
| else |
| new_decimal_number=$((decimal_number + 2)) |
| fi |
| new_hex_number=$(printf '%x' "$new_decimal_number") |
| echo "new reg-$reg volt is: 0x$new_hex_number" > /dev/kmsg |
| |
| if [ "$soc_is_asr1901" == "1" ] |
| then |
| if [ "$reg" == "0x25" ] |
| then |
| i2cset -y -f 3 0x68 $reg 0x$new_hex_number |
| else |
| i2cset -y -f 3 0x21 $reg 0x$new_hex_number |
| fi |
| else |
| i2cset -y -f 2 0x31 $reg 0x$new_hex_number |
| fi |
| done |