162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_ci# Copyright 2019 BayLibre SAS 362306a36Sopenharmony_ci%YAML 1.2 462306a36Sopenharmony_ci--- 562306a36Sopenharmony_ci$id: http://devicetree.org/schemas/eeprom/at24.yaml# 662306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 762306a36Sopenharmony_ci 862306a36Sopenharmony_cititle: I2C EEPROMs compatible with Atmel's AT24 962306a36Sopenharmony_ci 1062306a36Sopenharmony_cimaintainers: 1162306a36Sopenharmony_ci - Bartosz Golaszewski <bgolaszewski@baylibre.com> 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ciallOf: 1462306a36Sopenharmony_ci - $ref: /schemas/nvmem/nvmem.yaml 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ciselect: 1762306a36Sopenharmony_ci properties: 1862306a36Sopenharmony_ci compatible: 1962306a36Sopenharmony_ci contains: 2062306a36Sopenharmony_ci pattern: "^atmel,(24(c|cs|mac)[0-9]+|spd)$" 2162306a36Sopenharmony_ci required: 2262306a36Sopenharmony_ci - compatible 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_ciproperties: 2562306a36Sopenharmony_ci $nodename: 2662306a36Sopenharmony_ci pattern: "^eeprom@[0-9a-f]{1,2}$" 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ci # There are multiple known vendors who manufacture EEPROM chips compatible 2962306a36Sopenharmony_ci # with Atmel's AT24. The compatible string requires either a single item 3062306a36Sopenharmony_ci # if the memory comes from Atmel (in which case the vendor part must be 3162306a36Sopenharmony_ci # 'atmel') or two items with the same 'model' part where the vendor part of 3262306a36Sopenharmony_ci # the first one is the actual manufacturer and the second item is the 3362306a36Sopenharmony_ci # corresponding 'atmel,<model>' from Atmel. 3462306a36Sopenharmony_ci compatible: 3562306a36Sopenharmony_ci oneOf: 3662306a36Sopenharmony_ci - allOf: 3762306a36Sopenharmony_ci - minItems: 1 3862306a36Sopenharmony_ci items: 3962306a36Sopenharmony_ci - pattern: "^(atmel|catalyst|microchip|nxp|ramtron|renesas|rohm|st),(24(c|cs|lc|mac)[0-9]+|spd)$" 4062306a36Sopenharmony_ci - pattern: "^atmel,(24(c|cs|mac)[0-9]+|spd)$" 4162306a36Sopenharmony_ci - oneOf: 4262306a36Sopenharmony_ci - items: 4362306a36Sopenharmony_ci pattern: c00$ 4462306a36Sopenharmony_ci - items: 4562306a36Sopenharmony_ci pattern: c01$ 4662306a36Sopenharmony_ci - items: 4762306a36Sopenharmony_ci pattern: cs01$ 4862306a36Sopenharmony_ci - items: 4962306a36Sopenharmony_ci pattern: c02$ 5062306a36Sopenharmony_ci - items: 5162306a36Sopenharmony_ci pattern: cs02$ 5262306a36Sopenharmony_ci - items: 5362306a36Sopenharmony_ci pattern: mac402$ 5462306a36Sopenharmony_ci - items: 5562306a36Sopenharmony_ci pattern: mac602$ 5662306a36Sopenharmony_ci - items: 5762306a36Sopenharmony_ci pattern: c04$ 5862306a36Sopenharmony_ci - items: 5962306a36Sopenharmony_ci pattern: cs04$ 6062306a36Sopenharmony_ci - items: 6162306a36Sopenharmony_ci pattern: c08$ 6262306a36Sopenharmony_ci - items: 6362306a36Sopenharmony_ci pattern: cs08$ 6462306a36Sopenharmony_ci - items: 6562306a36Sopenharmony_ci pattern: c16$ 6662306a36Sopenharmony_ci - items: 6762306a36Sopenharmony_ci pattern: cs16$ 6862306a36Sopenharmony_ci - items: 6962306a36Sopenharmony_ci pattern: c32$ 7062306a36Sopenharmony_ci - items: 7162306a36Sopenharmony_ci pattern: cs32$ 7262306a36Sopenharmony_ci - items: 7362306a36Sopenharmony_ci pattern: c64$ 7462306a36Sopenharmony_ci - items: 7562306a36Sopenharmony_ci pattern: cs64$ 7662306a36Sopenharmony_ci - items: 7762306a36Sopenharmony_ci pattern: c128$ 7862306a36Sopenharmony_ci - items: 7962306a36Sopenharmony_ci pattern: cs128$ 8062306a36Sopenharmony_ci - items: 8162306a36Sopenharmony_ci pattern: c256$ 8262306a36Sopenharmony_ci - items: 8362306a36Sopenharmony_ci pattern: cs256$ 8462306a36Sopenharmony_ci - items: 8562306a36Sopenharmony_ci pattern: c512$ 8662306a36Sopenharmony_ci - items: 8762306a36Sopenharmony_ci pattern: cs512$ 8862306a36Sopenharmony_ci - items: 8962306a36Sopenharmony_ci pattern: c1024$ 9062306a36Sopenharmony_ci - items: 9162306a36Sopenharmony_ci pattern: cs1024$ 9262306a36Sopenharmony_ci - items: 9362306a36Sopenharmony_ci pattern: c1025$ 9462306a36Sopenharmony_ci - items: 9562306a36Sopenharmony_ci pattern: cs1025$ 9662306a36Sopenharmony_ci - items: 9762306a36Sopenharmony_ci pattern: c2048$ 9862306a36Sopenharmony_ci - items: 9962306a36Sopenharmony_ci pattern: cs2048$ 10062306a36Sopenharmony_ci - items: 10162306a36Sopenharmony_ci pattern: spd$ 10262306a36Sopenharmony_ci # These are special cases that don't conform to the above pattern. 10362306a36Sopenharmony_ci # Each requires a standard at24 model as fallback. 10462306a36Sopenharmony_ci - items: 10562306a36Sopenharmony_ci - const: belling,bl24c16a 10662306a36Sopenharmony_ci - const: atmel,24c16 10762306a36Sopenharmony_ci - items: 10862306a36Sopenharmony_ci - enum: 10962306a36Sopenharmony_ci - rohm,br24g01 11062306a36Sopenharmony_ci - rohm,br24t01 11162306a36Sopenharmony_ci - const: atmel,24c01 11262306a36Sopenharmony_ci - items: 11362306a36Sopenharmony_ci - enum: 11462306a36Sopenharmony_ci - nxp,se97b 11562306a36Sopenharmony_ci - renesas,r1ex24002 11662306a36Sopenharmony_ci - const: atmel,24c02 11762306a36Sopenharmony_ci - items: 11862306a36Sopenharmony_ci - enum: 11962306a36Sopenharmony_ci - onnn,cat24c04 12062306a36Sopenharmony_ci - onnn,cat24c05 12162306a36Sopenharmony_ci - const: atmel,24c04 12262306a36Sopenharmony_ci - items: 12362306a36Sopenharmony_ci - const: renesas,r1ex24016 12462306a36Sopenharmony_ci - const: atmel,24c16 12562306a36Sopenharmony_ci - items: 12662306a36Sopenharmony_ci - const: giantec,gt24c32a 12762306a36Sopenharmony_ci - const: atmel,24c32 12862306a36Sopenharmony_ci - items: 12962306a36Sopenharmony_ci - enum: 13062306a36Sopenharmony_ci - renesas,r1ex24128 13162306a36Sopenharmony_ci - samsung,s524ad0xd1 13262306a36Sopenharmony_ci - const: atmel,24c128 13362306a36Sopenharmony_ci 13462306a36Sopenharmony_ci label: 13562306a36Sopenharmony_ci description: Descriptive name of the EEPROM. 13662306a36Sopenharmony_ci 13762306a36Sopenharmony_ci reg: 13862306a36Sopenharmony_ci maxItems: 1 13962306a36Sopenharmony_ci 14062306a36Sopenharmony_ci pagesize: 14162306a36Sopenharmony_ci description: 14262306a36Sopenharmony_ci The length of the pagesize for writing. Please consult the 14362306a36Sopenharmony_ci manual of your device, that value varies a lot. A wrong value 14462306a36Sopenharmony_ci may result in data loss! If not specified, a safety value of 14562306a36Sopenharmony_ci '1' is used which will be very slow. 14662306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 14762306a36Sopenharmony_ci enum: [1, 8, 16, 32, 64, 128, 256] 14862306a36Sopenharmony_ci default: 1 14962306a36Sopenharmony_ci 15062306a36Sopenharmony_ci read-only: 15162306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/flag 15262306a36Sopenharmony_ci description: 15362306a36Sopenharmony_ci Disables writes to the eeprom. 15462306a36Sopenharmony_ci 15562306a36Sopenharmony_ci size: 15662306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 15762306a36Sopenharmony_ci description: 15862306a36Sopenharmony_ci Total eeprom size in bytes. 15962306a36Sopenharmony_ci 16062306a36Sopenharmony_ci no-read-rollover: 16162306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/flag 16262306a36Sopenharmony_ci description: 16362306a36Sopenharmony_ci Indicates that the multi-address eeprom does not automatically roll 16462306a36Sopenharmony_ci over reads to the next slave address. Please consult the manual of 16562306a36Sopenharmony_ci your device. 16662306a36Sopenharmony_ci 16762306a36Sopenharmony_ci wp-gpios: true 16862306a36Sopenharmony_ci 16962306a36Sopenharmony_ci address-width: 17062306a36Sopenharmony_ci description: 17162306a36Sopenharmony_ci Number of address bits. 17262306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 17362306a36Sopenharmony_ci default: 8 17462306a36Sopenharmony_ci enum: [ 8, 16 ] 17562306a36Sopenharmony_ci 17662306a36Sopenharmony_ci num-addresses: 17762306a36Sopenharmony_ci description: 17862306a36Sopenharmony_ci Total number of i2c slave addresses this device takes. 17962306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 18062306a36Sopenharmony_ci default: 1 18162306a36Sopenharmony_ci minimum: 1 18262306a36Sopenharmony_ci maximum: 8 18362306a36Sopenharmony_ci 18462306a36Sopenharmony_ci vcc-supply: 18562306a36Sopenharmony_ci description: 18662306a36Sopenharmony_ci phandle of the regulator that provides the supply voltage. 18762306a36Sopenharmony_ci 18862306a36Sopenharmony_cirequired: 18962306a36Sopenharmony_ci - compatible 19062306a36Sopenharmony_ci - reg 19162306a36Sopenharmony_ci 19262306a36Sopenharmony_ciunevaluatedProperties: false 19362306a36Sopenharmony_ci 19462306a36Sopenharmony_ciexamples: 19562306a36Sopenharmony_ci - | 19662306a36Sopenharmony_ci i2c { 19762306a36Sopenharmony_ci #address-cells = <1>; 19862306a36Sopenharmony_ci #size-cells = <0>; 19962306a36Sopenharmony_ci 20062306a36Sopenharmony_ci eeprom@52 { 20162306a36Sopenharmony_ci compatible = "microchip,24c32", "atmel,24c32"; 20262306a36Sopenharmony_ci reg = <0x52>; 20362306a36Sopenharmony_ci pagesize = <32>; 20462306a36Sopenharmony_ci wp-gpios = <&gpio1 3 0>; 20562306a36Sopenharmony_ci num-addresses = <8>; 20662306a36Sopenharmony_ci }; 20762306a36Sopenharmony_ci }; 20862306a36Sopenharmony_ci... 209