Peter Yin | 5eb9ba3 | 2024-06-13 18:01:58 +0800 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | |
Peter Yin | 461291a | 2024-08-08 18:00:36 +0800 | [diff] [blame] | 3 | read_i2c_dev() { |
| 4 | local bus="$1" |
| 5 | local addr="$2" |
| 6 | |
Peter Yin | 5eb9ba3 | 2024-06-13 18:01:58 +0800 | [diff] [blame] | 7 | for _ in {1..3}; do |
Peter Yin | 461291a | 2024-08-08 18:00:36 +0800 | [diff] [blame] | 8 | if /usr/sbin/i2cget -f -y "$bus" "$addr" 2>/dev/null; then |
Peter Yin | 5eb9ba3 | 2024-06-13 18:01:58 +0800 | [diff] [blame] | 9 | return 0 |
| 10 | fi |
| 11 | done |
| 12 | return 1 |
| 13 | } |
| 14 | |
| 15 | probe_sitv_pttv_mux() { |
Peter Yin | 461291a | 2024-08-08 18:00:36 +0800 | [diff] [blame] | 16 | if read_i2c_dev 9 0x71; then |
Peter Yin | 5eb9ba3 | 2024-06-13 18:01:58 +0800 | [diff] [blame] | 17 | echo pca9546 0x71 > /sys/bus/i2c/devices/i2c-9/new_device |
| 18 | else |
| 19 | echo pca9546 0x71 > /sys/bus/i2c/devices/i2c-11/new_device |
| 20 | fi |
| 21 | } |
| 22 | |
Peter Yin | 461291a | 2024-08-08 18:00:36 +0800 | [diff] [blame] | 23 | set_hsc_sample_rate() { |
| 24 | if read_i2c_dev 4 0x44; then |
| 25 | # set ltc4287 sample to 4096/1.16s |
| 26 | i2cset -f -y 4 0x44 0xD9 0x8b |
| 27 | fi |
| 28 | } |
Peter Yin | 5eb9ba3 | 2024-06-13 18:01:58 +0800 | [diff] [blame] | 29 | |
Peter Yin | 461291a | 2024-08-08 18:00:36 +0800 | [diff] [blame] | 30 | |
| 31 | probe_sitv_pttv_mux |
| 32 | set_hsc_sample_rate |
Peter Yin | 5eb9ba3 | 2024-06-13 18:01:58 +0800 | [diff] [blame] | 33 | exit 0 |