blob: 6df23def52baacc33791eadfa0f91749d0dd527a [file] [log] [blame]
b.liue9582032025-04-17 19:18:16 +08001#!/bin/sh
2
3volt_step=2
4
5soc_is_asr1901=0
6
7if cat /etc/mversion | grep asr1901 > /dev/null
8then
9 echo "asr1901" > /dev/kmsg
10 pmic_dvl0_reg=0x16
11 pmic_dvl1_reg=0x25
12 pmic_dvl2_reg=0x18
13 pmic_dvl3_reg=0x19
14 soc_is_asr1901=1
15else
16 pmic_ver=`i2cget -y -f 2 0x31 0x0`
17 if [ "$pmic_ver" == "0x12" -o "$pmic_ver" == "0x13" ]
18 then
19 echo "pmic is pm802" > /dev/kmsg
20 pmic_dvl0_reg=0x29
21 pmic_dvl1_reg=0x2a
22 pmic_dvl2_reg=0x2b
23 pmic_dvl3_reg=0x2c
24 else
25 echo "pmic is pm802s or pm803 " > /dev/kmsg
26 pmic_dvl0_reg=0x2b
27 pmic_dvl1_reg=0x2c
28 pmic_dvl2_reg=0x2d
29 pmic_dvl3_reg=0x2e
30 fi
31fi
32
33for reg in $pmic_dvl0_reg $pmic_dvl1_reg $pmic_dvl2_reg $pmic_dvl3_reg
34do
35 if [ "$soc_is_asr1901" == "1" ]
36 then
37 if [ "$reg" == "0x25" ]
38 then
39 old_volt=`i2cget -y -f 3 0x68 $reg`
40 else
41 old_volt=`i2cget -y -f 3 0x21 $reg`
42 fi
43 else
44 old_volt=`i2cget -y -f 2 0x31 $reg`
45 fi
46
47 echo "old reg-$reg volt is: $old_volt" > /dev/kmsg
48 decimal_number=`printf %d $old_volt`
49 if [ "$1" == "sub" ]
50 then
51 new_decimal_number=$((decimal_number - 2))
52 else
53 new_decimal_number=$((decimal_number + 2))
54 fi
55 new_hex_number=$(printf '%x' "$new_decimal_number")
56 echo "new reg-$reg volt is: 0x$new_hex_number" > /dev/kmsg
57
58 if [ "$soc_is_asr1901" == "1" ]
59 then
60 if [ "$reg" == "0x25" ]
61 then
62 i2cset -y -f 3 0x68 $reg 0x$new_hex_number
63 else
64 i2cset -y -f 3 0x21 $reg 0x$new_hex_number
65 fi
66 else
67 i2cset -y -f 2 0x31 $reg 0x$new_hex_number
68 fi
69done