From: PrasannaKumar Muralidharan <[email protected]>
This patch brings support for the JZ4780 efuse. Currently it only exposes
a read only access to the entire 8K bits efuse memory.
Tested-by: Mathieu Malaterre <[email protected]>
Signed-off-by: PrasannaKumar Muralidharan <[email protected]>
Signed-off-by: Mathieu Malaterre <[email protected]>
Signed-off-by: H. Nikolaus Schaller <[email protected]>
[converted to yaml]
Signed-off-by: Andreas Kemnade <[email protected]>
---
.../bindings/nvmem/ingenic,jz4780-efuse.yaml | 50 +++++++++++++++++++
1 file changed, 50 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..09a8ef937750
--- /dev/null
+++ b/Documentation/devicetree/bindings/nvmem/ingenic,jz4780-efuse.yaml
@@ -0,0 +1,50 @@
+# 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 <[email protected]>
+
+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: ahb2
+
+required:
+ - compatible
+ - reg
+ - 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 = "ahb2";
+ };
+
+...
--
2.23.0
On Sat, 22 Feb 2020 11:25:37 +0100
"H. Nikolaus Schaller" <[email protected]> wrote:
> From: PrasannaKumar Muralidharan <[email protected]>
>
> This patch brings support for the JZ4780 efuse. Currently it only exposes
> a read only access to the entire 8K bits efuse memory.
>
> Tested-by: Mathieu Malaterre <[email protected]>
> Signed-off-by: PrasannaKumar Muralidharan <[email protected]>
> Signed-off-by: Mathieu Malaterre <[email protected]>
> Signed-off-by: H. Nikolaus Schaller <[email protected]>
> [converted to yaml]
> Signed-off-by: Andreas Kemnade <[email protected]>
> ---
> .../bindings/nvmem/ingenic,jz4780-efuse.yaml | 50 +++++++++++++++++++
> 1 file changed, 50 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..09a8ef937750
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/nvmem/ingenic,jz4780-efuse.yaml
> @@ -0,0 +1,50 @@
> +# 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 <[email protected]>
> +
> +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: ahb2
> +
> +required:
> + - compatible
> + - reg
> + - clock-names
- clocks ?
In my first try there was "clock" without s which
caused the trouble.
Regards,
Andreas
On Sat, 22 Feb 2020 11:25:37 +0100
"H. Nikolaus Schaller" <[email protected]> wrote:
> From: PrasannaKumar Muralidharan <[email protected]>
>
> This patch brings support for the JZ4780 efuse. Currently it only exposes
> a read only access to the entire 8K bits efuse memory.
>
> Tested-by: Mathieu Malaterre <[email protected]>
> Signed-off-by: PrasannaKumar Muralidharan <[email protected]>
> Signed-off-by: Mathieu Malaterre <[email protected]>
> Signed-off-by: H. Nikolaus Schaller <[email protected]>
> [converted to yaml]
> Signed-off-by: Andreas Kemnade <[email protected]>
> ---
> .../bindings/nvmem/ingenic,jz4780-efuse.yaml | 50 +++++++++++++++++++
> 1 file changed, 50 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..09a8ef937750
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/nvmem/ingenic,jz4780-efuse.yaml
> @@ -0,0 +1,50 @@
> +# 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 <[email protected]>
> +
> +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: ahb2
as Rob said: probably not needed, since it is a single
clock, and the driver uses devm_clk_get(dev, NULL), so it should be prepared
for that without any extra work.
> +
> +required:
> + - compatible
> + - reg
> + - clock-names
so it is not required here (but "- clocks" (not "- clock") as said in earlier
mail).
> +
> +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 = "ahb2";
and not required here.
Regards,
Andreas
> Am 22.02.2020 um 11:54 schrieb Andreas Kemnade <[email protected]>:
>
> On Sat, 22 Feb 2020 11:25:37 +0100
> "H. Nikolaus Schaller" <[email protected]> wrote:
>
>> From: PrasannaKumar Muralidharan <[email protected]>
>>
>> This patch brings support for the JZ4780 efuse. Currently it only exposes
>> a read only access to the entire 8K bits efuse memory.
>>
>> Tested-by: Mathieu Malaterre <[email protected]>
>> Signed-off-by: PrasannaKumar Muralidharan <[email protected]>
>> Signed-off-by: Mathieu Malaterre <[email protected]>
>> Signed-off-by: H. Nikolaus Schaller <[email protected]>
>> [converted to yaml]
>> Signed-off-by: Andreas Kemnade <[email protected]>
>> ---
>> .../bindings/nvmem/ingenic,jz4780-efuse.yaml | 50 +++++++++++++++++++
>> 1 file changed, 50 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..09a8ef937750
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/nvmem/ingenic,jz4780-efuse.yaml
>> @@ -0,0 +1,50 @@
>> +# 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 <[email protected]>
>> +
>> +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: ahb2
>> +
>> +required:
>> + - compatible
>> + - reg
>> + - clock-names
> - clocks ?
>
> In my first try there was "clock" without s which
> caused the trouble.
Ah, ok. Seems I have mis-interpreted this.
BR and thanks,
Nikolaus
> Am 22.02.2020 um 16:57 schrieb Andreas Kemnade <[email protected]>:
>
> On Sat, 22 Feb 2020 11:25:37 +0100
> "H. Nikolaus Schaller" <[email protected]> wrote:
>
>> From: PrasannaKumar Muralidharan <[email protected]>
>>
>> This patch brings support for the JZ4780 efuse. Currently it only exposes
>> a read only access to the entire 8K bits efuse memory.
>>
>> Tested-by: Mathieu Malaterre <[email protected]>
>> Signed-off-by: PrasannaKumar Muralidharan <[email protected]>
>> Signed-off-by: Mathieu Malaterre <[email protected]>
>> Signed-off-by: H. Nikolaus Schaller <[email protected]>
>> [converted to yaml]
>> Signed-off-by: Andreas Kemnade <[email protected]>
>> ---
>> .../bindings/nvmem/ingenic,jz4780-efuse.yaml | 50 +++++++++++++++++++
>> 1 file changed, 50 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..09a8ef937750
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/nvmem/ingenic,jz4780-efuse.yaml
>> @@ -0,0 +1,50 @@
>> +# 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 <[email protected]>
>> +
>> +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: ahb2
> as Rob said: probably not needed, since it is a single
> clock, and the driver uses devm_clk_get(dev, NULL), so it should be prepared
> for that without any extra work.
The question is if a specific driver implementation should determine
what the DT requires or the other way round. I don't know...
I did interpret Rob's comment differently: there was
> - "clock-names" Must be "bus_clk"
and he did say:
'clk' is redundant. How about 'ahb'?
So I thought he refers to the _clk suffix?
>
>> +
>> +required:
>> + - compatible
>> + - reg
>> + - clock-names
> so it is not required here (but "- clocks" (not "- clock") as said in earlier
> mail).
Well, this is another example where I do not yet see any improvement by yaml.
It is the same amount of guessing what should be written where. Is this to
be added or not? When is it and why, when not and why?
BR and thanks,
Nikolaus
On Sat, 22 Feb 2020 17:34:06 +0100
"H. Nikolaus Schaller" <[email protected]> wrote:
> > Am 22.02.2020 um 16:57 schrieb Andreas Kemnade <[email protected]>:
> >
> > On Sat, 22 Feb 2020 11:25:37 +0100
> > "H. Nikolaus Schaller" <[email protected]> wrote:
> >
> >> From: PrasannaKumar Muralidharan <[email protected]>
> >>
> >> This patch brings support for the JZ4780 efuse. Currently it only exposes
> >> a read only access to the entire 8K bits efuse memory.
> >>
> >> Tested-by: Mathieu Malaterre <[email protected]>
> >> Signed-off-by: PrasannaKumar Muralidharan <[email protected]>
> >> Signed-off-by: Mathieu Malaterre <[email protected]>
> >> Signed-off-by: H. Nikolaus Schaller <[email protected]>
> >> [converted to yaml]
> >> Signed-off-by: Andreas Kemnade <[email protected]>
> >> ---
> >> .../bindings/nvmem/ingenic,jz4780-efuse.yaml | 50 +++++++++++++++++++
> >> 1 file changed, 50 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..09a8ef937750
> >> --- /dev/null
> >> +++ b/Documentation/devicetree/bindings/nvmem/ingenic,jz4780-efuse.yaml
> >> @@ -0,0 +1,50 @@
> >> +# 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 <[email protected]>
> >> +
> >> +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: ahb2
> > as Rob said: probably not needed, since it is a single
> > clock, and the driver uses devm_clk_get(dev, NULL), so it should be prepared
> > for that without any extra work.
>
> The question is if a specific driver implementation should determine
> what the DT requires or the other way round. I don't know...
>
> I did interpret Rob's comment differently: there was
>
> > - "clock-names" Must be "bus_clk"
>
> and he did say:
>
> 'clk' is redundant. How about 'ahb'?
>
> So I thought he refers to the _clk suffix?
>
and he said to my first try:
---
> + clock-names:
> + items:
> + - const: bus_clk
My prior comment still applies.
Also, for a single clock, you don't really need a name.
---
Regards,
Andreas
> Am 22.02.2020 um 17:46 schrieb Andreas Kemnade <[email protected]>:
>
> On Sat, 22 Feb 2020 17:34:06 +0100
> "H. Nikolaus Schaller" <[email protected]> wrote:
>
>>> Am 22.02.2020 um 16:57 schrieb Andreas Kemnade <[email protected]>:
>>>
>>> On Sat, 22 Feb 2020 11:25:37 +0100
>>> "H. Nikolaus Schaller" <[email protected]> wrote:
>>>
>>>> From: PrasannaKumar Muralidharan <[email protected]>
>>>>
>>>> This patch brings support for the JZ4780 efuse. Currently it only exposes
>>>> a read only access to the entire 8K bits efuse memory.
>>>>
>>>> Tested-by: Mathieu Malaterre <[email protected]>
>>>> Signed-off-by: PrasannaKumar Muralidharan <[email protected]>
>>>> Signed-off-by: Mathieu Malaterre <[email protected]>
>>>> Signed-off-by: H. Nikolaus Schaller <[email protected]>
>>>> [converted to yaml]
>>>> Signed-off-by: Andreas Kemnade <[email protected]>
>>>> ---
>>>> .../bindings/nvmem/ingenic,jz4780-efuse.yaml | 50 +++++++++++++++++++
>>>> 1 file changed, 50 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..09a8ef937750
>>>> --- /dev/null
>>>> +++ b/Documentation/devicetree/bindings/nvmem/ingenic,jz4780-efuse.yaml
>>>> @@ -0,0 +1,50 @@
>>>> +# 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 <[email protected]>
>>>> +
>>>> +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: ahb2
>>> as Rob said: probably not needed, since it is a single
>>> clock, and the driver uses devm_clk_get(dev, NULL), so it should be prepared
>>> for that without any extra work.
>>
>> The question is if a specific driver implementation should determine
>> what the DT requires or the other way round. I don't know...
>>
>> I did interpret Rob's comment differently: there was
>>
>>> - "clock-names" Must be "bus_clk"
>>
>> and he did say:
>>
>> 'clk' is redundant. How about 'ahb'?
>>
>> So I thought he refers to the _clk suffix?
>>
>
> and he said to my first try:
> ---
>> + clock-names:
>> + items:
>> + - const: bus_clk
>
> My prior comment still applies.
>
> Also, for a single clock, you don't really need a name.
Ah, ok. I may have missed that.
BR and thanks,
Nikolaus
On Sat, 22 Feb 2020 17:34:06 +0100
"H. Nikolaus Schaller" <[email protected]> wrote:
> > Am 22.02.2020 um 16:57 schrieb Andreas Kemnade <[email protected]>:
> >
> > On Sat, 22 Feb 2020 11:25:37 +0100
> > "H. Nikolaus Schaller" <[email protected]> wrote:
> >
> >> From: PrasannaKumar Muralidharan <[email protected]>
> >>
> >> This patch brings support for the JZ4780 efuse. Currently it only exposes
> >> a read only access to the entire 8K bits efuse memory.
> >>
> >> Tested-by: Mathieu Malaterre <[email protected]>
> >> Signed-off-by: PrasannaKumar Muralidharan <[email protected]>
> >> Signed-off-by: Mathieu Malaterre <[email protected]>
> >> Signed-off-by: H. Nikolaus Schaller <[email protected]>
> >> [converted to yaml]
> >> Signed-off-by: Andreas Kemnade <[email protected]>
> >> ---
> >> .../bindings/nvmem/ingenic,jz4780-efuse.yaml | 50 +++++++++++++++++++
> >> 1 file changed, 50 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..09a8ef937750
> >> --- /dev/null
> >> +++ b/Documentation/devicetree/bindings/nvmem/ingenic,jz4780-efuse.yaml
> >> @@ -0,0 +1,50 @@
> >> +# 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 <[email protected]>
> >> +
> >> +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: ahb2
> > as Rob said: probably not needed, since it is a single
> > clock, and the driver uses devm_clk_get(dev, NULL), so it should be prepared
> > for that without any extra work.
>
> The question is if a specific driver implementation should determine
> what the DT requires or the other way round. I don't know...
>
> I did interpret Rob's comment differently: there was
>
> > - "clock-names" Must be "bus_clk"
>
> and he did say:
>
> 'clk' is redundant. How about 'ahb'?
>
> So I thought he refers to the _clk suffix?
>
> >
> >> +
> >> +required:
> >> + - compatible
> >> + - reg
> >> + - clock-names
> > so it is not required here (but "- clocks" (not "- clock") as said in earlier
> > mail).
>
> Well, this is another example where I do not yet see any improvement by yaml.
> It is the same amount of guessing what should be written where. Is this to
> be added or not? When is it and why, when not and why?
>
well, this is the list of required properties which have to be an any
devicetree using that device, the conversion of the comments for the properties
in the .txt-file.
So, if you do not declare a property before, you cannot specify that it is
required. So if we drop the definition of clock-names we cannot declare it
as required.
Regards,
Andreas