Path: blob/master/Documentation/devicetree/bindings/eeprom/at24.yaml
51676 views
# SPDX-License-Identifier: GPL-2.0-only1# Copyright 2019 BayLibre SAS2%YAML 1.23---4$id: http://devicetree.org/schemas/eeprom/at24.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#67title: I2C EEPROMs compatible with Atmel's AT2489maintainers:10- Bartosz Golaszewski <bgolaszewski@baylibre.com>1112allOf:13- $ref: /schemas/nvmem/nvmem.yaml14- $ref: /schemas/nvmem/nvmem-deprecated-cells.yaml1516select:17properties:18compatible:19contains:20anyOf:21- pattern: "^atmel,(24(c|cs|mac)[0-9]+|spd)$"22- enum: ["microchip,24aa025e48", "microchip,24aa025e64"]23required:24- compatible2526properties:27$nodename:28pattern: "^eeprom@[0-9a-f]{1,2}$"2930# There are multiple known vendors who manufacture EEPROM chips compatible31# with Atmel's AT24. The compatible string requires either a single item32# if the memory comes from Atmel (in which case the vendor part must be33# 'atmel') or two items with the same 'model' part where the vendor part of34# the first one is the actual manufacturer and the second item is the35# corresponding 'atmel,<model>' from Atmel.36compatible:37oneOf:38- allOf:39- minItems: 140items:41- pattern: "^(atmel|catalyst|microchip|nxp|ramtron|renesas|rohm|st),(24(c|cs|lc|mac)[0-9]+|spd)$"42- pattern: "^atmel,(24(c|cs|mac)[0-9]+|spd)$"43- oneOf:44- items:45pattern: c00$46- items:47pattern: c01$48- items:49pattern: cs01$50- items:51pattern: c02$52- items:53pattern: cs02$54- items:55pattern: mac402$56- items:57pattern: mac602$58- items:59pattern: c04$60- items:61pattern: cs04$62- items:63pattern: c08$64- items:65pattern: cs08$66- items:67pattern: c16$68- items:69pattern: cs16$70- items:71pattern: c32$72- items:73pattern: cs32$74- items:75pattern: c64$76- items:77pattern: cs64$78- items:79pattern: c128$80- items:81pattern: cs128$82- items:83pattern: c256$84- items:85pattern: cs256$86- items:87pattern: c512$88- items:89pattern: cs512$90- items:91pattern: c1024$92- items:93pattern: cs1024$94- items:95pattern: c1025$96- items:97pattern: cs1025$98- items:99pattern: c2048$100- items:101pattern: cs2048$102- items:103pattern: spd$104# These are special cases that don't conform to the above pattern.105# Each requires a standard at24 model as fallback.106- items:107- enum:108- rohm,br24g01109- rohm,br24t01110- const: atmel,24c01111- items:112- enum:113- nxp,se97b114- renesas,r1ex24002115- const: atmel,24c02116- items:117- enum:118- giantec,gt24c04a119- onnn,cat24c04120- onnn,cat24c05121- rohm,br24g04122- const: atmel,24c04123- items:124- enum:125- belling,bl24c16a126- renesas,r1ex24016127- const: atmel,24c16128- items:129- const: giantec,gt24c32a130- const: atmel,24c32131- items:132- enum:133- belling,bl24s64134- onnn,n24s64b135- puya,p24c64f136- const: atmel,24c64137- items:138- enum:139- giantec,gt24p128e140- giantec,gt24p128f141- renesas,r1ex24128142- samsung,s524ad0xd1143- const: atmel,24c128144- items:145- enum:146- giantec,gt24c256c147- puya,p24c256c148- const: atmel,24c256149- items:150- const: microchip,24aa025e48151- items:152- const: microchip,24aa025e64153- items:154- const: st,24256e-wl155- pattern: '^atmel,24c(32|64)d-wl$' # Actual vendor is st156157label:158description: Descriptive name of the EEPROM.159160reg:161maxItems: 1162163pagesize:164description:165The length of the pagesize for writing. Please consult the166manual of your device, that value varies a lot. A wrong value167may result in data loss! If not specified, a safety value of168'1' is used which will be very slow.169$ref: /schemas/types.yaml#/definitions/uint32170enum: [1, 8, 16, 32, 64, 128, 256]171default: 1172173read-only:174$ref: /schemas/types.yaml#/definitions/flag175description:176Disables writes to the eeprom.177178size:179$ref: /schemas/types.yaml#/definitions/uint32180description:181Total eeprom size in bytes.182183no-read-rollover:184$ref: /schemas/types.yaml#/definitions/flag185description:186Indicates that the multi-address eeprom does not automatically roll187over reads to the next slave address. Please consult the manual of188your device.189190wp-gpios: true191192address-width:193description:194Number of address bits.195$ref: /schemas/types.yaml#/definitions/uint32196default: 8197enum: [ 8, 16 ]198199num-addresses:200description:201Total number of i2c slave addresses this device takes.202$ref: /schemas/types.yaml#/definitions/uint32203default: 1204minimum: 1205maximum: 8206207vcc-supply:208description:209phandle of the regulator that provides the supply voltage.210211required:212- compatible213- reg214215unevaluatedProperties: false216217examples:218- |219i2c {220#address-cells = <1>;221#size-cells = <0>;222223eeprom@52 {224compatible = "microchip,24c32", "atmel,24c32";225reg = <0x52>;226pagesize = <32>;227wp-gpios = <&gpio1 3 0>;228num-addresses = <8>;229};230};231...232233234