mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 11:18:45 +07:00
3f3d8ef7f4
AT24 EEPROMs have a write-protect pin, which - when pulled high - inhibits writes to the upper quadrant of memory (although it has been observed that on some chips it disables writing to the entire memory range). On some boards, this pin is connected to a GPIO and pulled high by default, which forces the user to manually change its state before writing. On linux this means that we either need to hog the line all the time, or set the GPIO value before writing from outside of the at24 driver. Add a new optional property to the device tree binding document, which allows to specify the GPIO line to which the write-protect pin is connected. Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Reviewed-by: Rob Herring <robh@kernel.org>
56 lines
1.5 KiB
Plaintext
56 lines
1.5 KiB
Plaintext
EEPROMs (I2C)
|
|
|
|
Required properties:
|
|
|
|
- compatible : should be "<manufacturer>,<type>", like these:
|
|
|
|
"atmel,24c00", "atmel,24c01", "atmel,24c02", "atmel,24c04",
|
|
"atmel,24c08", "atmel,24c16", "atmel,24c32", "atmel,24c64",
|
|
"atmel,24c128", "atmel,24c256", "atmel,24c512", "atmel,24c1024"
|
|
|
|
"catalyst,24c32"
|
|
|
|
"microchip,24c128"
|
|
|
|
"ramtron,24c64"
|
|
|
|
"renesas,r1ex24002"
|
|
|
|
The following manufacturers values have been deprecated:
|
|
"at", "at24"
|
|
|
|
If there is no specific driver for <manufacturer>, a generic
|
|
device with <type> and manufacturer "atmel" should be used.
|
|
Possible types are:
|
|
"24c00", "24c01", "24c02", "24c04", "24c08", "24c16", "24c32", "24c64",
|
|
"24c128", "24c256", "24c512", "24c1024", "spd"
|
|
|
|
- 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.
|
|
|
|
Example:
|
|
|
|
eeprom@52 {
|
|
compatible = "atmel,24c32";
|
|
reg = <0x52>;
|
|
pagesize = <32>;
|
|
wp-gpios = <&gpio1 3 0>;
|
|
};
|