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:
53
bindings/nvmem/allwinner,sun4i-a10-sid.yaml
Normal file
53
bindings/nvmem/allwinner,sun4i-a10-sid.yaml
Normal file
@@ -0,0 +1,53 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/nvmem/allwinner,sun4i-a10-sid.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Allwinner A10 Security ID
|
||||
|
||||
maintainers:
|
||||
- Chen-Yu Tsai <wens@csie.org>
|
||||
- Maxime Ripard <mripard@kernel.org>
|
||||
|
||||
allOf:
|
||||
- $ref: "nvmem.yaml#"
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
oneOf:
|
||||
- const: allwinner,sun4i-a10-sid
|
||||
- const: allwinner,sun7i-a20-sid
|
||||
- const: allwinner,sun8i-a83t-sid
|
||||
- const: allwinner,sun8i-h3-sid
|
||||
- const: allwinner,sun20i-d1-sid
|
||||
- const: allwinner,sun50i-a64-sid
|
||||
- items:
|
||||
- const: allwinner,sun50i-a100-sid
|
||||
- const: allwinner,sun50i-a64-sid
|
||||
- const: allwinner,sun50i-h5-sid
|
||||
- const: allwinner,sun50i-h6-sid
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
efuse@1c23800 {
|
||||
compatible = "allwinner,sun4i-a10-sid";
|
||||
reg = <0x01c23800 0x10>;
|
||||
};
|
||||
|
||||
- |
|
||||
efuse@1c23800 {
|
||||
compatible = "allwinner,sun7i-a20-sid";
|
||||
reg = <0x01c23800 0x200>;
|
||||
};
|
||||
|
||||
...
|
48
bindings/nvmem/amlogic-efuse.txt
Normal file
48
bindings/nvmem/amlogic-efuse.txt
Normal file
@@ -0,0 +1,48 @@
|
||||
= Amlogic Meson GX eFuse device tree bindings =
|
||||
|
||||
Required properties:
|
||||
- compatible: should be "amlogic,meson-gxbb-efuse"
|
||||
- clocks: phandle to the efuse peripheral clock provided by the
|
||||
clock controller.
|
||||
- secure-monitor: phandle to the secure-monitor node
|
||||
|
||||
= Data cells =
|
||||
Are child nodes of eFuse, bindings of which as described in
|
||||
bindings/nvmem/nvmem.txt
|
||||
|
||||
Example:
|
||||
|
||||
efuse: efuse {
|
||||
compatible = "amlogic,meson-gxbb-efuse";
|
||||
clocks = <&clkc CLKID_EFUSE>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
secure-monitor = <&sm>;
|
||||
|
||||
sn: sn@14 {
|
||||
reg = <0x14 0x10>;
|
||||
};
|
||||
|
||||
eth_mac: eth_mac@34 {
|
||||
reg = <0x34 0x10>;
|
||||
};
|
||||
|
||||
bid: bid@46 {
|
||||
reg = <0x46 0x30>;
|
||||
};
|
||||
};
|
||||
|
||||
sm: secure-monitor {
|
||||
compatible = "amlogic,meson-gxbb-sm";
|
||||
};
|
||||
|
||||
= Data consumers =
|
||||
Are device nodes which consume nvmem data cells.
|
||||
|
||||
For example:
|
||||
|
||||
eth_mac {
|
||||
...
|
||||
nvmem-cells = <ð_mac>;
|
||||
nvmem-cell-names = "eth_mac";
|
||||
};
|
22
bindings/nvmem/amlogic-meson-mx-efuse.txt
Normal file
22
bindings/nvmem/amlogic-meson-mx-efuse.txt
Normal file
@@ -0,0 +1,22 @@
|
||||
Amlogic Meson6/Meson8/Meson8b efuse
|
||||
|
||||
Required Properties:
|
||||
- compatible: depending on the SoC this should be one of:
|
||||
- "amlogic,meson6-efuse"
|
||||
- "amlogic,meson8-efuse"
|
||||
- "amlogic,meson8b-efuse"
|
||||
- reg: base address and size of the efuse registers
|
||||
- clocks: a reference to the efuse core gate clock
|
||||
- clock-names: must be "core"
|
||||
|
||||
All properties and sub-nodes as well as the consumer bindings
|
||||
defined in nvmem.txt in this directory are also supported.
|
||||
|
||||
|
||||
Example:
|
||||
efuse: nvmem@0 {
|
||||
compatible = "amlogic,meson8-efuse";
|
||||
reg = <0x0 0x2000>;
|
||||
clocks = <&clkc CLKID_EFUSE>;
|
||||
clock-names = "core";
|
||||
};
|
50
bindings/nvmem/apple,efuses.yaml
Normal file
50
bindings/nvmem/apple,efuses.yaml
Normal file
@@ -0,0 +1,50 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/nvmem/apple,efuses.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Apple SoC eFuse-based NVMEM
|
||||
|
||||
description: |
|
||||
Apple SoCs such as the M1 contain factory-programmed eFuses used to e.g. store
|
||||
calibration data for the PCIe and the Type-C PHY or unique chip identifiers
|
||||
such as the ECID.
|
||||
|
||||
maintainers:
|
||||
- Sven Peter <sven@svenpeter.dev>
|
||||
|
||||
allOf:
|
||||
- $ref: "nvmem.yaml#"
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
items:
|
||||
- enum:
|
||||
- apple,t8103-efuses
|
||||
- apple,t6000-efuses
|
||||
- const: apple,efuses
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
efuse@3d2bc000 {
|
||||
compatible = "apple,t8103-efuses", "apple,efuses";
|
||||
reg = <0x3d2bc000 0x1000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
ecid: efuse@500 {
|
||||
reg = <0x500 0x8>;
|
||||
};
|
||||
};
|
||||
|
||||
...
|
58
bindings/nvmem/brcm,nvram.yaml
Normal file
58
bindings/nvmem/brcm,nvram.yaml
Normal file
@@ -0,0 +1,58 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/nvmem/brcm,nvram.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Broadcom's NVRAM
|
||||
|
||||
description: |
|
||||
Broadcom's NVRAM is a structure containing device specific environment
|
||||
variables. It is used for storing device configuration, booting parameters
|
||||
and calibration data.
|
||||
|
||||
NVRAM can be accessed on Broadcom BCM47xx MIPS and Northstar ARM Cortex-A9
|
||||
devices usiong I/O mapped memory.
|
||||
|
||||
NVRAM variables can be defined as NVMEM device subnodes.
|
||||
|
||||
maintainers:
|
||||
- Rafał Miłecki <rafal@milecki.pl>
|
||||
|
||||
allOf:
|
||||
- $ref: "nvmem.yaml#"
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: brcm,nvram
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
board_id:
|
||||
type: object
|
||||
description: Board identification name
|
||||
|
||||
et0macaddr:
|
||||
type: object
|
||||
description: First Ethernet interface's MAC address
|
||||
|
||||
et1macaddr:
|
||||
type: object
|
||||
description: Second Ethernet interface's MAC address
|
||||
|
||||
et2macaddr:
|
||||
type: object
|
||||
description: Third Ethernet interface's MAC address
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
nvram@1eff0000 {
|
||||
compatible = "brcm,nvram";
|
||||
reg = <0x1eff0000 0x10000>;
|
||||
|
||||
mac: et0macaddr {
|
||||
};
|
||||
};
|
17
bindings/nvmem/brcm,ocotp.txt
Normal file
17
bindings/nvmem/brcm,ocotp.txt
Normal file
@@ -0,0 +1,17 @@
|
||||
Broadcom OTP memory controller
|
||||
|
||||
Required Properties:
|
||||
- compatible: "brcm,ocotp" for the first generation Broadcom OTPC which is used
|
||||
in Cygnus and supports 32 bit read/write. Use "brcm,ocotp-v2" for the second
|
||||
generation Broadcom OTPC which is used in SoC's such as Stingray and supports
|
||||
64-bit read/write.
|
||||
- reg: Base address of the OTP controller.
|
||||
- brcm,ocotp-size: Amount of memory available, in 32 bit words
|
||||
|
||||
Example:
|
||||
|
||||
otp: otp@301c800 {
|
||||
compatible = "brcm,ocotp";
|
||||
reg = <0x0301c800 0x2c>;
|
||||
brcm,ocotp-size = <2048>;
|
||||
};
|
62
bindings/nvmem/fsl,layerscape-sfp.yaml
Normal file
62
bindings/nvmem/fsl,layerscape-sfp.yaml
Normal file
@@ -0,0 +1,62 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/nvmem/fsl,layerscape-sfp.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Freescale Layerscape Security Fuse Processor
|
||||
|
||||
maintainers:
|
||||
- Michael Walle <michael@walle.cc>
|
||||
|
||||
description: |
|
||||
SFP is the security fuse processor which among other things provides a
|
||||
unique identifier per part.
|
||||
|
||||
allOf:
|
||||
- $ref: "nvmem.yaml#"
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
oneOf:
|
||||
- description: Trust architecture 2.1 SFP
|
||||
items:
|
||||
- const: fsl,ls1021a-sfp
|
||||
- description: Trust architecture 3.0 SFP
|
||||
items:
|
||||
- const: fsl,ls1028a-sfp
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
maxItems: 1
|
||||
description:
|
||||
The SFP clock. Typically, this is the platform clock divided by 4.
|
||||
|
||||
clock-names:
|
||||
const: sfp
|
||||
|
||||
ta-prog-sfp-supply:
|
||||
description:
|
||||
The regulator for the TA_PROG_SFP pin. It will be enabled for programming
|
||||
and disabled for reading.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- clock-names
|
||||
- clocks
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/clock/fsl,qoriq-clockgen.h>
|
||||
efuse@1e80000 {
|
||||
compatible = "fsl,ls1028a-sfp";
|
||||
reg = <0x1e80000 0x8000>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>;
|
||||
clock-names = "sfp";
|
||||
};
|
56
bindings/nvmem/fsl,scu-ocotp.yaml
Normal file
56
bindings/nvmem/fsl,scu-ocotp.yaml
Normal file
@@ -0,0 +1,56 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/nvmem/fsl,scu-ocotp.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: i.MX SCU Client Device Node - OCOTP bindings based on SCU Message Protocol
|
||||
|
||||
maintainers:
|
||||
- Dong Aisheng <aisheng.dong@nxp.com>
|
||||
|
||||
description: i.MX SCU Client Device Node
|
||||
Client nodes are maintained as children of the relevant IMX-SCU device node.
|
||||
|
||||
allOf:
|
||||
- $ref: nvmem.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- fsl,imx8qm-scu-ocotp
|
||||
- fsl,imx8qxp-scu-ocotp
|
||||
|
||||
patternProperties:
|
||||
'^mac@[0-9a-f]*$':
|
||||
type: object
|
||||
description:
|
||||
MAC address.
|
||||
|
||||
properties:
|
||||
reg:
|
||||
description:
|
||||
Byte offset within OCOTP where the MAC address is stored
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- reg
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
ocotp {
|
||||
compatible = "fsl,imx8qxp-scu-ocotp";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
fec_mac0: mac@2c4 {
|
||||
reg = <0x2c4 6>;
|
||||
};
|
||||
};
|
57
bindings/nvmem/imx-iim.yaml
Normal file
57
bindings/nvmem/imx-iim.yaml
Normal file
@@ -0,0 +1,57 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/nvmem/imx-iim.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Freescale i.MX IC Identification Module (IIM)
|
||||
|
||||
maintainers:
|
||||
- Anson Huang <Anson.Huang@nxp.com>
|
||||
|
||||
description: |
|
||||
This binding represents the IC Identification Module (IIM) found on
|
||||
i.MX25, i.MX27, i.MX31, i.MX35, i.MX51 and i.MX53 SoCs.
|
||||
|
||||
allOf:
|
||||
- $ref: "nvmem.yaml#"
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- fsl,imx25-iim
|
||||
- fsl,imx27-iim
|
||||
- fsl,imx31-iim
|
||||
- fsl,imx35-iim
|
||||
- fsl,imx51-iim
|
||||
- fsl,imx53-iim
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- interrupts
|
||||
- clocks
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/clock/imx5-clock.h>
|
||||
|
||||
iim: efuse@63f98000 {
|
||||
compatible = "fsl,imx53-iim";
|
||||
reg = <0x63f98000 0x4000>;
|
||||
interrupts = <69>;
|
||||
clocks = <&clks IMX5_CLK_IIM_GATE>;
|
||||
};
|
||||
|
||||
...
|
105
bindings/nvmem/imx-ocotp.yaml
Normal file
105
bindings/nvmem/imx-ocotp.yaml
Normal file
@@ -0,0 +1,105 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/nvmem/imx-ocotp.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Freescale i.MX6 On-Chip OTP Controller (OCOTP)
|
||||
|
||||
maintainers:
|
||||
- Anson Huang <Anson.Huang@nxp.com>
|
||||
|
||||
description: |
|
||||
This binding represents the on-chip eFuse OTP controller found on
|
||||
i.MX6Q/D, i.MX6DL/S, i.MX6SL, i.MX6SX, i.MX6UL, i.MX6ULL/ULZ, i.MX6SLL,
|
||||
i.MX7D/S, i.MX7ULP, i.MX8MQ, i.MX8MM, i.MX8MN and i.MX8MP SoCs.
|
||||
|
||||
allOf:
|
||||
- $ref: "nvmem.yaml#"
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
oneOf:
|
||||
- items:
|
||||
- enum:
|
||||
- fsl,imx6q-ocotp
|
||||
- fsl,imx6sl-ocotp
|
||||
- fsl,imx6sx-ocotp
|
||||
- fsl,imx6ul-ocotp
|
||||
- fsl,imx6ull-ocotp
|
||||
- fsl,imx7d-ocotp
|
||||
- fsl,imx6sll-ocotp
|
||||
- fsl,imx7ulp-ocotp
|
||||
- fsl,imx8mq-ocotp
|
||||
- fsl,imx8mm-ocotp
|
||||
- const: syscon
|
||||
- items:
|
||||
- enum:
|
||||
- fsl,imx8mn-ocotp
|
||||
# i.MX8MP not really compatible with fsl,imx8mm-ocotp, however
|
||||
# the code for getting SoC revision depends on fsl,imx8mm-ocotp
|
||||
# compatible.
|
||||
- fsl,imx8mp-ocotp
|
||||
- const: fsl,imx8mm-ocotp
|
||||
- const: syscon
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
"#address-cells":
|
||||
const: 1
|
||||
|
||||
"#size-cells":
|
||||
const: 1
|
||||
|
||||
clocks:
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- "#address-cells"
|
||||
- "#size-cells"
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
patternProperties:
|
||||
"^.*@[0-9a-f]+$":
|
||||
type: object
|
||||
|
||||
properties:
|
||||
reg:
|
||||
maxItems: 1
|
||||
description:
|
||||
Offset and size in bytes within the storage device.
|
||||
|
||||
required:
|
||||
- reg
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/clock/imx6sx-clock.h>
|
||||
|
||||
ocotp: efuse@21bc000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "fsl,imx6sx-ocotp", "syscon";
|
||||
reg = <0x021bc000 0x4000>;
|
||||
clocks = <&clks IMX6SX_CLK_OCOTP>;
|
||||
|
||||
cpu_speed_grade: speed-grade@10 {
|
||||
reg = <0x10 4>;
|
||||
};
|
||||
|
||||
tempmon_calib: calib@38 {
|
||||
reg = <0x38 4>;
|
||||
};
|
||||
|
||||
tempmon_temp_grade: temp-grade@20 {
|
||||
reg = <0x20 4>;
|
||||
};
|
||||
};
|
||||
|
||||
...
|
45
bindings/nvmem/ingenic,jz4780-efuse.yaml
Normal file
45
bindings/nvmem/ingenic,jz4780-efuse.yaml
Normal file
@@ -0,0 +1,45 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/nvmem/ingenic,jz4780-efuse.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Ingenic JZ EFUSE driver bindings
|
||||
|
||||
maintainers:
|
||||
- PrasannaKumar Muralidharan <prasannatsmkumar@gmail.com>
|
||||
|
||||
allOf:
|
||||
- $ref: "nvmem.yaml#"
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- ingenic,jz4780-efuse
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
# Handle for the ahb for the efuse.
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- clocks
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/clock/ingenic,jz4780-cgu.h>
|
||||
|
||||
efuse@134100d0 {
|
||||
compatible = "ingenic,jz4780-efuse";
|
||||
reg = <0x134100d0 0x2c>;
|
||||
|
||||
clocks = <&cgu JZ4780_CLK_AHB2>;
|
||||
};
|
||||
|
||||
...
|
20
bindings/nvmem/lpc1850-otp.txt
Normal file
20
bindings/nvmem/lpc1850-otp.txt
Normal file
@@ -0,0 +1,20 @@
|
||||
* NXP LPC18xx OTP memory
|
||||
|
||||
Internal OTP (One Time Programmable) memory for NXP LPC18xx/43xx devices.
|
||||
|
||||
Required properties:
|
||||
- compatible: Should be "nxp,lpc1850-otp"
|
||||
- reg: Must contain an entry with the physical base address and length
|
||||
for each entry in reg-names.
|
||||
- address-cells: must be set to 1.
|
||||
- size-cells: must be set to 1.
|
||||
|
||||
See nvmem.txt for more information.
|
||||
|
||||
Example:
|
||||
otp: otp@40045000 {
|
||||
compatible = "nxp,lpc1850-otp";
|
||||
reg = <0x40045000 0x1000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
};
|
28
bindings/nvmem/lpc1857-eeprom.txt
Normal file
28
bindings/nvmem/lpc1857-eeprom.txt
Normal file
@@ -0,0 +1,28 @@
|
||||
* NXP LPC18xx EEPROM memory NVMEM driver
|
||||
|
||||
Required properties:
|
||||
- compatible: Should be "nxp,lpc1857-eeprom"
|
||||
- reg: Must contain an entry with the physical base address and length
|
||||
for each entry in reg-names.
|
||||
- reg-names: Must include the following entries.
|
||||
- reg: EEPROM registers.
|
||||
- mem: EEPROM address space.
|
||||
- clocks: Must contain an entry for each entry in clock-names.
|
||||
- clock-names: Must include the following entries.
|
||||
- eeprom: EEPROM operating clock.
|
||||
- resets: Should contain a reference to the reset controller asserting
|
||||
the EEPROM in reset.
|
||||
- interrupts: Should contain EEPROM interrupt.
|
||||
|
||||
Example:
|
||||
|
||||
eeprom: eeprom@4000e000 {
|
||||
compatible = "nxp,lpc1857-eeprom";
|
||||
reg = <0x4000e000 0x1000>,
|
||||
<0x20040000 0x4000>;
|
||||
reg-names = "reg", "mem";
|
||||
clocks = <&ccu1 CLK_CPU_EEPROM>;
|
||||
clock-names = "eeprom";
|
||||
resets = <&rgu 27>;
|
||||
interrupts = <4>;
|
||||
};
|
90
bindings/nvmem/mediatek,efuse.yaml
Normal file
90
bindings/nvmem/mediatek,efuse.yaml
Normal file
@@ -0,0 +1,90 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/nvmem/mediatek,efuse.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: MediaTek efuse
|
||||
|
||||
description: |
|
||||
MediaTek's efuse is used for storing calibration data, it can be accessed
|
||||
on ARM devices usiong I/O mapped memory.
|
||||
|
||||
maintainers:
|
||||
- Andrew-CT Chen <andrew-ct.chen@mediatek.com>
|
||||
- Lala Lin <lala.lin@mediatek.com>
|
||||
|
||||
allOf:
|
||||
- $ref: "nvmem.yaml#"
|
||||
|
||||
properties:
|
||||
$nodename:
|
||||
pattern: "^efuse@[0-9a-f]+$"
|
||||
|
||||
compatible:
|
||||
oneOf:
|
||||
- items:
|
||||
- enum:
|
||||
- mediatek,mt7622-efuse
|
||||
- mediatek,mt7623-efuse
|
||||
- mediatek,mt8173-efuse
|
||||
- mediatek,mt8183-efuse
|
||||
- mediatek,mt8186-efuse
|
||||
- mediatek,mt8188-efuse
|
||||
- mediatek,mt8192-efuse
|
||||
- mediatek,mt8195-efuse
|
||||
- mediatek,mt8516-efuse
|
||||
- const: mediatek,efuse
|
||||
- const: mediatek,mt8173-efuse
|
||||
deprecated: true
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
efuse@11c10000 {
|
||||
compatible = "mediatek,mt8195-efuse", "mediatek,efuse";
|
||||
reg = <0x11c10000 0x1000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
u3_tx_imp_p0: usb3-tx-imp@184,1 {
|
||||
reg = <0x184 0x1>;
|
||||
bits = <0 5>;
|
||||
};
|
||||
u3_rx_imp_p0: usb3-rx-imp@184,2 {
|
||||
reg = <0x184 0x2>;
|
||||
bits = <5 5>;
|
||||
};
|
||||
u3_intr_p0: usb3-intr@185 {
|
||||
reg = <0x185 0x1>;
|
||||
bits = <2 6>;
|
||||
};
|
||||
comb_tx_imp_p1: usb3-tx-imp@186,1 {
|
||||
reg = <0x186 0x1>;
|
||||
bits = <0 5>;
|
||||
};
|
||||
comb_rx_imp_p1: usb3-rx-imp@186,2 {
|
||||
reg = <0x186 0x2>;
|
||||
bits = <5 5>;
|
||||
};
|
||||
comb_intr_p1: usb3-intr@187 {
|
||||
reg = <0x187 0x1>;
|
||||
bits = <2 6>;
|
||||
};
|
||||
u2_intr_p0: usb2-intr-p0@188,1 {
|
||||
reg = <0x188 0x1>;
|
||||
bits = <0 5>;
|
||||
};
|
||||
u2_intr_p1: usb2-intr-p1@188,2 {
|
||||
reg = <0x188 0x2>;
|
||||
bits = <5 5>;
|
||||
};
|
||||
};
|
45
bindings/nvmem/microchip,lan9662-otpc.yaml
Normal file
45
bindings/nvmem/microchip,lan9662-otpc.yaml
Normal file
@@ -0,0 +1,45 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/nvmem/microchip,lan9662-otpc.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Microchip LAN9662 OTP Controller (OTPC)
|
||||
|
||||
maintainers:
|
||||
- Horatiu Vultur <horatiu.vultur@microchip.com>
|
||||
|
||||
description: |
|
||||
OTP controller drives a NVMEM memory where system specific data
|
||||
(e.g. hardware configuration settings, chip identifiers) or
|
||||
user specific data could be stored.
|
||||
|
||||
allOf:
|
||||
- $ref: nvmem.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
oneOf:
|
||||
- items:
|
||||
- const: microchip,lan9668-otpc
|
||||
- const: microchip,lan9662-otpc
|
||||
- enum:
|
||||
- microchip,lan9662-otpc
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
otpc: otp@e0021000 {
|
||||
compatible = "microchip,lan9662-otpc";
|
||||
reg = <0xe0021000 0x300>;
|
||||
};
|
||||
|
||||
...
|
50
bindings/nvmem/microchip,sama7g5-otpc.yaml
Normal file
50
bindings/nvmem/microchip,sama7g5-otpc.yaml
Normal file
@@ -0,0 +1,50 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/nvmem/microchip,sama7g5-otpc.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Microchip SAMA7G5 OTP Controller (OTPC)
|
||||
|
||||
maintainers:
|
||||
- Claudiu Beznea <claudiu.beznea@microchip.com>
|
||||
|
||||
description: |
|
||||
OTP controller drives a NVMEM memory where system specific data
|
||||
(e.g. calibration data for analog cells, hardware configuration
|
||||
settings, chip identifiers) or user specific data could be stored.
|
||||
|
||||
allOf:
|
||||
- $ref: "nvmem.yaml#"
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
items:
|
||||
- const: microchip,sama7g5-otpc
|
||||
- const: syscon
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/nvmem/microchip,sama7g5-otpc.h>
|
||||
|
||||
otpc: efuse@e8c00000 {
|
||||
compatible = "microchip,sama7g5-otpc", "syscon";
|
||||
reg = <0xe8c00000 0xec>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
temperature_calib: calib@1 {
|
||||
reg = <OTP_PKT(1) 76>;
|
||||
};
|
||||
};
|
||||
|
||||
...
|
50
bindings/nvmem/mxs-ocotp.yaml
Normal file
50
bindings/nvmem/mxs-ocotp.yaml
Normal file
@@ -0,0 +1,50 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/nvmem/mxs-ocotp.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: On-Chip OTP Memory for Freescale i.MX23/i.MX28
|
||||
|
||||
maintainers:
|
||||
- Anson Huang <Anson.Huang@nxp.com>
|
||||
|
||||
allOf:
|
||||
- $ref: "nvmem.yaml#"
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- fsl,imx23-ocotp
|
||||
- fsl,imx28-ocotp
|
||||
|
||||
"#address-cells":
|
||||
const: 1
|
||||
|
||||
"#size-cells":
|
||||
const: 1
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- clocks
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
ocotp: efuse@8002c000 {
|
||||
compatible = "fsl,imx28-ocotp";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
reg = <0x8002c000 0x2000>;
|
||||
clocks = <&clks 25>;
|
||||
};
|
||||
|
||||
...
|
44
bindings/nvmem/nintendo-otp.yaml
Normal file
44
bindings/nvmem/nintendo-otp.yaml
Normal file
@@ -0,0 +1,44 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/nvmem/nintendo-otp.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Nintendo Wii and Wii U OTP
|
||||
|
||||
description: |
|
||||
This binding represents the OTP memory as found on a Nintendo Wii or Wii U,
|
||||
which contains common and per-console keys, signatures and related data
|
||||
required to access peripherals.
|
||||
|
||||
See https://wiiubrew.org/wiki/Hardware/OTP
|
||||
|
||||
maintainers:
|
||||
- Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
|
||||
|
||||
allOf:
|
||||
- $ref: "nvmem.yaml#"
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- nintendo,hollywood-otp
|
||||
- nintendo,latte-otp
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
otp@d8001ec {
|
||||
compatible = "nintendo,latte-otp";
|
||||
reg = <0x0d8001ec 0x8>;
|
||||
};
|
||||
|
||||
...
|
45
bindings/nvmem/nvmem-consumer.yaml
Normal file
45
bindings/nvmem/nvmem-consumer.yaml
Normal file
@@ -0,0 +1,45 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/nvmem/nvmem-consumer.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/base.yaml#
|
||||
|
||||
title: NVMEM (Non Volatile Memory) Consumer
|
||||
|
||||
maintainers:
|
||||
- Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
||||
|
||||
select: true
|
||||
|
||||
properties:
|
||||
nvmem:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle-array
|
||||
description:
|
||||
List of phandle to the nvmem providers.
|
||||
|
||||
nvmem-cells:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle-array
|
||||
description:
|
||||
List of phandle to the nvmem data cells.
|
||||
|
||||
nvmem-names:
|
||||
description:
|
||||
Names for the each nvmem provider.
|
||||
|
||||
nvmem-cell-names:
|
||||
description:
|
||||
Names for each nvmem-cells specified.
|
||||
|
||||
dependencies:
|
||||
nvmem-names: [ nvmem ]
|
||||
nvmem-cell-names: [ nvmem-cells ]
|
||||
|
||||
additionalProperties: true
|
||||
|
||||
examples:
|
||||
- |
|
||||
tsens {
|
||||
/* ... */
|
||||
nvmem-cells = <&tsens_calibration>;
|
||||
nvmem-cell-names = "calibration";
|
||||
};
|
1
bindings/nvmem/nvmem.txt
Normal file
1
bindings/nvmem/nvmem.txt
Normal file
@@ -0,0 +1 @@
|
||||
This file has been moved to nvmem.yaml and nvmem-consumer.yaml.
|
99
bindings/nvmem/nvmem.yaml
Normal file
99
bindings/nvmem/nvmem.yaml
Normal file
@@ -0,0 +1,99 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/nvmem/nvmem.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: NVMEM (Non Volatile Memory)
|
||||
|
||||
maintainers:
|
||||
- Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
||||
|
||||
description: |
|
||||
This binding is intended to represent the location of hardware
|
||||
configuration data stored in NVMEMs like eeprom, efuses and so on.
|
||||
|
||||
On a significant proportion of boards, the manufacturer has stored
|
||||
some data on NVMEM, for the OS to be able to retrieve these
|
||||
information and act upon it. Obviously, the OS has to know about
|
||||
where to retrieve these data from, and where they are stored on the
|
||||
storage device.
|
||||
|
||||
properties:
|
||||
"#address-cells":
|
||||
const: 1
|
||||
|
||||
"#size-cells":
|
||||
const: 1
|
||||
|
||||
read-only:
|
||||
$ref: /schemas/types.yaml#/definitions/flag
|
||||
description:
|
||||
Mark the provider as read only.
|
||||
|
||||
wp-gpios:
|
||||
description:
|
||||
GPIO to which the write-protect pin of the chip is connected.
|
||||
The write-protect GPIO is asserted, when it's driven high
|
||||
(logical '1') to block the write operation. It's deasserted,
|
||||
when it's driven low (logical '0') to allow writing.
|
||||
maxItems: 1
|
||||
|
||||
patternProperties:
|
||||
"@[0-9a-f]+(,[0-7])?$":
|
||||
type: object
|
||||
|
||||
properties:
|
||||
reg:
|
||||
maxItems: 1
|
||||
description:
|
||||
Offset and size in bytes within the storage device.
|
||||
|
||||
bits:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||
items:
|
||||
- minimum: 0
|
||||
maximum: 7
|
||||
description:
|
||||
Offset in bit within the address range specified by reg.
|
||||
- minimum: 1
|
||||
description:
|
||||
Size in bit within the address range specified by reg.
|
||||
|
||||
additionalProperties: true
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
qfprom: eeprom@700000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
reg = <0x00700000 0x100000>;
|
||||
|
||||
wp-gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>;
|
||||
|
||||
/* ... */
|
||||
|
||||
/* Data cells */
|
||||
tsens_calibration: calib@404 {
|
||||
reg = <0x404 0x10>;
|
||||
};
|
||||
|
||||
tsens_calibration_bckp: calib_bckp@504 {
|
||||
reg = <0x504 0x11>;
|
||||
bits = <6 128>;
|
||||
};
|
||||
|
||||
pvs_version: pvs-version@6 {
|
||||
reg = <0x6 0x2>;
|
||||
bits = <7 2>;
|
||||
};
|
||||
|
||||
speed_bin: speed-bin@c{
|
||||
reg = <0xc 0x1>;
|
||||
bits = <2 3>;
|
||||
};
|
||||
};
|
||||
|
||||
...
|
116
bindings/nvmem/qcom,qfprom.yaml
Normal file
116
bindings/nvmem/qcom,qfprom.yaml
Normal file
@@ -0,0 +1,116 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/nvmem/qcom,qfprom.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Qualcomm Technologies Inc, QFPROM Efuse bindings
|
||||
|
||||
maintainers:
|
||||
- Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
||||
|
||||
allOf:
|
||||
- $ref: "nvmem.yaml#"
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
items:
|
||||
- enum:
|
||||
- qcom,apq8064-qfprom
|
||||
- qcom,apq8084-qfprom
|
||||
- qcom,ipq8064-qfprom
|
||||
- qcom,msm8974-qfprom
|
||||
- qcom,msm8916-qfprom
|
||||
- qcom,msm8996-qfprom
|
||||
- qcom,msm8998-qfprom
|
||||
- qcom,qcs404-qfprom
|
||||
- qcom,sc7180-qfprom
|
||||
- qcom,sc7280-qfprom
|
||||
- qcom,sdm630-qfprom
|
||||
- qcom,sdm845-qfprom
|
||||
- qcom,sm6115-qfprom
|
||||
- const: qcom,qfprom
|
||||
|
||||
reg:
|
||||
# If the QFPROM is read-only OS image then only the corrected region
|
||||
# needs to be provided. If the QFPROM is writable then all 4 regions
|
||||
# must be provided.
|
||||
oneOf:
|
||||
- items:
|
||||
- description: The corrected region.
|
||||
- items:
|
||||
- description: The corrected region.
|
||||
- description: The raw region.
|
||||
- description: The config region.
|
||||
- description: The security control region.
|
||||
|
||||
# Clock must be provided if QFPROM is writable from the OS image.
|
||||
clocks:
|
||||
maxItems: 1
|
||||
clock-names:
|
||||
const: core
|
||||
|
||||
# Supply reference must be provided if QFPROM is writable from the OS image.
|
||||
vcc-supply:
|
||||
description: Our power supply.
|
||||
|
||||
power-domains:
|
||||
maxItems: 1
|
||||
|
||||
# Needed if any child nodes are present.
|
||||
"#address-cells":
|
||||
const: 1
|
||||
"#size-cells":
|
||||
const: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/clock/qcom,gcc-sc7180.h>
|
||||
|
||||
soc {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
|
||||
efuse@784000 {
|
||||
compatible = "qcom,sc7180-qfprom", "qcom,qfprom";
|
||||
reg = <0 0x00784000 0 0x8ff>,
|
||||
<0 0x00780000 0 0x7a0>,
|
||||
<0 0x00782000 0 0x100>,
|
||||
<0 0x00786000 0 0x1fff>;
|
||||
clocks = <&gcc GCC_SEC_CTRL_CLK_SRC>;
|
||||
clock-names = "core";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
vcc-supply = <&vreg_l11a_1p8>;
|
||||
|
||||
hstx-trim-primary@25b {
|
||||
reg = <0x25b 0x1>;
|
||||
bits = <1 3>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
- |
|
||||
soc {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
|
||||
efuse@784000 {
|
||||
compatible = "qcom,sdm845-qfprom", "qcom,qfprom";
|
||||
reg = <0 0x00784000 0 0x8ff>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
hstx-trim-primary@1eb {
|
||||
reg = <0x1eb 0x1>;
|
||||
bits = <1 4>;
|
||||
};
|
||||
};
|
||||
};
|
58
bindings/nvmem/qcom,spmi-sdam.yaml
Normal file
58
bindings/nvmem/qcom,spmi-sdam.yaml
Normal file
@@ -0,0 +1,58 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/nvmem/qcom,spmi-sdam.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Qualcomm Technologies, Inc. SPMI SDAM DT bindings
|
||||
|
||||
maintainers:
|
||||
- Shyam Kumar Thella <sthella@codeaurora.org>
|
||||
|
||||
description: |
|
||||
The SDAM provides scratch register space for the PMIC clients. This
|
||||
memory can be used by software to store information or communicate
|
||||
to/from the PBUS.
|
||||
|
||||
allOf:
|
||||
- $ref: "nvmem.yaml#"
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- qcom,spmi-sdam
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
"#address-cells":
|
||||
const: 1
|
||||
|
||||
"#size-cells":
|
||||
const: 1
|
||||
|
||||
ranges: true
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- ranges
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
sdam_1: nvram@b000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "qcom,spmi-sdam";
|
||||
reg = <0xb000 0x100>;
|
||||
ranges = <0 0xb000 0x100>;
|
||||
|
||||
/* Data cells */
|
||||
restart_reason: restart@50 {
|
||||
reg = <0x50 0x1>;
|
||||
bits = <6 2>;
|
||||
};
|
||||
};
|
||||
...
|
52
bindings/nvmem/rmem.yaml
Normal file
52
bindings/nvmem/rmem.yaml
Normal file
@@ -0,0 +1,52 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/nvmem/rmem.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Reserved Memory Based nvmem Device
|
||||
|
||||
maintainers:
|
||||
- Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
|
||||
allOf:
|
||||
- $ref: "nvmem.yaml#"
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
items:
|
||||
- enum:
|
||||
- raspberrypi,bootloader-config
|
||||
- const: nvmem-rmem
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
no-map:
|
||||
$ref: /schemas/types.yaml#/definitions/flag
|
||||
description:
|
||||
Avoid creating a virtual mapping of the region as part of the OS'
|
||||
standard mapping of system memory.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- no-map
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
reserved-memory {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
blconfig: nvram@10000000 {
|
||||
compatible = "raspberrypi,bootloader-config", "nvmem-rmem";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
reg = <0x10000000 0x1000>;
|
||||
no-map;
|
||||
};
|
||||
};
|
||||
|
||||
...
|
72
bindings/nvmem/rockchip-efuse.yaml
Normal file
72
bindings/nvmem/rockchip-efuse.yaml
Normal file
@@ -0,0 +1,72 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/nvmem/rockchip-efuse.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Rockchip eFuse
|
||||
|
||||
maintainers:
|
||||
- Heiko Stuebner <heiko@sntech.de>
|
||||
|
||||
allOf:
|
||||
- $ref: "nvmem.yaml#"
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- rockchip,rk3066a-efuse
|
||||
- rockchip,rk3188-efuse
|
||||
- rockchip,rk3228-efuse
|
||||
- rockchip,rk3288-efuse
|
||||
- rockchip,rk3328-efuse
|
||||
- rockchip,rk3368-efuse
|
||||
- rockchip,rk3399-efuse
|
||||
|
||||
# Deprecated: old compatible value for rk3066a, rk3188 and rk3288
|
||||
- rockchip,rockchip-efuse
|
||||
|
||||
reg:
|
||||
description:
|
||||
Registers location and eFuse size.
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
description:
|
||||
eFuse clock id.
|
||||
maxItems: 1
|
||||
|
||||
clock-names:
|
||||
const: pclk_efuse
|
||||
|
||||
rockchip,efuse-size:
|
||||
description:
|
||||
eFuse size in bytes. The eFuse size in property <reg> will be invalid if
|
||||
this property is defined.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- clocks
|
||||
- clock-names
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/clock/rk3288-cru.h>
|
||||
efuse: efuse@ffb40000 {
|
||||
compatible = "rockchip,rk3288-efuse";
|
||||
reg = <0xffb40000 0x20>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
clocks = <&cru PCLK_EFUSE256>;
|
||||
clock-names = "pclk_efuse";
|
||||
|
||||
/* Data cells */
|
||||
cpu_leakage: cpu_leakage@17 {
|
||||
reg = <0x17 0x1>;
|
||||
};
|
||||
};
|
||||
...
|
25
bindings/nvmem/rockchip-otp.txt
Normal file
25
bindings/nvmem/rockchip-otp.txt
Normal file
@@ -0,0 +1,25 @@
|
||||
Rockchip internal OTP (One Time Programmable) memory device tree bindings
|
||||
|
||||
Required properties:
|
||||
- compatible: Should be one of the following.
|
||||
- "rockchip,px30-otp" - for PX30 SoCs.
|
||||
- "rockchip,rk3308-otp" - for RK3308 SoCs.
|
||||
- reg: Should contain the registers location and size
|
||||
- clocks: Must contain an entry for each entry in clock-names.
|
||||
- clock-names: Should be "otp", "apb_pclk" and "phy".
|
||||
- resets: Must contain an entry for each entry in reset-names.
|
||||
See ../../reset/reset.txt for details.
|
||||
- reset-names: Should be "phy".
|
||||
|
||||
See nvmem.txt for more information.
|
||||
|
||||
Example:
|
||||
otp: otp@ff290000 {
|
||||
compatible = "rockchip,px30-otp";
|
||||
reg = <0x0 0xff290000 0x0 0x4000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
clocks = <&cru SCLK_OTP_USR>, <&cru PCLK_OTP_NS>,
|
||||
<&cru PCLK_OTP_PHY>;
|
||||
clock-names = "otp", "apb_pclk", "phy";
|
||||
};
|
52
bindings/nvmem/sc27xx-efuse.txt
Normal file
52
bindings/nvmem/sc27xx-efuse.txt
Normal file
@@ -0,0 +1,52 @@
|
||||
= Spreadtrum SC27XX PMIC eFuse device tree bindings =
|
||||
|
||||
Required properties:
|
||||
- compatible: Should be one of the following.
|
||||
"sprd,sc2720-efuse"
|
||||
"sprd,sc2721-efuse"
|
||||
"sprd,sc2723-efuse"
|
||||
"sprd,sc2730-efuse"
|
||||
"sprd,sc2731-efuse"
|
||||
- reg: Specify the address offset of efuse controller.
|
||||
- hwlocks: Reference to a phandle of a hwlock provider node.
|
||||
|
||||
= Data cells =
|
||||
Are child nodes of eFuse, bindings of which as described in
|
||||
bindings/nvmem/nvmem.txt
|
||||
|
||||
Example:
|
||||
|
||||
sc2731_pmic: pmic@0 {
|
||||
compatible = "sprd,sc2731";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <26000000>;
|
||||
interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
efuse@380 {
|
||||
compatible = "sprd,sc2731-efuse";
|
||||
reg = <0x380>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
hwlocks = <&hwlock 12>;
|
||||
|
||||
/* Data cells */
|
||||
thermal_calib: calib@10 {
|
||||
reg = <0x10 0x2>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
= Data consumers =
|
||||
Are device nodes which consume nvmem data cells.
|
||||
|
||||
Example:
|
||||
|
||||
thermal {
|
||||
...
|
||||
nvmem-cells = <&thermal_calib>;
|
||||
nvmem-cell-names = "calibration";
|
||||
};
|
41
bindings/nvmem/snvs-lpgpr.yaml
Normal file
41
bindings/nvmem/snvs-lpgpr.yaml
Normal file
@@ -0,0 +1,41 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/nvmem/snvs-lpgpr.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Low Power General Purpose Register found in i.MX Secure Non-Volatile Storage
|
||||
|
||||
maintainers:
|
||||
- Oleksij Rempel <o.rempel@pengutronix.de>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
oneOf:
|
||||
- items:
|
||||
- enum:
|
||||
- fsl,imx8mm-snvs-lpgpr
|
||||
- fsl,imx8mn-snvs-lpgpr
|
||||
- fsl,imx8mp-snvs-lpgpr
|
||||
- fsl,imx8mq-snvs-lpgpr
|
||||
- const: fsl,imx7d-snvs-lpgpr
|
||||
- enum:
|
||||
- fsl,imx6q-snvs-lpgpr
|
||||
- fsl,imx6ul-snvs-lpgpr
|
||||
- fsl,imx7d-snvs-lpgpr
|
||||
|
||||
required:
|
||||
- compatible
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
snvs@20cc000 {
|
||||
compatible = "fsl,sec-v4.0-mon", "syscon", "simple-mfd";
|
||||
reg = <0x20cc000 0x4000>;
|
||||
|
||||
snvs_lpgpr: snvs-lpgpr {
|
||||
compatible = "fsl,imx6q-snvs-lpgpr";
|
||||
};
|
||||
};
|
95
bindings/nvmem/socionext,uniphier-efuse.yaml
Normal file
95
bindings/nvmem/socionext,uniphier-efuse.yaml
Normal file
@@ -0,0 +1,95 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/nvmem/socionext,uniphier-efuse.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Socionext UniPhier eFuse bindings
|
||||
|
||||
maintainers:
|
||||
- Keiji Hayashibara <hayashibara.keiji@socionext.com>
|
||||
- Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
|
||||
|
||||
allOf:
|
||||
- $ref: "nvmem.yaml#"
|
||||
|
||||
properties:
|
||||
"#address-cells": true
|
||||
"#size-cells": true
|
||||
|
||||
compatible:
|
||||
const: socionext,uniphier-efuse
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
// The UniPhier eFuse should be a subnode of a "soc-glue" node.
|
||||
|
||||
soc-glue@5f900000 {
|
||||
compatible = "simple-mfd";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges = <0x0 0x5f900000 0x2000>;
|
||||
|
||||
efuse@100 {
|
||||
compatible = "socionext,uniphier-efuse";
|
||||
reg = <0x100 0x28>;
|
||||
};
|
||||
|
||||
efuse@200 {
|
||||
compatible = "socionext,uniphier-efuse";
|
||||
reg = <0x200 0x68>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
/* Data cells */
|
||||
usb_rterm0: trim@54,4 {
|
||||
reg = <0x54 1>;
|
||||
bits = <4 2>;
|
||||
};
|
||||
usb_rterm1: trim@55,4 {
|
||||
reg = <0x55 1>;
|
||||
bits = <4 2>;
|
||||
};
|
||||
usb_rterm2: trim@58,4 {
|
||||
reg = <0x58 1>;
|
||||
bits = <4 2>;
|
||||
};
|
||||
usb_rterm3: trim@59,4 {
|
||||
reg = <0x59 1>;
|
||||
bits = <4 2>;
|
||||
};
|
||||
usb_sel_t0: trim@54,0 {
|
||||
reg = <0x54 1>;
|
||||
bits = <0 4>;
|
||||
};
|
||||
usb_sel_t1: trim@55,0 {
|
||||
reg = <0x55 1>;
|
||||
bits = <0 4>;
|
||||
};
|
||||
usb_sel_t2: trim@58,0 {
|
||||
reg = <0x58 1>;
|
||||
bits = <0 4>;
|
||||
};
|
||||
usb_sel_t3: trim@59,0 {
|
||||
reg = <0x59 1>;
|
||||
bits = <0 4>;
|
||||
};
|
||||
usb_hs_i0: trim@56,0 {
|
||||
reg = <0x56 1>;
|
||||
bits = <0 4>;
|
||||
};
|
||||
usb_hs_i2: trim@5a,0 {
|
||||
reg = <0x5a 1>;
|
||||
bits = <0 4>;
|
||||
};
|
||||
};
|
||||
};
|
39
bindings/nvmem/sprd-efuse.txt
Normal file
39
bindings/nvmem/sprd-efuse.txt
Normal file
@@ -0,0 +1,39 @@
|
||||
= Spreadtrum eFuse device tree bindings =
|
||||
|
||||
Required properties:
|
||||
- compatible: Should be "sprd,ums312-efuse".
|
||||
- reg: Specify the address offset of efuse controller.
|
||||
- clock-names: Should be "enable".
|
||||
- clocks: The phandle and specifier referencing the controller's clock.
|
||||
- hwlocks: Reference to a phandle of a hwlock provider node.
|
||||
|
||||
= Data cells =
|
||||
Are child nodes of eFuse, bindings of which as described in
|
||||
bindings/nvmem/nvmem.txt
|
||||
|
||||
Example:
|
||||
|
||||
ap_efuse: efuse@32240000 {
|
||||
compatible = "sprd,ums312-efuse";
|
||||
reg = <0 0x32240000 0 0x10000>;
|
||||
clock-names = "enable";
|
||||
hwlocks = <&hwlock 8>;
|
||||
clocks = <&aonapb_gate CLK_EFUSE_EB>;
|
||||
|
||||
/* Data cells */
|
||||
thermal_calib: calib@10 {
|
||||
reg = <0x10 0x2>;
|
||||
};
|
||||
};
|
||||
|
||||
= Data consumers =
|
||||
Are device nodes which consume nvmem data cells.
|
||||
|
||||
Example:
|
||||
|
||||
thermal {
|
||||
...
|
||||
|
||||
nvmem-cells = <&thermal_calib>;
|
||||
nvmem-cell-names = "calibration";
|
||||
};
|
68
bindings/nvmem/st,stm32-romem.yaml
Normal file
68
bindings/nvmem/st,stm32-romem.yaml
Normal file
@@ -0,0 +1,68 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/nvmem/st,stm32-romem.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: STMicroelectronics STM32 Factory-programmed data bindings
|
||||
|
||||
description: |
|
||||
This represents STM32 Factory-programmed read only non-volatile area: locked
|
||||
flash, OTP, read-only HW regs... This contains various information such as:
|
||||
analog calibration data for temperature sensor (e.g. TS_CAL1, TS_CAL2),
|
||||
internal vref (VREFIN_CAL), unique device ID...
|
||||
|
||||
maintainers:
|
||||
- Fabrice Gasnier <fabrice.gasnier@foss.st.com>
|
||||
|
||||
allOf:
|
||||
- $ref: "nvmem.yaml#"
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- st,stm32f4-otp
|
||||
- st,stm32mp15-bsec
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
patternProperties:
|
||||
"^.*@[0-9a-f]+$":
|
||||
type: object
|
||||
|
||||
properties:
|
||||
st,non-secure-otp:
|
||||
description: |
|
||||
This property explicits a factory programmed area that both secure
|
||||
and non-secure worlds can access. It is needed when, by default, the
|
||||
related area can only be reached by the secure world.
|
||||
type: boolean
|
||||
|
||||
required:
|
||||
- "#address-cells"
|
||||
- "#size-cells"
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
efuse@1fff7800 {
|
||||
compatible = "st,stm32f4-otp";
|
||||
reg = <0x1fff7800 0x400>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
calib@22c {
|
||||
reg = <0x22c 0x2>;
|
||||
};
|
||||
|
||||
mac_addr@e4 {
|
||||
reg = <0xe4 0x8>;
|
||||
st,non-secure-otp;
|
||||
};
|
||||
};
|
||||
|
||||
...
|
84
bindings/nvmem/sunplus,sp7021-ocotp.yaml
Normal file
84
bindings/nvmem/sunplus,sp7021-ocotp.yaml
Normal file
@@ -0,0 +1,84 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
# Copyright (C) Sunplus Co., Ltd. 2021
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/nvmem/sunplus,sp7021-ocotp.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: On-Chip OTP Memory for Sunplus SP7021
|
||||
|
||||
maintainers:
|
||||
- Vincent Shih <vincent.sunplus@gmail.com>
|
||||
|
||||
allOf:
|
||||
- $ref: "nvmem.yaml#"
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: sunplus,sp7021-ocotp
|
||||
|
||||
reg:
|
||||
maxItems: 2
|
||||
|
||||
reg-names:
|
||||
items:
|
||||
- const: hb_gpio
|
||||
- const: otprx
|
||||
|
||||
clocks:
|
||||
maxItems: 1
|
||||
|
||||
"#address-cells":
|
||||
const: 1
|
||||
|
||||
"#size-cells":
|
||||
const: 1
|
||||
|
||||
thermal-calibration:
|
||||
type: object
|
||||
description: thermal calibration values
|
||||
|
||||
disconnect-voltage:
|
||||
type: object
|
||||
description: disconnect voltages of usb2 port 0 and port 1
|
||||
|
||||
mac-address0:
|
||||
type: object
|
||||
description: MAC address of ethernet port 0
|
||||
|
||||
mac-address1:
|
||||
type: object
|
||||
description: MAC address of ethernet port 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- reg-names
|
||||
- clocks
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
otp: otp@9c00af00 {
|
||||
compatible = "sunplus,sp7021-ocotp";
|
||||
reg = <0x9c00af00 0x34>, <0x9c00af80 0x58>;
|
||||
reg-names = "hb_gpio", "otprx";
|
||||
clocks = <&clkc 0x15>;
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
therm_calib: thermal-calibration@14 {
|
||||
reg = <0x14 0x3>;
|
||||
};
|
||||
disc_vol: disconnect-voltage@18 {
|
||||
reg = <0x18 0x2>;
|
||||
};
|
||||
mac_addr0: mac-address0@34 {
|
||||
reg = <0x34 0x6>;
|
||||
};
|
||||
mac_addr1: mac-address1@3a {
|
||||
reg = <0x3a 0x6>;
|
||||
};
|
||||
};
|
||||
...
|
75
bindings/nvmem/u-boot,env.yaml
Normal file
75
bindings/nvmem/u-boot,env.yaml
Normal file
@@ -0,0 +1,75 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/nvmem/u-boot,env.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: U-Boot environment variables
|
||||
|
||||
description: |
|
||||
U-Boot uses environment variables to store device parameters and
|
||||
configuration. They may be used for booting process, setup or keeping end user
|
||||
info.
|
||||
|
||||
Data is stored using U-Boot specific formats (variant specific header and NUL
|
||||
separated key-value pairs).
|
||||
|
||||
Environment data can be stored on various storage entities, e.g.:
|
||||
1. Raw flash partition
|
||||
2. UBI volume
|
||||
|
||||
This binding allows marking storage device (as containing env data) and
|
||||
specifying used format.
|
||||
|
||||
Right now only flash partition case is covered but it may be extended to e.g.
|
||||
UBI volumes in the future.
|
||||
|
||||
Variables can be defined as NVMEM device subnodes.
|
||||
|
||||
maintainers:
|
||||
- Rafał Miłecki <rafal@milecki.pl>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
oneOf:
|
||||
- description: A standalone env data block
|
||||
const: u-boot,env
|
||||
- description: Two redundant blocks with active one flagged
|
||||
const: u-boot,env-redundant-bool
|
||||
- description: Two redundant blocks with active having higher counter
|
||||
const: u-boot,env-redundant-count
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
bootcmd:
|
||||
type: object
|
||||
description: Command to use for automatic booting
|
||||
|
||||
ethaddr:
|
||||
type: object
|
||||
description: Ethernet interface's MAC address
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
reg = <0x0 0x40000>;
|
||||
label = "u-boot";
|
||||
read-only;
|
||||
};
|
||||
|
||||
env: partition@40000 {
|
||||
compatible = "u-boot,env";
|
||||
reg = <0x40000 0x10000>;
|
||||
|
||||
mac: ethaddr {
|
||||
};
|
||||
};
|
||||
};
|
19
bindings/nvmem/vf610-ocotp.txt
Normal file
19
bindings/nvmem/vf610-ocotp.txt
Normal file
@@ -0,0 +1,19 @@
|
||||
On-Chip OTP Memory for Freescale Vybrid
|
||||
|
||||
Required Properties:
|
||||
compatible:
|
||||
- "fsl,vf610-ocotp", "syscon" for VF5xx/VF6xx
|
||||
#address-cells : Should be 1
|
||||
#size-cells : Should be 1
|
||||
reg : Address and length of OTP controller and fuse map registers
|
||||
clocks : ipg clock we associate with the OCOTP peripheral
|
||||
|
||||
Example for Vybrid VF5xx/VF6xx:
|
||||
|
||||
ocotp: ocotp@400a5000 {
|
||||
compatible = "fsl,vf610-ocotp", "syscon";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
reg = <0x400a5000 0xCF0>;
|
||||
clocks = <&clks VF610_CLK_OCOTP>;
|
||||
};
|
46
bindings/nvmem/xlnx,zynqmp-nvmem.txt
Normal file
46
bindings/nvmem/xlnx,zynqmp-nvmem.txt
Normal file
@@ -0,0 +1,46 @@
|
||||
--------------------------------------------------------------------------
|
||||
= Zynq UltraScale+ MPSoC nvmem firmware driver binding =
|
||||
--------------------------------------------------------------------------
|
||||
The nvmem_firmware node provides access to the hardware related data
|
||||
like soc revision, IDCODE... etc, By using the firmware interface.
|
||||
|
||||
Required properties:
|
||||
- compatible: should be "xlnx,zynqmp-nvmem-fw"
|
||||
|
||||
= Data cells =
|
||||
Are child nodes of silicon id, bindings of which as described in
|
||||
bindings/nvmem/nvmem.txt
|
||||
|
||||
-------
|
||||
Example
|
||||
-------
|
||||
firmware {
|
||||
zynqmp_firmware: zynqmp-firmware {
|
||||
compatible = "xlnx,zynqmp-firmware";
|
||||
method = "smc";
|
||||
|
||||
nvmem_firmware {
|
||||
compatible = "xlnx,zynqmp-nvmem-fw";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
/* Data cells */
|
||||
soc_revision: soc_revision {
|
||||
reg = <0x0 0x4>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
= Data consumers =
|
||||
Are device nodes which consume nvmem data cells.
|
||||
|
||||
For example:
|
||||
pcap {
|
||||
...
|
||||
|
||||
nvmem-cells = <&soc_revision>;
|
||||
nvmem-cell-names = "soc_revision";
|
||||
|
||||
...
|
||||
};
|
40
bindings/nvmem/zii,rave-sp-eeprom.txt
Normal file
40
bindings/nvmem/zii,rave-sp-eeprom.txt
Normal file
@@ -0,0 +1,40 @@
|
||||
Zodiac Inflight Innovations RAVE EEPROM Bindings
|
||||
|
||||
RAVE SP EEPROM device is a "MFD cell" device exposing physical EEPROM
|
||||
attached to RAVE Supervisory Processor. It is expected that its Device
|
||||
Tree node is specified as a child of the node corresponding to the
|
||||
parent RAVE SP device (as documented in
|
||||
Documentation/devicetree/bindings/mfd/zii,rave-sp.txt)
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible: Should be "zii,rave-sp-eeprom"
|
||||
|
||||
Optional properties:
|
||||
|
||||
- zii,eeprom-name: Unique EEPROM identifier describing its function in the
|
||||
system. Will be used as created NVMEM deivce's name.
|
||||
|
||||
Data cells:
|
||||
|
||||
Data cells are child nodes of eerpom node, bindings for which are
|
||||
documented in Documentation/devicetree/bindings/nvmem/nvmem.txt
|
||||
|
||||
Example:
|
||||
|
||||
rave-sp {
|
||||
compatible = "zii,rave-sp-rdu1";
|
||||
current-speed = <38400>;
|
||||
|
||||
eeprom@a4 {
|
||||
compatible = "zii,rave-sp-eeprom";
|
||||
reg = <0xa4 0x4000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
zii,eeprom-name = "main-eeprom";
|
||||
|
||||
wdt_timeout: wdt-timeout@81 {
|
||||
reg = <0x81 2>;
|
||||
};
|
||||
};
|
||||
}
|
Reference in New Issue
Block a user