Files
linux_media/Documentation/devicetree/bindings/eeprom/at25.yaml
Rob Herring 0499220d6d dt-bindings: Add missing array size constraints
DT properties which can have multiple entries need to specify what the
entries are and define how many entries there can be. In the case of
only a single entry, just 'maxItems: 1' is sufficient.

Add the missing entry constraints. These were found with a modified
meta-schema. Unfortunately, there are a few cases where the size
constraints are not defined such as common bindings, so the meta-schema
can't be part of the normal checks.

Cc: Jens Axboe <axboe@kernel.dk>
Cc: Stephen Boyd <sboyd@kernel.org>
Cc: Thierry Reding <thierry.reding@gmail.com>
Cc: MyungJoo Ham <myungjoo.ham@samsung.com>
Cc: Chanwoo Choi <cw00.choi@samsung.com>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Cc: Jonathan Cameron <jic23@kernel.org>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Marc Zyngier <maz@kernel.org>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: Chen-Yu Tsai <wens@csie.org>
Cc: Ulf Hansson <ulf.hansson@linaro.org>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Sebastian Reichel <sre@kernel.org>
Cc: Ohad Ben-Cohen <ohad@wizery.com>
Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Acked-by: Sebastian Reichel <sre@kernel.org>
Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> #for-iio
Acked-by: Chanwoo Choi <cw00.choi@samsung.com>
Reviewed-by: Suman Anna <s-anna@ti.com>
Acked-by: Paul Cercueil <paul@crapouillou.net>
Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Acked-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20210104230253.2805217-1-robh@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org>
2021-01-11 17:42:25 -06:00

129 lines
3.2 KiB
YAML

# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: "http://devicetree.org/schemas/eeprom/at25.yaml#"
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
title: SPI EEPROMs compatible with Atmel's AT25
maintainers:
- Christian Eggers <ceggers@arri.de>
properties:
$nodename:
pattern: "^eeprom@[0-9a-f]{1,2}$"
# There are multiple known vendors who manufacture EEPROM chips compatible
# with Atmel's AT25. The compatible string requires two items where the
# 'vendor' and 'model' parts of the first are the actual chip and the second
# item is fixed to "atmel,at25". Some existing bindings only have the
# "atmel,at25" part and should be fixed by somebody who knows vendor and
# product.
compatible:
oneOf:
- items:
- enum:
- anvo,anv32e61w
- atmel,at25256B
- fujitsu,mb85rs1mt
- fujitsu,mb85rs64
- microchip,at25160bn
- microchip,25lc040
- st,m95m02
- st,m95256
- const: atmel,at25
# Please don't use this alternative for new bindings.
- items:
- const: atmel,at25
reg:
maxItems: 1
spi-max-frequency: true
pagesize:
$ref: /schemas/types.yaml#/definitions/uint32
enum: [1, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072]
description:
Size of the eeprom page.
size:
$ref: /schemas/types.yaml#/definitions/uint32
description:
Total eeprom size in bytes.
address-width:
$ref: /schemas/types.yaml#/definitions/uint32
enum: [ 8, 9, 16, 24 ]
description:
Number of address bits.
For 9 bits, the MSB of the address is sent as bit 3 of the instruction
byte, before the address byte.
spi-cpha: true
spi-cpol: true
read-only:
description:
Disable writes to the eeprom.
type: boolean
wp-gpios:
maxItems: 1
description:
GPIO to which the write-protect pin of the chip is connected.
# Deprecated: at25,byte-len, at25,addr-mode, at25,page-size
at25,byte-len:
$ref: /schemas/types.yaml#/definitions/uint32
description:
Total eeprom size in bytes. Deprecated, use "size" property instead.
deprecated: true
at25,addr-mode:
$ref: /schemas/types.yaml#/definitions/uint32
description:
Addr-mode flags, as defined in include/linux/spi/eeprom.h.
Deprecated, use "address-width" property instead.
deprecated: true
at25,page-size:
$ref: /schemas/types.yaml#/definitions/uint32
description:
Size of the eeprom page. Deprecated, use "pagesize" property instead.
deprecated: true
required:
- compatible
- reg
- spi-max-frequency
- pagesize
- size
- address-width
additionalProperties: false
examples:
- |
#include <dt-bindings/gpio/gpio.h>
spi0 {
#address-cells = <1>;
#size-cells = <0>;
eeprom@0 {
compatible = "st,m95256", "atmel,at25";
reg = <0>;
spi-max-frequency = <5000000>;
spi-cpha;
spi-cpol;
wp-gpios = <&gpio1 3 0>;
pagesize = <64>;
size = <32768>;
address-width = <16>;
};
};