Message ID | c81a0679413dd77e68bdf7e3023d1a54e62f26ea.1604432921.git.kblaiech@nvidia.com |
---|---|
State | Superseded |
Headers | show |
Series | i2c: Incremental fixes for Mellanox BlueField I2C | expand |
On Tue, Nov 3, 2020 at 1:56 PM Khalil Blaiech <kblaiech@nvidia.com> wrote: > > Write the devicetree binding text file associated with > the Mellanox BlueField I2C controller in schema file, > JSON compatible subset of YAML. Besides, add an entry > within MAINTAINERS file. Please fix the subject as I asked in v1. > > Reviewed-by: Leon Romanovsky <leonro@nvidia.com> > Signed-off-by: Khalil Blaiech <kblaiech@nvidia.com> > --- > .../devicetree/bindings/i2c/mellanox,i2c-mlxbf.txt | 42 ------------ > .../bindings/i2c/mellanox,i2c-mlxbf.yaml | 80 ++++++++++++++++++++++ > MAINTAINERS | 1 + > 3 files changed, 81 insertions(+), 42 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.txt > create mode 100644 Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.yaml > > diff --git a/Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.txt b/Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.txt > deleted file mode 100644 > index 566ea86..0000000 > --- a/Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.txt > +++ /dev/null > @@ -1,42 +0,0 @@ > -Device tree configuration for the Mellanox I2C SMBus on BlueField SoCs > - > -Required Properties: > - > -- compatible : should be "mellanox,i2c-mlxbf1" or "mellanox,i2c-mlxbf2". > - > -- reg : address offset and length of the device registers. The > - registers consist of the following set of resources: > - 1) Smbus block registers. > - 2) Cause master registers. > - 3) Cause slave registers. > - 4) Cause coalesce registers (if compatible isn't set > - to "mellanox,i2c-mlxbf1"). > - > -- interrupts : interrupt number. > - > -Optional Properties: > - > -- clock-frequency : bus frequency used to configure timing registers; > - allowed values are 100000, 400000 and 1000000; > - those are expressed in Hz. Default is 100000. > - > -Example: > - > -i2c@2804000 { > - compatible = "mellanox,i2c-mlxbf1"; > - reg = <0x02804000 0x800>, > - <0x02801200 0x020>, > - <0x02801260 0x020>; > - interrupts = <57>; > - clock-frequency = <100000>; > -}; > - > -i2c@2808800 { > - compatible = "mellanox,i2c-mlxbf2"; > - reg = <0x02808800 0x600>, > - <0x02808e00 0x020>, > - <0x02808e20 0x020>, > - <0x02808e40 0x010>; > - interrupts = <57>; > - clock-frequency = <400000>; > -}; > diff --git a/Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.yaml b/Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.yaml > new file mode 100644 > index 0000000..3eb7457 > --- /dev/null > +++ b/Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.yaml > @@ -0,0 +1,80 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/i2c/mellanox,i2c-mlxbf.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Mellanox I2C SMBus on BlueField SoCs > + > +maintainers: > + - Khalil Blaiech <kblaiech@nvidia.com> > + > +allOf: > + - $ref: /schemas/i2c/i2c-controller.yaml# > + > +properties: > + compatible: > + enum: > + - mellanox,i2c-mlxbf1 > + - mellanox,i2c-mlxbf2 > + > + reg: > + minItems: 3 > + maxItems: 4 > + items: > + - description: Smbus block registers > + - description: Cause master registers > + - description: Cause slave registers > + - description: Cause coalesce registers > + > + interrupts: > + maxItems: 1 > + > + clock-frequency: > + enum: [ 100000, 400000, 1000000 ] > + description: > + bus frequency used to configure timing registers; > + The frequency is expressed in Hz. Default is 100000. > + > +additionalProperties: false > + > +required: > + - compatible > + - reg > + - interrupts > + > +unevaluatedProperties: false > + > +if: > + properties: > + compatible: > + contains: > + enum: > + - mellanox,i2c-mlxbf1 > + > +then: > + properties: > + reg: > + maxItems: 3 > + > +examples: > + - | > + i2c@2804000 { > + compatible = "mellanox,i2c-mlxbf1"; > + reg = <0x02804000 0x800>, > + <0x02801200 0x020>, > + <0x02801260 0x020>; > + interrupts = <57>; > + clock-frequency = <100000>; > + }; > + > + - | > + i2c@2808800 { > + compatible = "mellanox,i2c-mlxbf2"; > + reg = <0x02808800 0x600>, > + <0x02808e00 0x020>, > + <0x02808e20 0x020>, > + <0x02808e40 0x010>; > + interrupts = <57>; > + clock-frequency = <400000>; > + }; > diff --git a/MAINTAINERS b/MAINTAINERS > index 551587f..40569fd 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -11166,6 +11166,7 @@ MELLANOX BLUEFIELD I2C DRIVER > M: Khalil Blaiech <kblaiech@nvidia.com> > L: linux-i2c@vger.kernel.org > S: Supported > +F: Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.yaml > F: drivers/i2c/busses/i2c-mlxbf.c > > MELLANOX ETHERNET DRIVER (mlx4_en) > -- > 2.1.2 >
> On Tue, Nov 3, 2020 at 1:56 PM Khalil Blaiech <kblaiech@nvidia.com> wrote: > > > > Write the devicetree binding text file associated with > > the Mellanox BlueField I2C controller in schema file, > > JSON compatible subset of YAML. Besides, add an entry > > within MAINTAINERS file. > > Please fix the subject as I asked in v1. Will do. Very sorry about that. > > > > Reviewed-by: Leon Romanovsky <leonro@nvidia.com> > > Signed-off-by: Khalil Blaiech <kblaiech@nvidia.com> > > --- > > .../devicetree/bindings/i2c/mellanox,i2c-mlxbf.txt | 42 ------------ > > .../bindings/i2c/mellanox,i2c-mlxbf.yaml | 80 > ++++++++++++++++++++++ > > MAINTAINERS | 1 + > > 3 files changed, 81 insertions(+), 42 deletions(-) > > delete mode 100644 > Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.txt > > create mode 100644 > Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.yaml > > > > diff --git a/Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.txt > b/Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.txt > > deleted file mode 100644 > > index 566ea86..0000000 > > --- a/Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.txt > > +++ /dev/null > > @@ -1,42 +0,0 @@ > > -Device tree configuration for the Mellanox I2C SMBus on BlueField SoCs > > - > > -Required Properties: > > - > > -- compatible : should be "mellanox,i2c-mlxbf1" or "mellanox,i2c-mlxbf2". > > - > > -- reg : address offset and length of the device registers. The > > - registers consist of the following set of resources: > > - 1) Smbus block registers. > > - 2) Cause master registers. > > - 3) Cause slave registers. > > - 4) Cause coalesce registers (if compatible isn't set > > - to "mellanox,i2c-mlxbf1"). > > - > > -- interrupts : interrupt number. > > - > > -Optional Properties: > > - > > -- clock-frequency : bus frequency used to configure timing registers; > > - allowed values are 100000, 400000 and 1000000; > > - those are expressed in Hz. Default is 100000. > > - > > -Example: > > - > > -i2c@2804000 { > > - compatible = "mellanox,i2c-mlxbf1"; > > - reg = <0x02804000 0x800>, > > - <0x02801200 0x020>, > > - <0x02801260 0x020>; > > - interrupts = <57>; > > - clock-frequency = <100000>; > > -}; > > - > > -i2c@2808800 { > > - compatible = "mellanox,i2c-mlxbf2"; > > - reg = <0x02808800 0x600>, > > - <0x02808e00 0x020>, > > - <0x02808e20 0x020>, > > - <0x02808e40 0x010>; > > - interrupts = <57>; > > - clock-frequency = <400000>; > > -}; > > diff --git a/Documentation/devicetree/bindings/i2c/mellanox,i2c- > mlxbf.yaml b/Documentation/devicetree/bindings/i2c/mellanox,i2c- > mlxbf.yaml > > new file mode 100644 > > index 0000000..3eb7457 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.yaml > > @@ -0,0 +1,80 @@ > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > > +%YAML 1.2 > > +--- > > +$id: http://devicetree.org/schemas/i2c/mellanox,i2c-mlxbf.yaml# > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > + > > +title: Mellanox I2C SMBus on BlueField SoCs > > + > > +maintainers: > > + - Khalil Blaiech <kblaiech@nvidia.com> > > + > > +allOf: > > + - $ref: /schemas/i2c/i2c-controller.yaml# > > + > > +properties: > > + compatible: > > + enum: > > + - mellanox,i2c-mlxbf1 > > + - mellanox,i2c-mlxbf2 > > + > > + reg: > > + minItems: 3 > > + maxItems: 4 > > + items: > > + - description: Smbus block registers > > + - description: Cause master registers > > + - description: Cause slave registers > > + - description: Cause coalesce registers > > + > > + interrupts: > > + maxItems: 1 > > + > > + clock-frequency: > > + enum: [ 100000, 400000, 1000000 ] > > + description: > > + bus frequency used to configure timing registers; > > + The frequency is expressed in Hz. Default is 100000. > > + > > +additionalProperties: false > > + > > +required: > > + - compatible > > + - reg > > + - interrupts > > + > > +unevaluatedProperties: false > > + > > +if: > > + properties: > > + compatible: > > + contains: > > + enum: > > + - mellanox,i2c-mlxbf1 > > + > > +then: > > + properties: > > + reg: > > + maxItems: 3 > > + > > +examples: > > + - | > > + i2c@2804000 { > > + compatible = "mellanox,i2c-mlxbf1"; > > + reg = <0x02804000 0x800>, > > + <0x02801200 0x020>, > > + <0x02801260 0x020>; > > + interrupts = <57>; > > + clock-frequency = <100000>; > > + }; > > + > > + - | > > + i2c@2808800 { > > + compatible = "mellanox,i2c-mlxbf2"; > > + reg = <0x02808800 0x600>, > > + <0x02808e00 0x020>, > > + <0x02808e20 0x020>, > > + <0x02808e40 0x010>; > > + interrupts = <57>; > > + clock-frequency = <400000>; > > + }; > > diff --git a/MAINTAINERS b/MAINTAINERS > > index 551587f..40569fd 100644 > > --- a/MAINTAINERS > > +++ b/MAINTAINERS > > @@ -11166,6 +11166,7 @@ MELLANOX BLUEFIELD I2C DRIVER > > M: Khalil Blaiech <kblaiech@nvidia.com> > > L: linux-i2c@vger.kernel.org > > S: Supported > > +F: Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.yaml > > F: drivers/i2c/busses/i2c-mlxbf.c > > > > MELLANOX ETHERNET DRIVER (mlx4_en) > > -- > > 2.1.2 > >
On Tue, 03 Nov 2020 14:56:08 -0500, Khalil Blaiech wrote: > Write the devicetree binding text file associated with > the Mellanox BlueField I2C controller in schema file, > JSON compatible subset of YAML. Besides, add an entry > within MAINTAINERS file. > > Reviewed-by: Leon Romanovsky <leonro@nvidia.com> > Signed-off-by: Khalil Blaiech <kblaiech@nvidia.com> > --- > .../devicetree/bindings/i2c/mellanox,i2c-mlxbf.txt | 42 ------------ > .../bindings/i2c/mellanox,i2c-mlxbf.yaml | 80 ++++++++++++++++++++++ > MAINTAINERS | 1 + > 3 files changed, 81 insertions(+), 42 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.txt > create mode 100644 Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.yaml > My bot found errors running 'make dt_binding_check' on your patch: yamllint warnings/errors: dtschema/dtc warnings/errors: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.yaml: More than one condition true in oneOf schema: {'oneOf': [{'required': ['unevaluatedProperties']}, {'required': ['additionalProperties']}]} /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.yaml: ignoring, error in schema: warning: no schema found in file: ./Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.yaml See https://patchwork.ozlabs.org/patch/1393383 The base for the patch is generally the last rc1. Any dependencies should be noted. If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure 'yamllint' is installed and dt-schema is up to date: pip3 install dtschema --upgrade Please check and re-submit.
> > > Please fix the subject as I asked in v1. > > > > Will do. Very sorry about that. > > Waiting for the resend of just this patch. The other ones are already > applied. Thank you very much, Wolfram. Sure. I 'll resend the patch a bit later today.
diff --git a/Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.txt b/Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.txt deleted file mode 100644 index 566ea86..0000000 --- a/Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.txt +++ /dev/null @@ -1,42 +0,0 @@ -Device tree configuration for the Mellanox I2C SMBus on BlueField SoCs - -Required Properties: - -- compatible : should be "mellanox,i2c-mlxbf1" or "mellanox,i2c-mlxbf2". - -- reg : address offset and length of the device registers. The - registers consist of the following set of resources: - 1) Smbus block registers. - 2) Cause master registers. - 3) Cause slave registers. - 4) Cause coalesce registers (if compatible isn't set - to "mellanox,i2c-mlxbf1"). - -- interrupts : interrupt number. - -Optional Properties: - -- clock-frequency : bus frequency used to configure timing registers; - allowed values are 100000, 400000 and 1000000; - those are expressed in Hz. Default is 100000. - -Example: - -i2c@2804000 { - compatible = "mellanox,i2c-mlxbf1"; - reg = <0x02804000 0x800>, - <0x02801200 0x020>, - <0x02801260 0x020>; - interrupts = <57>; - clock-frequency = <100000>; -}; - -i2c@2808800 { - compatible = "mellanox,i2c-mlxbf2"; - reg = <0x02808800 0x600>, - <0x02808e00 0x020>, - <0x02808e20 0x020>, - <0x02808e40 0x010>; - interrupts = <57>; - clock-frequency = <400000>; -}; diff --git a/Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.yaml b/Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.yaml new file mode 100644 index 0000000..3eb7457 --- /dev/null +++ b/Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.yaml @@ -0,0 +1,80 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/i2c/mellanox,i2c-mlxbf.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Mellanox I2C SMBus on BlueField SoCs + +maintainers: + - Khalil Blaiech <kblaiech@nvidia.com> + +allOf: + - $ref: /schemas/i2c/i2c-controller.yaml# + +properties: + compatible: + enum: + - mellanox,i2c-mlxbf1 + - mellanox,i2c-mlxbf2 + + reg: + minItems: 3 + maxItems: 4 + items: + - description: Smbus block registers + - description: Cause master registers + - description: Cause slave registers + - description: Cause coalesce registers + + interrupts: + maxItems: 1 + + clock-frequency: + enum: [ 100000, 400000, 1000000 ] + description: + bus frequency used to configure timing registers; + The frequency is expressed in Hz. Default is 100000. + +additionalProperties: false + +required: + - compatible + - reg + - interrupts + +unevaluatedProperties: false + +if: + properties: + compatible: + contains: + enum: + - mellanox,i2c-mlxbf1 + +then: + properties: + reg: + maxItems: 3 + +examples: + - | + i2c@2804000 { + compatible = "mellanox,i2c-mlxbf1"; + reg = <0x02804000 0x800>, + <0x02801200 0x020>, + <0x02801260 0x020>; + interrupts = <57>; + clock-frequency = <100000>; + }; + + - | + i2c@2808800 { + compatible = "mellanox,i2c-mlxbf2"; + reg = <0x02808800 0x600>, + <0x02808e00 0x020>, + <0x02808e20 0x020>, + <0x02808e40 0x010>; + interrupts = <57>; + clock-frequency = <400000>; + }; diff --git a/MAINTAINERS b/MAINTAINERS index 551587f..40569fd 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -11166,6 +11166,7 @@ MELLANOX BLUEFIELD I2C DRIVER M: Khalil Blaiech <kblaiech@nvidia.com> L: linux-i2c@vger.kernel.org S: Supported +F: Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.yaml F: drivers/i2c/busses/i2c-mlxbf.c MELLANOX ETHERNET DRIVER (mlx4_en)