blob: 4e7fb086839c9c873aac243e46d8c9f08055eac5 [file] [log] [blame]
Peter Yin5eb9ba32024-06-13 18:01:58 +08001#!/bin/bash
2
Peter Yin461291a2024-08-08 18:00:36 +08003read_i2c_dev() {
4 local bus="$1"
5 local addr="$2"
6
Peter Yin5eb9ba32024-06-13 18:01:58 +08007 for _ in {1..3}; do
Peter Yin461291a2024-08-08 18:00:36 +08008 if /usr/sbin/i2cget -f -y "$bus" "$addr" 2>/dev/null; then
Peter Yin5eb9ba32024-06-13 18:01:58 +08009 return 0
10 fi
11 done
12 return 1
13}
14
15probe_sitv_pttv_mux() {
Peter Yin461291a2024-08-08 18:00:36 +080016 if read_i2c_dev 9 0x71; then
Peter Yin5eb9ba32024-06-13 18:01:58 +080017 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 Yin461291a2024-08-08 18:00:36 +080023set_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 Yin5eb9ba32024-06-13 18:01:58 +080029
Peter Yin461291a2024-08-08 18:00:36 +080030
31probe_sitv_pttv_mux
32set_hsc_sample_rate
Peter Yin5eb9ba32024-06-13 18:01:58 +080033exit 0