0001 ==============================
0002 Linux I2C slave EEPROM backend
0003 ==============================
0004
0005 by Wolfram Sang <wsa@sang-engineering.com> in 2014-20
0006
0007 This backend simulates an EEPROM on the connected I2C bus. Its memory contents
0008 can be accessed from userspace via this file located in sysfs::
0009
0010 /sys/bus/i2c/devices/<device-directory>/slave-eeprom
0011
0012 The following types are available: 24c02, 24c32, 24c64, and 24c512. Read-only
0013 variants are also supported. The name needed for instantiating has the form
0014 'slave-<type>[ro]'. Examples follow:
0015
0016 24c02, read/write, address 0x64:
0017 # echo slave-24c02 0x1064 > /sys/bus/i2c/devices/i2c-1/new_device
0018
0019 24c512, read-only, address 0x42:
0020 # echo slave-24c512ro 0x1042 > /sys/bus/i2c/devices/i2c-1/new_device
0021
0022 You can also preload data during boot if a device-property named
0023 'firmware-name' contains a valid filename (DT or ACPI only).
0024
0025 As of 2015, Linux doesn't support poll on binary sysfs files, so there is no
0026 notification when another master changed the content.