diff mbox series

[RFC] Bindings: nvmem: add bindings for JZ4780 efuse

Message ID 20200220060001.25807-1-andreas@kemnade.info (mailing list archive)
State RFC
Headers show
Series [RFC] Bindings: nvmem: add bindings for JZ4780 efuse | expand

Commit Message

Andreas Kemnade Feb. 20, 2020, 6 a.m. UTC
From: PrasannaKumar Muralidharan <prasannatsmkumar@gmail.com>

This patch brings support for the JZ4780 efuse. Currently it only expose
a read only access to the entire 8K bits efuse memory.

Tested-by: Mathieu Malaterre <malat@debian.org>
Signed-off-by: PrasannaKumar Muralidharan <prasannatsmkumar@gmail.com>
Signed-off-by: Mathieu Malaterre <malat@debian.org>
Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
[converted to yaml]
Signed-off-by: Andreas Kemnade <andreas@kemnade.info>
---
I will not update/maintain this, just have the impression that here some
more work is needed to make somebody comfortable with yaml than stick
to the usual pointing to documentation and I have not the ingredients 
for doing
cat  Antihistamines >/dev/brain ;-)
and I do not want to see the other patches get lost.

 .../bindings/nvmem/ingenic,jz4780-efuse.yaml  | 51 +++++++++++++++++++
 1 file changed, 51 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/nvmem/ingenic,jz4780-efuse.yaml

Comments

Rob Herring (Arm) Feb. 20, 2020, 7:53 p.m. UTC | #1
On Thu, Feb 20, 2020 at 12:00 AM Andreas Kemnade <andreas@kemnade.info> wrote:
>
> From: PrasannaKumar Muralidharan <prasannatsmkumar@gmail.com>
>
> This patch brings support for the JZ4780 efuse. Currently it only expose
> a read only access to the entire 8K bits efuse memory.
>
> Tested-by: Mathieu Malaterre <malat@debian.org>
> Signed-off-by: PrasannaKumar Muralidharan <prasannatsmkumar@gmail.com>
> Signed-off-by: Mathieu Malaterre <malat@debian.org>
> Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
> [converted to yaml]
> Signed-off-by: Andreas Kemnade <andreas@kemnade.info>
> ---
> I will not update/maintain this, just have the impression that here some
> more work is needed to make somebody comfortable with yaml than stick
> to the usual pointing to documentation and I have not the ingredients
> for doing
> cat  Antihistamines >/dev/brain ;-)
> and I do not want to see the other patches get lost.

Looks about right...

>
>  .../bindings/nvmem/ingenic,jz4780-efuse.yaml  | 51 +++++++++++++++++++
>  1 file changed, 51 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/nvmem/ingenic,jz4780-efuse.yaml
>
> diff --git a/Documentation/devicetree/bindings/nvmem/ingenic,jz4780-efuse.yaml b/Documentation/devicetree/bindings/nvmem/ingenic,jz4780-efuse.yaml
> new file mode 100644
> index 000000000000..ad56c17b0bd5
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/nvmem/ingenic,jz4780-efuse.yaml
> @@ -0,0 +1,51 @@
> +# SPDX-License-Identifier: GPL-2.0

Dual license new bindings please:

