Have you got any pull-up resistors installed on GPIOs 0&1? Without those you won't get reliable I2C. (Easiest approach on a CM5IO board is to add the jumpers to J6, as that adds them for the CAM/DISP1 connector)
You shouldn't need to use "at24" in /etc/modules as the compatible string from the overlay should automatically trigger the module loading (assuming this is a normal Raspberry Pi OS install and hence has udev rules to do so)
I've just tested your overlay. The module is loaded automatically.
I do getbut that is largely expected as you haven't specified a regulator.
The driver probe does a trial read of the device and fails the probe if that read fails. Annoyingly it doesn't log any error.
I don't have an EEPROM connected, but nobble that read at https://github.com/raspberrypi/linux/bl ... #L775-L776 and I then also getlogged in the kernel log, and /sys/class/i2c-dev/i2c-0/device/0-0050/eeprom exists.
The other test you can do is to add "trace_event=i2c" to the start of the line in /boot/firmware/cmdline.txt. All I2C transactions then get logged to /sys/kernel/debug/tracing/trace. If you're getting i2c_result with ret=-121 for i2c-0 a=050, then the CM isn't seeing the EEPROM.
You shouldn't need to use "at24" in /etc/modules as the compatible string from the overlay should automatically trigger the module loading (assuming this is a normal Raspberry Pi OS install and hence has udev rules to do so)
I've just tested your overlay. The module is loaded automatically.
I do get
Code:
at24 0-0050: supply vcc not found, using dummy regulatorThe driver probe does a trial read of the device and fails the probe if that read fails. Annoyingly it doesn't log any error.
I don't have an EEPROM connected, but nobble that read at https://github.com/raspberrypi/linux/bl ... #L775-L776 and I then also get
Code:
at24 0-0050: 8192 byte 24c64 EEPROM, writable, 32 bytes/writeThe other test you can do is to add "trace_event=i2c" to the start of the line in /boot/firmware/cmdline.txt. All I2C transactions then get logged to /sys/kernel/debug/tracing/trace. If you're getting i2c_result with ret=-121 for i2c-0 a=050, then the CM isn't seeing the EEPROM.
Statistics: Posted by 6by9 — Thu Jun 26, 2025 1:14 pm