162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/nvmem/brcm,nvram.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: Broadcom's NVRAM
862306a36Sopenharmony_ci
962306a36Sopenharmony_cidescription: |
1062306a36Sopenharmony_ci  Broadcom's NVRAM is a structure containing device specific environment
1162306a36Sopenharmony_ci  variables. It is used for storing device configuration, booting parameters
1262306a36Sopenharmony_ci  and calibration data.
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ci  NVRAM can be accessed on Broadcom BCM47xx MIPS and Northstar ARM Cortex-A9
1562306a36Sopenharmony_ci  devices usiong I/O mapped memory.
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ci  NVRAM variables can be defined as NVMEM device subnodes.
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_cimaintainers:
2062306a36Sopenharmony_ci  - Rafał Miłecki <rafal@milecki.pl>
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ciallOf:
2362306a36Sopenharmony_ci  - $ref: nvmem.yaml#
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ciproperties:
2662306a36Sopenharmony_ci  compatible:
2762306a36Sopenharmony_ci    const: brcm,nvram
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci  reg:
3062306a36Sopenharmony_ci    maxItems: 1
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci  board_id:
3362306a36Sopenharmony_ci    type: object
3462306a36Sopenharmony_ci    description: Board identification name
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ci  et0macaddr:
3762306a36Sopenharmony_ci    type: object
3862306a36Sopenharmony_ci    description: First Ethernet interface's MAC address
3962306a36Sopenharmony_ci    properties:
4062306a36Sopenharmony_ci      "#nvmem-cell-cells":
4162306a36Sopenharmony_ci        description: The first argument is a MAC address offset.
4262306a36Sopenharmony_ci        const: 1
4362306a36Sopenharmony_ci    additionalProperties: false
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci  et1macaddr:
4662306a36Sopenharmony_ci    type: object
4762306a36Sopenharmony_ci    description: Second Ethernet interface's MAC address
4862306a36Sopenharmony_ci    properties:
4962306a36Sopenharmony_ci      "#nvmem-cell-cells":
5062306a36Sopenharmony_ci        description: The first argument is a MAC address offset.
5162306a36Sopenharmony_ci        const: 1
5262306a36Sopenharmony_ci    additionalProperties: false
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ci  et2macaddr:
5562306a36Sopenharmony_ci    type: object
5662306a36Sopenharmony_ci    description: Third Ethernet interface's MAC address
5762306a36Sopenharmony_ci    properties:
5862306a36Sopenharmony_ci      "#nvmem-cell-cells":
5962306a36Sopenharmony_ci        description: The first argument is a MAC address offset.
6062306a36Sopenharmony_ci        const: 1
6162306a36Sopenharmony_ci    additionalProperties: false
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_ciunevaluatedProperties: false
6462306a36Sopenharmony_ci
6562306a36Sopenharmony_ciexamples:
6662306a36Sopenharmony_ci  - |
6762306a36Sopenharmony_ci    nvram@1eff0000 {
6862306a36Sopenharmony_ci        compatible = "brcm,nvram";
6962306a36Sopenharmony_ci        reg = <0x1eff0000 0x10000>;
7062306a36Sopenharmony_ci
7162306a36Sopenharmony_ci        mac: et0macaddr {
7262306a36Sopenharmony_ci        };
7362306a36Sopenharmony_ci    };
74