mirror of
https://github.com/torvalds/linux.git
synced 2026-05-03 22:12:32 -04:00
Currently the at24 driver only creates additional i2c dummies for atmel,24c00 and it's hard-coded. Some other chips (like for example Microchip's 24AA02T) also take more slave addresses despite being otherwise compatible with already supported variants. Add a new property to the device tree binding document that defines the total number of i2c slave addresses taken by the device. The addresses are counted starting from the one in the reg property. Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
89 lines
2.8 KiB
Plaintext
89 lines
2.8 KiB
Plaintext
EEPROMs (I2C)
|
|
|
|
Required properties:
|
|
|
|
- compatible: Must be a "<manufacturer>,<model>" pair. The following <model>
|
|
values are supported (assuming "atmel" as manufacturer):
|
|
|
|
"atmel,24c00",
|
|
"atmel,24c01",
|
|
"atmel,24cs01",
|
|
"atmel,24c02",
|
|
"atmel,24cs02",
|
|
"atmel,24mac402",
|
|
"atmel,24mac602",
|
|
"atmel,spd",
|
|
"atmel,24c04",
|
|
"atmel,24cs04",
|
|
"atmel,24c08",
|
|
"atmel,24cs08",
|
|
"atmel,24c16",
|
|
"atmel,24cs16",
|
|
"atmel,24c32",
|
|
"atmel,24cs32",
|
|
"atmel,24c64",
|
|
"atmel,24cs64",
|
|
"atmel,24c128",
|
|
"atmel,24c256",
|
|
"atmel,24c512",
|
|
"atmel,24c1024",
|
|
"atmel,24c2048",
|
|
|
|
If <manufacturer> is not "atmel", then a fallback must be used
|
|
with the same <model> and "atmel" as manufacturer.
|
|
|
|
Example:
|
|
compatible = "microchip,24c128", "atmel,24c128";
|
|
|
|
Supported manufacturers are:
|
|
|
|
"catalyst",
|
|
"microchip",
|
|
"nxp",
|
|
"ramtron",
|
|
"renesas",
|
|
"rohm",
|
|
"st",
|
|
|
|
Some vendors use different model names for chips which are just
|
|
variants of the above. Known such exceptions are listed below:
|
|
|
|
"nxp,se97b" - the fallback is "atmel,24c02",
|
|
"renesas,r1ex24002" - the fallback is "atmel,24c02"
|
|
"renesas,r1ex24128" - the fallback is "atmel,24c128"
|
|
"rohm,br24t01" - the fallback is "atmel,24c01"
|
|
|
|
- reg: The I2C address of the EEPROM.
|
|
|
|
Optional properties:
|
|
|
|
- pagesize: The length of the pagesize for writing. Please consult the
|
|
manual of your device, that value varies a lot. A wrong value
|
|
may result in data loss! If not specified, a safety value of
|
|
'1' is used which will be very slow.
|
|
|
|
- read-only: This parameterless property disables writes to the eeprom.
|
|
|
|
- size: Total eeprom size in bytes.
|
|
|
|
- no-read-rollover: This parameterless property indicates that the
|
|
multi-address eeprom does not automatically roll over
|
|
reads to the next slave address. Please consult the
|
|
manual of your device.
|
|
|
|
- wp-gpios: GPIO to which the write-protect pin of the chip is connected.
|
|
|
|
- address-width: number of address bits (one of 8, 16).
|
|
|
|
- num-addresses: total number of i2c slave addresses this device takes
|
|
|
|
Example:
|
|
|
|
eeprom@52 {
|
|
compatible = "atmel,24c32";
|
|
reg = <0x52>;
|
|
pagesize = <32>;
|
|
wp-gpios = <&gpio1 3 0>;
|
|
num-addresses = <8>;
|
|
};
|