blob: c7cc4a231d51d7e3665d84a76bda3859e1aed98e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
#!/bin/bash
I2C_BUS=7
CHIP_ADDR=0x47
read_id() {
local idx=0
local result=0
local value=0
for ((idx=0; idx<6; idx++))
do
typeset -i value=$(gpioget $(gpiofind "FM_BMC_BOARD_SKU_ID${idx}_N"))
value=$((value << idx))
result=$((result | value))
done
echo $result
}
BOARD_ID=$(read_id)
if grep -q 'CPU part\s*: 0xc07' /proc/cpuinfo; then # AST2600
if [[ $BOARD_ID == 62 || $BOARD_ID == 61 ]]; then
# Write 0x01 data into General Control Register (offset 0x0A)
# Write 0x21 data into General Control Register (offset 0x0A)
# Write 0x80 data into Connection Status Register (offset 0x08)
# Write 0x20 data into General Control Register (offset 0x0A)
i2cset -y $I2C_BUS $CHIP_ADDR 0x0a 0x01; i2cset -y $I2C_BUS $CHIP_ADDR 0x0a 0x21; i2cset -y $I2C_BUS $CHIP_ADDR 0x08 0x80; i2cset -y $I2C_BUS $CHIP_ADDR 0x0a 0x20
echo "Configured USB Type C controller"
fi
fi
|