• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#!/bin/sh -eu
2
3if ! lsmod | grep i2c_dev >/dev/null 2>&1; then
4	echo "kernel module i2c-dev must be loaded"
5	exit
6fi
7
8if ! command -v i2cdump >/dev/null 2>&1; then
9	echo "i2cdump from i2c-tools must be installed"
10	exit
11fi
12
13
14for connector in $(find /sys/class/drm/ -maxdepth 1 -name 'card[0-9]-*'); do
15	bus=$(find "$connector/" -maxdepth 1 -mindepth 1 -type d -name 'i2c-*' -print -quit | sed -n 's/.*\/i2c\-\(.*\)/\1/p')
16	if [ "$bus" = "" ]; then
17		bus=$(find "$connector/ddc/i2c-dev/" -maxdepth 1 -mindepth 1 -type d -name 'i2c-*' -print -quit | sed -n 's/.*\/i2c\-\(.*\)/\1/p')
18	fi
19	if [ "$bus" = "" ]; then
20		echo "Connector $(basename $connector) does not have an i2c bus. Skipping."
21		continue
22	fi
23
24	echo "Dumping connector $(basename $connector) i2c bus address 0x50"
25	i2cdump -y $bus 0x50 b
26
27	echo "Dumping connector $(basename $connector) i2c bus address 0x51"
28	i2cdump -y $bus 0x51 b
29
30	echo "Dumping connector $(basename $connector) i2c bus address 0x54"
31	i2cdump -y $bus 0x54 b
32
33	echo "Dumping connector $(basename $connector) i2c bus address 0x55"
34	i2cdump -y $bus 0x55 b
35done
36
37