Fix names of i2c busses
- The names of the i2c busses (i2c-x) are incorrect, so a user trying to
rely on pinout to tell what bus their device on will have trouble. The
hardware names are correct.
- Fetch the /dev/i2c-x names from sysfs
Change-Id: I30c77d3e845c0e460b2ed4f4c4a28e82041ee308
diff --git a/pinout b/pinout
index c21ce74..cd47c10 100755
--- a/pinout
+++ b/pinout
@@ -15,6 +15,7 @@
# limitations under the License.
import argparse
+import os
class Style:
BOLD = 1
@@ -41,10 +42,21 @@
Kind.PWM: (Style.YELLOW, 'PWM', 'Pulse Width Modulation [/sys/class/pwm/pwmchipN/pwm0]'),
}
+I2C_DEVICES = {
+ 'I2C1': '1100a000.i2c',
+ 'I2C2': '1100b000.i2c',
+}
+
+def lookup_i2c_bus(device_tree_name):
+ sysfs_directory = '/sys/devices/platform/soc/{}'.format(device_tree_name)
+ return [x for x in os.listdir(sysfs_directory) if x.startswith('i2c-')][0]
+
PINS = {
1: ('3.3.V', Kind.POWER), 2: ('5V', Kind.POWER),
- 3: ('I2C1_SDA (i2c-2)', Kind.I2C), 4: ('5V', Kind.POWER),
- 5: ('I2C1_SCL (i2c-2)', Kind.I2C), 6: ('GND', Kind.GND),
+ 3: ('I2C1_SDA ({})'.format(lookup_i2c_bus(I2C_DEVICES['I2C1'])), Kind.I2C),
+ 4: ('5V', Kind.POWER),
+ 5: ('I2C1_SCL ({})'.format(lookup_i2c_bus(I2C_DEVICES['I2C1'])), Kind.I2C),
+ 6: ('GND', Kind.GND),
7: ('GPIO (gpio409)', Kind.GPIO), 8: ('UART0_TX (ttyS0)', Kind.UART),
9: ('GND', Kind.GND), 10: ('UART0_RX (ttyS0)', Kind.UART),
11: ('GPIO (gpio396)', Kind.GPIO), 12: ('GPIO (gpio423) / I2S_BCK', Kind.SAI),
@@ -55,7 +67,8 @@
21: ('SPI_MISO (spidev0)', Kind.SPI), 22: ('GPIO (gpio394)', Kind.GPIO),
23: ('SPI_SCLK (spidev0)', Kind.SPI), 24: ('SPI_CSB (spidev0.0)', Kind.SPI),
25: ('GND', Kind.GND), 26: ('GPIO (gpio395)', Kind.GPIO),
- 27: ('I2C2_SDA (i2c-3)', Kind.I2C), 28: ('I2C2_SCL (i2c-3)', Kind.I2C),
+ 27: ('I2C2_SDA ({})'.format(lookup_i2c_bus(I2C_DEVICES['I2C2'])), Kind.I2C),
+ 28: ('I2C2_SCL ({})'.format(lookup_i2c_bus(I2C_DEVICES['I2C2'])), Kind.I2C),
29: ('UART1_TX (ttyS1)', Kind.UART), 30: ('GND', Kind.GND),
31: ('UART1_RX (ttyS1)', Kind.UART), 32: ('PWM (pwmchip0.0)', Kind.PWM),
33: ('PWM (pwmchip0.1)', Kind.PWM), 34: ('GND', Kind.GND),