17f3bf420SBartosz Golaszewski# SPDX-License-Identifier: GPL-2.0-only 27f3bf420SBartosz Golaszewski# Copyright 2019 BayLibre SAS 37f3bf420SBartosz Golaszewski%YAML 1.2 47f3bf420SBartosz Golaszewski--- 57f3bf420SBartosz Golaszewski$id: "http://devicetree.org/schemas/eeprom/at24.yaml#" 67f3bf420SBartosz Golaszewski$schema: "http://devicetree.org/meta-schemas/core.yaml#" 77f3bf420SBartosz Golaszewski 87f3bf420SBartosz Golaszewskititle: I2C EEPROMs compatible with Atmel's AT24 97f3bf420SBartosz Golaszewski 107f3bf420SBartosz Golaszewskimaintainers: 117f3bf420SBartosz Golaszewski - Bartosz Golaszewski <bgolaszewski@baylibre.com> 127f3bf420SBartosz Golaszewski 137f3bf420SBartosz Golaszewskiselect: 147f3bf420SBartosz Golaszewski properties: 157f3bf420SBartosz Golaszewski compatible: 167f3bf420SBartosz Golaszewski contains: 177f3bf420SBartosz Golaszewski pattern: "^atmel,(24(c|cs|mac)[0-9]+|spd)$" 187f3bf420SBartosz Golaszewski required: 197f3bf420SBartosz Golaszewski - compatible 207f3bf420SBartosz Golaszewski 217f3bf420SBartosz Golaszewskiproperties: 227f3bf420SBartosz Golaszewski $nodename: 237f3bf420SBartosz Golaszewski pattern: "^eeprom@[0-9a-f]{1,2}$" 247f3bf420SBartosz Golaszewski 257f3bf420SBartosz Golaszewski # There are multiple known vendors who manufacture EEPROM chips compatible 267f3bf420SBartosz Golaszewski # with Atmel's AT24. The compatible string requires either a single item 277f3bf420SBartosz Golaszewski # if the memory comes from Atmel (in which case the vendor part must be 287f3bf420SBartosz Golaszewski # 'atmel') or two items with the same 'model' part where the vendor part of 297f3bf420SBartosz Golaszewski # the first one is the actual manufacturer and the second item is the 307f3bf420SBartosz Golaszewski # corresponding 'atmel,<model>' from Atmel. 317f3bf420SBartosz Golaszewski compatible: 327f3bf420SBartosz Golaszewski oneOf: 337f3bf420SBartosz Golaszewski - allOf: 347f3bf420SBartosz Golaszewski - minItems: 1 357f3bf420SBartosz Golaszewski items: 36410dcdc2SMasahiro Yamada - pattern: "^(atmel|catalyst|microchip|nxp|ramtron|renesas|rohm|st),(24(c|cs|lc|mac)[0-9]+|spd)$" 377f3bf420SBartosz Golaszewski - pattern: "^atmel,(24(c|cs|mac)[0-9]+|spd)$" 387f3bf420SBartosz Golaszewski - oneOf: 397f3bf420SBartosz Golaszewski - items: 407f3bf420SBartosz Golaszewski pattern: c00$ 417f3bf420SBartosz Golaszewski - items: 427f3bf420SBartosz Golaszewski pattern: c01$ 437f3bf420SBartosz Golaszewski - items: 447f3bf420SBartosz Golaszewski pattern: cs01$ 457f3bf420SBartosz Golaszewski - items: 467f3bf420SBartosz Golaszewski pattern: c02$ 477f3bf420SBartosz Golaszewski - items: 487f3bf420SBartosz Golaszewski pattern: cs02$ 497f3bf420SBartosz Golaszewski - items: 507f3bf420SBartosz Golaszewski pattern: mac402$ 517f3bf420SBartosz Golaszewski - items: 527f3bf420SBartosz Golaszewski pattern: mac602$ 537f3bf420SBartosz Golaszewski - items: 547f3bf420SBartosz Golaszewski pattern: c04$ 557f3bf420SBartosz Golaszewski - items: 567f3bf420SBartosz Golaszewski pattern: cs04$ 577f3bf420SBartosz Golaszewski - items: 587f3bf420SBartosz Golaszewski pattern: c08$ 597f3bf420SBartosz Golaszewski - items: 607f3bf420SBartosz Golaszewski pattern: cs08$ 617f3bf420SBartosz Golaszewski - items: 627f3bf420SBartosz Golaszewski pattern: c16$ 637f3bf420SBartosz Golaszewski - items: 647f3bf420SBartosz Golaszewski pattern: cs16$ 657f3bf420SBartosz Golaszewski - items: 667f3bf420SBartosz Golaszewski pattern: c32$ 677f3bf420SBartosz Golaszewski - items: 687f3bf420SBartosz Golaszewski pattern: cs32$ 697f3bf420SBartosz Golaszewski - items: 707f3bf420SBartosz Golaszewski pattern: c64$ 717f3bf420SBartosz Golaszewski - items: 727f3bf420SBartosz Golaszewski pattern: cs64$ 737f3bf420SBartosz Golaszewski - items: 747f3bf420SBartosz Golaszewski pattern: c128$ 757f3bf420SBartosz Golaszewski - items: 767f3bf420SBartosz Golaszewski pattern: cs128$ 777f3bf420SBartosz Golaszewski - items: 787f3bf420SBartosz Golaszewski pattern: c256$ 797f3bf420SBartosz Golaszewski - items: 807f3bf420SBartosz Golaszewski pattern: cs256$ 817f3bf420SBartosz Golaszewski - items: 827f3bf420SBartosz Golaszewski pattern: c512$ 837f3bf420SBartosz Golaszewski - items: 847f3bf420SBartosz Golaszewski pattern: cs512$ 857f3bf420SBartosz Golaszewski - items: 867f3bf420SBartosz Golaszewski pattern: c1024$ 877f3bf420SBartosz Golaszewski - items: 887f3bf420SBartosz Golaszewski pattern: cs1024$ 897f3bf420SBartosz Golaszewski - items: 90151a1523SMaxim Kochetkov pattern: c1025$ 91151a1523SMaxim Kochetkov - items: 92151a1523SMaxim Kochetkov pattern: cs1025$ 93151a1523SMaxim Kochetkov - items: 947f3bf420SBartosz Golaszewski pattern: c2048$ 957f3bf420SBartosz Golaszewski - items: 967f3bf420SBartosz Golaszewski pattern: cs2048$ 977f3bf420SBartosz Golaszewski - items: 987f3bf420SBartosz Golaszewski pattern: spd$ 997f3bf420SBartosz Golaszewski # These are special cases that don't conform to the above pattern. 1007f3bf420SBartosz Golaszewski # Each requires a standard at24 model as fallback. 1017f3bf420SBartosz Golaszewski - items: 1026f89f413SGeert Uytterhoeven - enum: 1036f89f413SGeert Uytterhoeven - rohm,br24g01 1046f89f413SGeert Uytterhoeven - rohm,br24t01 1056f89f413SGeert Uytterhoeven - const: atmel,24c01 1066f89f413SGeert Uytterhoeven - items: 1076f89f413SGeert Uytterhoeven - enum: 1086f89f413SGeert Uytterhoeven - nxp,se97b 1096f89f413SGeert Uytterhoeven - renesas,r1ex24002 1107f3bf420SBartosz Golaszewski - const: atmel,24c02 1117f3bf420SBartosz Golaszewski - items: 1126f89f413SGeert Uytterhoeven - enum: 1136f89f413SGeert Uytterhoeven - onnn,cat24c04 1146f89f413SGeert Uytterhoeven - onnn,cat24c05 11576292540SRaag Jadav - const: atmel,24c04 11676292540SRaag Jadav - items: 1177f3bf420SBartosz Golaszewski - const: renesas,r1ex24016 1187f3bf420SBartosz Golaszewski - const: atmel,24c16 1197f3bf420SBartosz Golaszewski - items: 12061a48006SBartosz Golaszewski - const: giantec,gt24c32a 12161a48006SBartosz Golaszewski - const: atmel,24c32 12261a48006SBartosz Golaszewski - items: 123*dedf10f4SRob Herring - enum: 124*dedf10f4SRob Herring - renesas,r1ex24128 125*dedf10f4SRob Herring - samsung,s524ad0xd1 1267f3bf420SBartosz Golaszewski - const: atmel,24c128 1277f3bf420SBartosz Golaszewski 128412b7a52SJon Hunter label: 129412b7a52SJon Hunter description: Descriptive name of the EEPROM. 130412b7a52SJon Hunter 1317f3bf420SBartosz Golaszewski reg: 1327f3bf420SBartosz Golaszewski maxItems: 1 1337f3bf420SBartosz Golaszewski 1347f3bf420SBartosz Golaszewski pagesize: 1357f3bf420SBartosz Golaszewski description: 1367f3bf420SBartosz Golaszewski The length of the pagesize for writing. Please consult the 1377f3bf420SBartosz Golaszewski manual of your device, that value varies a lot. A wrong value 1387f3bf420SBartosz Golaszewski may result in data loss! If not specified, a safety value of 1397f3bf420SBartosz Golaszewski '1' is used which will be very slow. 1403d21a460SRob Herring $ref: /schemas/types.yaml#/definitions/uint32 141cf4bc468SGeert Uytterhoeven enum: [1, 8, 16, 32, 64, 128, 256] 1427f3bf420SBartosz Golaszewski default: 1 1437f3bf420SBartosz Golaszewski 1447f3bf420SBartosz Golaszewski read-only: 145d69c6dddSRob Herring $ref: /schemas/types.yaml#/definitions/flag 1467f3bf420SBartosz Golaszewski description: 1477f3bf420SBartosz Golaszewski Disables writes to the eeprom. 1487f3bf420SBartosz Golaszewski 1497f3bf420SBartosz Golaszewski size: 1507f3bf420SBartosz Golaszewski $ref: /schemas/types.yaml#/definitions/uint32 1517f3bf420SBartosz Golaszewski description: 1527f3bf420SBartosz Golaszewski Total eeprom size in bytes. 1537f3bf420SBartosz Golaszewski 1547f3bf420SBartosz Golaszewski no-read-rollover: 155d69c6dddSRob Herring $ref: /schemas/types.yaml#/definitions/flag 1567f3bf420SBartosz Golaszewski description: 1577f3bf420SBartosz Golaszewski Indicates that the multi-address eeprom does not automatically roll 1587f3bf420SBartosz Golaszewski over reads to the next slave address. Please consult the manual of 1597f3bf420SBartosz Golaszewski your device. 1607f3bf420SBartosz Golaszewski 1616c57a664SKhouloud Touil wp-gpios: true 1627f3bf420SBartosz Golaszewski 1637f3bf420SBartosz Golaszewski address-width: 1647f3bf420SBartosz Golaszewski description: 1657f3bf420SBartosz Golaszewski Number of address bits. 1663d21a460SRob Herring $ref: /schemas/types.yaml#/definitions/uint32 1677f3bf420SBartosz Golaszewski default: 8 1687f3bf420SBartosz Golaszewski enum: [ 8, 16 ] 1697f3bf420SBartosz Golaszewski 1707f3bf420SBartosz Golaszewski num-addresses: 1717f3bf420SBartosz Golaszewski description: 1727f3bf420SBartosz Golaszewski Total number of i2c slave addresses this device takes. 1733d21a460SRob Herring $ref: /schemas/types.yaml#/definitions/uint32 1747f3bf420SBartosz Golaszewski default: 1 1757f3bf420SBartosz Golaszewski minimum: 1 1767f3bf420SBartosz Golaszewski maximum: 8 1777f3bf420SBartosz Golaszewski 178c6cadc75SBibby Hsieh vcc-supply: 179c6cadc75SBibby Hsieh description: 180c6cadc75SBibby Hsieh phandle of the regulator that provides the supply voltage. 181c6cadc75SBibby Hsieh 1827f3bf420SBartosz Golaszewskirequired: 1837f3bf420SBartosz Golaszewski - compatible 1847f3bf420SBartosz Golaszewski - reg 1857f3bf420SBartosz Golaszewski 1867f464532SRob HerringadditionalProperties: false 1877f464532SRob Herring 1887f3bf420SBartosz Golaszewskiexamples: 1897f3bf420SBartosz Golaszewski - | 1907f3bf420SBartosz Golaszewski i2c { 1917f3bf420SBartosz Golaszewski #address-cells = <1>; 1927f3bf420SBartosz Golaszewski #size-cells = <0>; 1937f3bf420SBartosz Golaszewski 1947f3bf420SBartosz Golaszewski eeprom@52 { 1957f3bf420SBartosz Golaszewski compatible = "microchip,24c32", "atmel,24c32"; 1967f3bf420SBartosz Golaszewski reg = <0x52>; 1977f3bf420SBartosz Golaszewski pagesize = <32>; 1987f3bf420SBartosz Golaszewski wp-gpios = <&gpio1 3 0>; 1997f3bf420SBartosz Golaszewski num-addresses = <8>; 2007f3bf420SBartosz Golaszewski }; 2017f3bf420SBartosz Golaszewski }; 2027f3bf420SBartosz Golaszewski... 203