dt-bindings: Add devicetree bindings

Add snapshot of device tree bindings from keystone common kernel, branch
"android-mainline-keystone-qcom-release" at c4c12103f9c0 ("Snap for 9228065
from e32903b9a63bb558df8b803b076619c53c16baad to
android-mainline-keystone-qcom-release").

Change-Id: I7682079615cbd9f29340a5c1f2a1d84ec441a1f1
Signed-off-by: Melody Olvera <quic_molvera@quicinc.com>
This commit is contained in:
Melody Olvera
2023-04-03 14:38:11 -07:00
parent c334acf377
commit 6f18ce8026
4878 changed files with 424312 additions and 0 deletions

202
bindings/eeprom/at24.yaml Normal file
View File

@@ -0,0 +1,202 @@
# 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>
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:
- enum:
- rohm,br24g01
- rohm,br24t01
- const: atmel,24c01
- items:
- enum:
- nxp,se97b
- renesas,r1ex24002
- const: atmel,24c02
- items:
- enum:
- onnn,cat24c04
- onnn,cat24c05
- 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
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
additionalProperties: 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>;
};
};
...

146
bindings/eeprom/at25.yaml Normal file
View File

@@ -0,0 +1,146 @@
# 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 or FRAMs compatible with Atmel's AT25
maintainers:
- Christian Eggers <ceggers@arri.de>
properties:
$nodename:
anyOf:
- pattern: "^eeprom@[0-9a-f]{1,2}$"
- pattern: "^fram@[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
- cypress,fm25
- const: atmel,at25
# Please don't use this alternative for new bindings.
- items:
- const: atmel,at25
reg:
maxItems: 1
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. FRAMs don't have pages.
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
allOf:
- $ref: /schemas/spi/spi-peripheral-props.yaml#
- if:
properties:
compatible:
not:
contains:
const: cypress,fm25
then:
required:
- pagesize
- size
- address-width
unevaluatedProperties: 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>;
};
fram@1 {
compatible = "cypress,fm25", "atmel,at25";
reg = <1>;
spi-max-frequency = <40000000>;
};
};

View File

@@ -0,0 +1,69 @@
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/eeprom/microchip,93lc46b.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Microchip 93xx46 SPI compatible EEPROM family dt bindings
maintainers:
- Cory Tusar <cory.tusar@pid1solutions.com>
properties:
compatible:
enum:
- atmel,at93c46
- atmel,at93c46d
- atmel,at93c56
- atmel,at93c66
- eeprom-93xx46
- microchip,93lc46b
data-size:
description: number of data bits per word
$ref: /schemas/types.yaml#/definitions/uint32
enum: [8, 16]
reg:
description: chip select of EEPROM
maxItems: 1
read-only:
description:
parameter-less property which disables writes to the EEPROM
type: boolean
select-gpios:
description:
specifies the GPIO that needs to be asserted prior to each access
of EEPROM (e.g. for SPI bus multiplexing)
maxItems: 1
required:
- compatible
- reg
- data-size
- spi-max-frequency
allOf:
- $ref: /schemas/spi/spi-peripheral-props.yaml#
unevaluatedProperties: false
examples:
- |
#include <dt-bindings/gpio/gpio.h>
spi {
#address-cells = <1>;
#size-cells = <0>;
eeprom@0 {
compatible = "eeprom-93xx46";
reg = <0>;
spi-max-frequency = <1000000>;
spi-cs-high;
data-size = <8>;
select-gpios = <&gpio4 4 GPIO_ACTIVE_HIGH>;
};
};