slave-eeprom-backend.rst 1005 B

1234567891011121314151617181920212223242526
  1. ==============================
  2. Linux I2C slave EEPROM backend
  3. ==============================
  4. by Wolfram Sang <wsa@sang-engineering.com> in 2014-20
  5. This backend simulates an EEPROM on the connected I2C bus. Its memory contents
  6. can be accessed from userspace via this file located in sysfs::
  7. /sys/bus/i2c/devices/<device-directory>/slave-eeprom
  8. The following types are available: 24c02, 24c32, 24c64, and 24c512. Read-only
  9. variants are also supported. The name needed for instantiating has the form
  10. 'slave-<type>[ro]'. Examples follow:
  11. 24c02, read/write, address 0x64:
  12. # echo slave-24c02 0x1064 > /sys/bus/i2c/devices/i2c-1/new_device
  13. 24c512, read-only, address 0x42:
  14. # echo slave-24c512ro 0x1042 > /sys/bus/i2c/devices/i2c-1/new_device
  15. You can also preload data during boot if a device-property named
  16. 'firmware-name' contains a valid filename (DT or ACPI only).
  17. As of 2015, Linux doesn't support poll on binary sysfs files, so there is no
  18. notification when another master changed the content.