Sergey Solomin | 11d63cf | 2016-11-28 15:03:24 -0600 | [diff] [blame] | 1 | #!/bin/sh |
| 2 | # ############################################################# |
| 3 | # script to disable UCD VCS rails. |
| 4 | # This REQUIRES unaltered/original UCD cfg file. |
| 5 | # 10/28/16 PGR - |
| 6 | # 11/10/16 PGR - unbind/bind UCD driver |
| 7 | |
Saqib Khan | c8c939e | 2017-03-13 12:37:16 -0500 | [diff] [blame] | 8 | ucd_retries=5 |
Andrew Jeffery | f1c6322 | 2017-03-23 10:54:24 +1030 | [diff] [blame] | 9 | ucd= |
Saqib Khan | c8c939e | 2017-03-13 12:37:16 -0500 | [diff] [blame] | 10 | |
Sergey Solomin | 11d63cf | 2016-11-28 15:03:24 -0600 | [diff] [blame] | 11 | # unbind ucd driver to permit i2cset |
| 12 | ucdpath="/sys/bus/i2c/drivers/ucd9000" |
| 13 | if [ -e $ucdpath ] |
| 14 | then |
Andrew Jeffery | f1c6322 | 2017-03-23 10:54:24 +1030 | [diff] [blame] | 15 | ucd=`ls -1 $ucdpath | grep 64` |
| 16 | if [ -n "$ucd" ] |
| 17 | then |
| 18 | echo $ucd > $ucdpath/unbind |
| 19 | fi |
Sergey Solomin | 11d63cf | 2016-11-28 15:03:24 -0600 | [diff] [blame] | 20 | fi |
| 21 | |
| 22 | # Setup UCD module (in standby) to disable VCS rails from power-on: |
| 23 | i2cset -y 11 0x64 0xF7 0x00 i |
| 24 | i2cset -y 11 0x64 0xF8 0x15 0x6E 0x80 0x0A 0x00 0x00 0x10 0x00 0x00 0x00 \ |
| 25 | 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 i |
| 26 | i2cset -y 11 0x64 0xF7 0x01 i |
| 27 | i2cset -y 11 0x64 0xF8 0x15 0x16 0x80 0x14 0x00 0x00 0x20 0x00 0x00 0x00 \ |
| 28 | 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 i |
| 29 | i2cset -y 11 0x64 0xD2 0x09 0x3F 0xFF 0x2F 0x0A 0x00 0x06 0x00 0x00 0x02 i |
| 30 | i2cset -y 11 0x64 0x00 0x0E i |
| 31 | i2cset -y 11 0x64 0x02 0x1A i |
| 32 | i2cset -y 11 0x64 0x00 0x0F i |
| 33 | i2cset -y 11 0x64 0x02 0x1A i |
| 34 | |
Andrew Jeffery | f1c6322 | 2017-03-23 10:54:24 +1030 | [diff] [blame] | 35 | # re-bind ucd driver only if we unbound it (i.e. ucd has been set with a value) |
| 36 | if [ -e $ucdpath -a -n "$ucd" ]; then |
Saqib Khan | c8c939e | 2017-03-13 12:37:16 -0500 | [diff] [blame] | 37 | j=0 |
| 38 | until [ $j -ge $ucd_retries ] || [ -e $ucdpath/$ucd ]; do |
| 39 | j=$((j+1)) |
Saqib Khan | e71ba0b | 2017-02-08 10:13:01 -0600 | [diff] [blame] | 40 | echo $ucd > $ucdpath/bind || ret=$? |
Saqib Khan | c8c939e | 2017-03-13 12:37:16 -0500 | [diff] [blame] | 41 | if [ $j -gt 1 ]; then |
| 42 | echo "rebinding UCD driver. Retry number $j" |
| 43 | sleep 1 |
| 44 | fi |
Saqib Khan | e71ba0b | 2017-02-08 10:13:01 -0600 | [diff] [blame] | 45 | done |
| 46 | if [ ! -e $ucdpath/$ucd ]; then exit $ret; fi |
Sergey Solomin | 11d63cf | 2016-11-28 15:03:24 -0600 | [diff] [blame] | 47 | fi |
Saqib Khan | e71ba0b | 2017-02-08 10:13:01 -0600 | [diff] [blame] | 48 | |