# 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:
        pattern: "^atmel,(24(c|cs|mac)[0-9]+|spd)$"
  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:
          - const: belling,bl24c16a
          - const: atmel,24c16
      - items:
          - enum:
              - rohm,br24g01
              - rohm,br24t01
          - const: atmel,24c01
      - items:
          - enum:
              - nxp,se97b
              - renesas,r1ex24002
          - const: atmel,24c02
      - items:
          - enum:
              - onnn,cat24c04
              - onnn,cat24c05
              - rohm,br24g04
          - const: atmel,24c04
      - items:
          - const: renesas,r1ex24016
          - const: atmel,24c16
      - items:
          - const: giantec,gt24c32a
          - const: atmel,24c32
      - items:
          - enum:
              - renesas,r1ex24128
              - samsung,s524ad0xd1
          - const: atmel,24c128
      - 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>;
      };
    };
...
