# Copyright (c) 2019 Vestas Wind Systems A/S
# SPDX-License-Identifier: Apache-2.0

# Common fields for AT24 (I2C) and AT25 (SPI) EEPROM devices

include: eeprom-base.yaml

properties:
  size:
    required: true
  pagesize:
    type: int
    required: true
    description: EEPROM page size in bytes
  address-width:
    type: int
    required: true
    description: EEPROM address width in bits
  timeout:
    type: int
    required: true
    description: EEPROM write cycle timeout in milliseconds
  wp-gpios:
    type: phandle-array
    description: |
      GPIO to which the write-protect pin of the chip is connected.

      The device will interpret this signal as active-low.