(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:
> +  - tbd <tbd@tbd>
> +
> +allOf:
> +  - $ref: "nvmem.yaml#"
> +
> +properties:
> +  compatible:
> +    enum:
> +      - ingenic,jz4780-efuse
> +
> +  reg:
> +    maxItems: 1
> +
> +  clocks:
> +    # Handle for the ahb for the efuse.
> +    maxItems: 1
> +
> +  clock-names:
> +   items:
> +     - const:  bus_clk

My prior comment still applies.

Also, for a single clock, you don't really need a name.

> +
> +required:
> +  - compatible
> +  - reg
> +  - clock

'make dt_binding_check' would have pointed the error here for you:

/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/nvmem/ingenic,jz4780-efuse.example.dt.yaml:
efuse@134100d0: 'clock' is a required property

> +  - clock-names
> +
> +unevaluatedProperties: false
> +
> +examples:
> +  - |
> +    #include <dt-bindings/clock/jz4780-cgu.h>
> +
> +    efuse@134100d0 {
> +        compatible = "ingenic,jz4780-efuse";
> +        reg = <0x134100d0 0x2c>;
> +
> +        clocks = <&cgu JZ4780_CLK_AHB2>;
> +        clock-names = "bus_clk";
> +    };
> +
> +...
> --
> 2.20.1
>
Andreas Kemnade Feb. 24, 2020, 6:48 a.m. UTC | #2
On Thu, 20 Feb 2020 13:53:55 -0600
Rob Herring <robh@kernel.org> wrote:

[...]
> > +
> > +required:
> > +  - compatible
> > +  - reg
> > +  - clock  
> 
> 'make dt_binding_check' would have pointed the error here for you:
> 
I did run make dt_binding_check...
It stopped because the jz4780-cgu.h included was missing. Then I have added
that line and have started dt_binding_check again.
At least here it is doing a full rerun in the second part.
After some time I scrolled back and noticed DTC passed
and missed that

> /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/nvmem/ingenic,jz4780-efuse.example.dt.yaml:
> efuse@134100d0: 'clock' is a required property
> 
in the CHECKS line. Well, dt_binding_check is a bit noisy. I guess I should
have redirected all output to a text file, before and after my changes. and
diffed the results. 
Is there any script ready for that?

Regards,
Andreas
Rob Herring (Arm) Feb. 24, 2020, 3:15 p.m. UTC | #3
On Mon, Feb 24, 2020 at 12:48 AM Andreas Kemnade <andreas@kemnade.info> wrote:
>
> On Thu, 20 Feb 2020 13:53:55 -0600
> Rob Herring <robh@kernel.org> wrote:
>
> [...]
> > > +
> > > +required:
> > > +  - compatible
> > > +  - reg
> > > +  - clock
> >
> > 'make dt_binding_check' would have pointed the error here for you:
> >
> I did run make dt_binding_check...
> It stopped because the jz4780-cgu.h included was missing. Then I have added
> that line and have started dt_binding_check again.
> At least here it is doing a full rerun in the second part.
> After some time I scrolled back and noticed DTC passed
> and missed that
>
> > /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/nvmem/ingenic,jz4780-efuse.example.dt.yaml:
> > efuse@134100d0: 'clock' is a required property
> >
> in the CHECKS line. Well, dt_binding_check is a bit noisy. I guess I should
> have redirected all output to a text file, before and after my changes. and
> diffed the results.
> Is there any script ready for that?

grep 'ingenic,jz4780-efuse' <build log> ?

Noisy? There's 8 warnings on Linus' master currently[1]. I try to keep
that at 0, but I wouldn't call 8 noisy.

Rob

[1] https://gitlab.com/robherring/linux-dt-bindings/-/jobs/447630363
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/nvmem/ingenic,jz4780-efuse.yaml b/Documentation/devicetree/bindings/nvmem/ingenic,jz4780-efuse.yaml
new file mode 100644
index 000000000000..ad56c17b0bd5
--- /dev/null
+++ b/Documentation/devicetree/bindings/nvmem/ingenic,jz4780-efuse.yaml
@@ -0,0 +1,51 @@ 
+# SPDX-License-Identifier: GPL-2.0
+%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:
+  - tbd <tbd@tbd>
+
+allOf:
+  - $ref: "nvmem.yaml#"
+
+properties:
+  compatible:
+    enum:
+      - ingenic,jz4780-efuse
+
+  reg:
+    maxItems: 1
+
+  clocks:
+    # Handle for the ahb for the efuse.
+    maxItems: 1
+
+  clock-names:
+   items:
+     - const:  bus_clk
+
+required:
+  - compatible
+  - reg
+  - clock
+  - clock-names
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/clock/jz4780-cgu.h>
+
+    efuse@134100d0 {
+        compatible = "ingenic,jz4780-efuse";
+        reg = <0x134100d0 0x2c>;
+
+        clocks = <&cgu JZ4780_CLK_AHB2>;
+        clock-names = "bus_clk";
+    };
+
+...