Re: [PATCH stblinux.git 1/2] dt-bindings: firmware: add Broadcom's NVRAM memory mapping

From: Rob Herring
Date: Mon Mar 08 2021 - 13:43:59 EST


On Tue, Mar 02, 2021 at 08:44:04AM +0100, Rafał Miłecki wrote:
> From: Rafał Miłecki <rafal@xxxxxxxxxx>
>
> NVRAM structure contains device data and can be accessed using MMIO.
>
> Signed-off-by: Rafał Miłecki <rafal@xxxxxxxxxx>
> ---
> .../bindings/firmware/brcm,nvram.yaml | 41 +++++++++++++++++++
> 1 file changed, 41 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/firmware/brcm,nvram.yaml
>
> diff --git a/Documentation/devicetree/bindings/firmware/brcm,nvram.yaml b/Documentation/devicetree/bindings/firmware/brcm,nvram.yaml
> new file mode 100644
> index 000000000000..12af8e2e7c9c
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/firmware/brcm,nvram.yaml
> @@ -0,0 +1,41 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: "http://devicetree.org/schemas/firmware/brcm,nvram.yaml#";
> +$schema: "http://devicetree.org/meta-schemas/core.yaml#";
> +
> +title: Broadcom's NVRAM
> +
> +maintainers:
> + - Rafał Miłecki <rafal@xxxxxxxxxx>
> +
> +description: |
> + NVRAM is a structure containing device specific environment variables.
> + It is used for storing device configuration, booting parameters and
> + calibration data.

The structure of the data is fully discoverable just from a genericish
'brcm,nvram'?

And it's a dedicated memory outside of regular RAM?

> +
> + It's required very early in booting process and so is made available
> + using memory mapping.
> +
> + NVRAM can be found on Broadcom BCM47xx MIPS, Northstar ARM Cortex-A9
> + and some more devices.
> +
> +properties:
> + compatible:
> + const: brcm,nvram
> +
> + reg:
> + description: memory region with NVRAM data
> + maxItems: 1
> +
> +required:
> + - reg
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + nvram@1e000000 {
> + compatible = "brcm,nvram";
> + reg = <0x1e000000 0x10000>;
> + };
> --
> 2.26.2
>