Message ID | 51642368a064073ab99bb3110863b5fadc382f82.1582367141.git.hns@goldelico.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | MIPS: CI20: Add efuse driver for Ingenic JZ4780 and attach to DM9000 for stable MAC addresses | expand |
On Sat, 22 Feb 2020 11:25:37 +0100 "H. Nikolaus Schaller" <hns@goldelico.com> wrote: > From: PrasannaKumar Muralidharan <prasannatsmkumar@gmail.com> > > 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 <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> > --- > .../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 <prasannatsmkumar@gmail.com> > + > +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" <hns@goldelico.com> wrote: > From: PrasannaKumar Muralidharan <prasannatsmkumar@gmail.com> > > 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 <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> > --- > .../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 <prasannatsmkumar@gmail.com> > + > +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 <andreas@kemnade.info>: > > On Sat, 22 Feb 2020 11:25:37 +0100 > "H. Nikolaus Schaller" <hns@goldelico.com> wrote: > >> From: PrasannaKumar Muralidharan <prasannatsmkumar@gmail.com> >> >> 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 <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> >> --- >> .../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 <prasannatsmkumar@gmail.com> >> + >> +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 <andreas@kemnade.info>: > > On Sat, 22 Feb 2020 11:25:37 +0100 > "H. Nikolaus Schaller" <hns@goldelico.com> wrote: > >> From: PrasannaKumar Muralidharan <prasannatsmkumar@gmail.com> >> >> 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 <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> >> --- >> .../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 <prasannatsmkumar@gmail.com> >> + >> +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" <hns@goldelico.com> wrote: > > Am 22.02.2020 um 16:57 schrieb Andreas Kemnade <andreas@kemnade.info>: > > > > On Sat, 22 Feb 2020 11:25:37 +0100 > > "H. Nikolaus Schaller" <hns@goldelico.com> wrote: > > > >> From: PrasannaKumar Muralidharan <prasannatsmkumar@gmail.com> > >> > >> 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 <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> > >> --- > >> .../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 <prasannatsmkumar@gmail.com> > >> + > >> +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 <andreas@kemnade.info>: > > On Sat, 22 Feb 2020 17:34:06 +0100 > "H. Nikolaus Schaller" <hns@goldelico.com> wrote: > >>> Am 22.02.2020 um 16:57 schrieb Andreas Kemnade <andreas@kemnade.info>: >>> >>> On Sat, 22 Feb 2020 11:25:37 +0100 >>> "H. Nikolaus Schaller" <hns@goldelico.com> wrote: >>> >>>> From: PrasannaKumar Muralidharan <prasannatsmkumar@gmail.com> >>>> >>>> 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 <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> >>>> --- >>>> .../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 <prasannatsmkumar@gmail.com> >>>> + >>>> +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" <hns@goldelico.com> wrote: > > Am 22.02.2020 um 16:57 schrieb Andreas Kemnade <andreas@kemnade.info>: > > > > On Sat, 22 Feb 2020 11:25:37 +0100 > > "H. Nikolaus Schaller" <hns@goldelico.com> wrote: > > > >> From: PrasannaKumar Muralidharan <prasannatsmkumar@gmail.com> > >> > >> 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 <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> > >> --- > >> .../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 <prasannatsmkumar@gmail.com> > >> + > >> +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
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 <prasannatsmkumar@gmail.com> + +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"; + }; + +...