On Tue, Nov 3, 2020 at 1:56 PM Khalil Blaiech <kblaiech@xxxxxxxxxx> 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@xxxxxxxxxx> > Signed-off-by: Khalil Blaiech <kblaiech@xxxxxxxxxx> > --- > .../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@xxxxxxxxxx> > + > +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@xxxxxxxxxx> > L: linux-i2c@xxxxxxxxxxxxxxx > 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 >