add utilities for led and gpio dump and detection

This commit is contained in:
HL Yi
2026-06-21 13:04:04 -05:00
parent f122402bdd
commit ebc6cd06ad
4 changed files with 340 additions and 0 deletions
+37
View File
@@ -0,0 +1,37 @@
#!/usr/bin/env python3
import time
import argparse
from smbus2 import SMBus, i2c_msg
# Configuration
DEFAULT_I2C_BUS = 1
DEVICE_ADDR = 0x5C # Replace with your device address
NUM_BYTES = 16 # Bytes to read
# Parse command line arguments
parser = argparse.ArgumentParser(description='Dump RTL registers via I2C')
parser.add_argument('-b', '--bus', type=int, default=DEFAULT_I2C_BUS,
help='I2C bus number (default: {})'.format(DEFAULT_I2C_BUS))
args = parser.parse_args()
I2C_BUS = args.bus
# Open I2C bus
with SMBus(I2C_BUS) as bus:
for addr in range (0, 65536, NUM_BYTES):
# Create write message (send register address)
write = i2c_msg.write(DEVICE_ADDR, [addr>>8, addr & 0xff])
# Create read message (read 2 bytes)
read = i2c_msg.read(DEVICE_ADDR, NUM_BYTES)
# Perform combined transaction
bus.i2c_rdwr(write, read)
new_data = list(read)
# Convert read message to string
datastr = " ".join([ f"{x:02x}" for x in new_data])
print(f"{addr:04x}: {datastr}")