[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160520192101.GA15615@rob-hp-laptop>
Date: Fri, 20 May 2016 14:21:01 -0500
From: Rob Herring <robh@...nel.org>
To: David Mosberger-Tang <davidm@...uge.net>
Cc: srinivas.kandagatla@...aro.org, maxime.ripard@...e-electrons.com,
pawel.moll@....com, mark.rutland@....com,
ijc+devicetree@...lion.org.uk, galak@...eaurora.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
nicolas.ferre@...el.com, linux-arm-kernel@...ts.infradead.org
Subject: Re: [PATCH] drivers: nvmem: atmel-secumod: New driver for Atmel
Secumod nvram
On Wed, May 18, 2016 at 03:06:04PM -0600, David Mosberger-Tang wrote:
> Signed-off-by: David Mosberger <davidm@...uge.net>
> ---
> .../devicetree/bindings/nvmem/atmel-secumod.txt | 47 +++++++
> drivers/nvmem/Kconfig | 7 +
> drivers/nvmem/Makefile | 2 +
> drivers/nvmem/atmel-secumod.c | 143 +++++++++++++++++++++
> 4 files changed, 199 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/nvmem/atmel-secumod.txt
> create mode 100644 drivers/nvmem/atmel-secumod.c
>
> diff --git a/Documentation/devicetree/bindings/nvmem/atmel-secumod.txt b/Documentation/devicetree/bindings/nvmem/atmel-secumod.txt
> new file mode 100644
> index 0000000..d65cad5
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/nvmem/atmel-secumod.txt
> @@ -0,0 +1,47 @@
> += Atmel Secumod device tree bindings =
> +
> +This binding is intended to represent Atmel's Secumod which is found
> +in SAMA5D2 and perhaps others.
> +
> +Required properties:
> +- compatible: should be "atmel,sama5d2-secumod"
> +- reg: Should contain RAM location and length, followed
> + by register location and length of the Secumod controller.
> +
> += Data cells =
> +Are child nodes of secumod, bindings of which as described in
> +bindings/nvmem/nvmem.txt
> +
> +Example:
> +
> + secumod@...40000 {
This unit-address should match the first reg address.
> + compatible = "atmel,sama5d2-secumod";
> + reg = <0xf8044000 0x1420>, <0xfc040000 0x4000>;
> + reg-names = "SECURAM", "SECUMOD";
> + status = "okay";
> +
> + #address-cells = <1>;
> + #size-cells = <1>;
> + ranges;
Sorry, to be clear, you need values here too.
> +
> + secram-auto-erasable@0 {
> + reg = <0x0000 0x1000>;
The 0 here is address 0xf8044000, right? So ranges is what is used to
translate from child address of 0 to the parent address.
> + };
> + secram@...0 {
> + reg = <0x1000 0x400>;
> + };
> + ram@...0 {
> + reg = <0x1400 0x20>;
> + };
> + };
> +
> += Data consumers =
> +Are device nodes which consume nvmem data cells.
> +
> +For example:
> +
> + ram {
> + ...
> + nvmem-cells = <&ram>;
> + nvmem-cell-names = "RAM";
> + };
Powered by blists - more mailing lists