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:
202
bindings/eeprom/at24.yaml
Normal file
202
bindings/eeprom/at24.yaml
Normal 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
146
bindings/eeprom/at25.yaml
Normal 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>;
|
||||
};
|
||||
};
|
69
bindings/eeprom/microchip,93lc46b.yaml
Normal file
69
bindings/eeprom/microchip,93lc46b.yaml
Normal 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>;
|
||||
};
|
||||
};
|
Reference in New Issue
Block a user