Path: blob/master/Documentation/devicetree/bindings/eeprom/at24.yaml
26350 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- onnn,n24s64b134- puya,p24c64f135- const: atmel,24c64136- items:137- enum:138- giantec,gt24p128e139- giantec,gt24p128f140- renesas,r1ex24128141- samsung,s524ad0xd1142- const: atmel,24c128143- items:144- enum:145- puya,p24c256c146- const: atmel,24c256147- items:148- const: microchip,24aa025e48149- items:150- const: microchip,24aa025e64151- items:152- const: st,24256e-wl153- pattern: '^atmel,24c(32|64)d-wl$' # Actual vendor is st154155label:156description: Descriptive name of the EEPROM.157158reg:159maxItems: 1160161pagesize:162description:163The length of the pagesize for writing. Please consult the164manual of your device, that value varies a lot. A wrong value165may result in data loss! If not specified, a safety value of166'1' is used which will be very slow.167$ref: /schemas/types.yaml#/definitions/uint32168enum: [1, 8, 16, 32, 64, 128, 256]169default: 1170171read-only:172$ref: /schemas/types.yaml#/definitions/flag173description:174Disables writes to the eeprom.175176size:177$ref: /schemas/types.yaml#/definitions/uint32178description:179Total eeprom size in bytes.180181no-read-rollover:182$ref: /schemas/types.yaml#/definitions/flag183description:184Indicates that the multi-address eeprom does not automatically roll185over reads to the next slave address. Please consult the manual of186your device.187188wp-gpios: true189190address-width:191description:192Number of address bits.193$ref: /schemas/types.yaml#/definitions/uint32194default: 8195enum: [ 8, 16 ]196197num-addresses:198description:199Total number of i2c slave addresses this device takes.200$ref: /schemas/types.yaml#/definitions/uint32201default: 1202minimum: 1203maximum: 8204205vcc-supply:206description:207phandle of the regulator that provides the supply voltage.208209required:210- compatible211- reg212213unevaluatedProperties: false214215examples:216- |217i2c {218#address-cells = <1>;219#size-cells = <0>;220221eeprom@52 {222compatible = "microchip,24c32", "atmel,24c32";223reg = <0x52>;224pagesize = <32>;225wp-gpios = <&gpio1 3 0>;226num-addresses = <8>;227};228};229...230231232