# SPDX-License-Identifier: GPL-2.0-only
# Copyright 2019 BayLibre SAS
%YAML 1.2
---
$id: http://devicetree.org/schemas/eeprom/at24.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: I2C EEPROMs compatible with Atmel's AT24

maintainers:
  - Bartosz Golaszewski <bgolaszewski@baylibre.com>

allOf:
  - $ref: /schemas/nvmem/nvmem.yaml
  - $ref: /schemas/nvmem/nvmem-deprecated-cells.yaml

select:
  properties:
    compatible:
      contains:
        anyOf:
          - pattern: "^atmel,(24(c|cs|mac)[0-9]+|spd)$"
          - enum: ["microchip,24aa025e48", "microchip,24aa025e64"]
  required:
    - compatible

properties:
  $nodename:
    pattern: "^eeprom@[0-9a-f]{1,2}$"

  # There are multiple known vendors who manufacture EEPROM chips compatible
  # with Atmel's AT24. The compatible string requires either a single item
  # if the memory comes from Atmel (in which case the vendor part must be
  # 'atmel') or two items with the same 'model' part where the vendor part of
  # the first one is the actual manufacturer and the second item is the
  # corresponding 'atmel,<model>' from Atmel.
  compatible:
    oneOf:
      - allOf:
          - minItems: 1
            items:
              - pattern: "^(atmel|catalyst|microchip|nxp|ramtron|renesas|rohm|st),(24(c|cs|lc|mac)[0-9]+|spd)$"
              - pattern: "^atmel,(24(c|cs|mac)[0-9]+|spd)$"
          - oneOf:
              - items:
                  pattern: c00$
              - items:
                  pattern: c01$
              - items:
                  pattern: cs01$
              - items:
                  pattern: c02$
              - items:
                  pattern: cs02$
              - items:
                  pattern: mac402$
              - items:
                  pattern: mac602$
              - items:
                  pattern: c04$
              - items:
                  pattern: cs04$
              - items:
                  pattern: c08$
              - items:
                  pattern: cs08$
              - items:
                  pattern: c16$
              - items:
                  pattern: cs16$
              - items:
                  pattern: c32$
              - items:
                  pattern: cs32$
              - items:
                  pattern: c64$
              - items:
                  pattern: cs64$
              - items:
                  pattern: c128$
              - items:
                  pattern: cs128$
              - items:
                  pattern: c256$
              - items:
                  pattern: cs256$
              - items:
                  pattern: c512$
              - items:
                  pattern: cs512$
              - items:
                  pattern: c1024$
              - items:
                  pattern: cs1024$
              - items:
                  pattern: c1025$
              - items:
                  pattern: cs1025$
              - items:
                  pattern: c2048$
              - items:
                  pattern: cs2048$
              - items:
                  pattern: spd$
      # These are special cases that don't conform to the above pattern.
      # Each requires a standard at24 model as fallback.
      - items:
          - enum:
              - rohm,br24g01
              - rohm,br24t01
          - const: atmel,24c01
      - items:
          - enum:
              - nxp,se97b
              - renesas,r1ex24002
          - const: atmel,24c02
      - items:
          - enum:
              - giantec,gt24c04a
              - onnn,cat24c04
              - onnn,cat24c05
              - rohm,br24g04
          - const: atmel,24c04
      - items:
          - enum:
              - belling,bl24c16a
              - renesas,r1ex24016
          - const: atmel,24c16
      - items:
          - const: giantec,gt24c32a
          - const: atmel,24c32
      - items:
          - const: onnn,n24s64b
          - const: atmel,24c64
      - items:
          - enum:
              - giantec,gt24p128f
              - renesas,r1ex24128
              - samsung,s524ad0xd1
          - const: atmel,24c128
      - items:
          - enum:
              - puya,p24c256c
          - const: atmel,24c256
      - items:
          - const: microchip,24aa025e48
      - items:
          - const: microchip,24aa025e64
      - items:
          - const: st,24256e-wl
      - pattern: '^atmel,24c(32|64)d-wl$' # Actual vendor is st

  label:
    description: Descriptive name of the EEPROM.

  reg:
    maxItems: 1

  pagesize:
    description:
      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.
    $ref: /schemas/types.yaml#/definitions/uint32
    enum: [1, 8, 16, 32, 64, 128, 256]
    default: 1

  read-only:
    $ref: /schemas/types.yaml#/definitions/flag
    description:
      Disables writes to the eeprom.

  size:
    $ref: /schemas/types.yaml#/definitions/uint32
    description:
      Total eeprom size in bytes.

  no-read-rollover:
    $ref: /schemas/types.yaml#/definitions/flag
    description:
      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: true

  address-width:
    description:
      Number of address bits.
    $ref: /schemas/types.yaml#/definitions/uint32
    default: 8
    enum: [ 8, 16 ]

  num-addresses:
    description:
      Total number of i2c slave addresses this device takes.
    $ref: /schemas/types.yaml#/definitions/uint32
    default: 1
    minimum: 1
    maximum: 8

  vcc-supply:
    description:
      phandle of the regulator that provides the supply voltage.

required:
  - compatible
  - reg

unevaluatedProperties: false

examples:
  - |
    i2c {
      #address-cells = <1>;
      #size-cells = <0>;

      eeprom@52 {
          compatible = "microchip,24c32", "atmel,24c32";
          reg = <0x52>;
          pagesize = <32>;
          wp-gpios = <&gpio1 3 0>;
          num-addresses = <8>;
      };
    };
...
