In the latest version of the i2c-mlxbf.c driver, the "Smbus block" resource was broken down to 3 separate resources "Smbus timer", "Smbus master" and "Smbus slave" to accommodate for BlueField-3 SoC registers' changes. Reviewed-by: Khalil Blaiech <kblaiech@xxxxxxxxxx> Signed-off-by: Asmaa Mnebhi <asmaa@xxxxxxxxxx> --- .../bindings/i2c/mellanox,i2c-mlxbf.yaml | 49 ++++++++++++++----- 1 file changed, 37 insertions(+), 12 deletions(-) diff --git a/Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.yaml b/Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.yaml index 93198d5d43a6..12dbe7e7967e 100644 --- a/Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.yaml +++ b/Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.yaml @@ -8,6 +8,7 @@ title: Mellanox I2C SMBus on BlueField SoCs maintainers: - Khalil Blaiech <kblaiech@xxxxxxxxxx> + - Asmaa Mnebhi <asmaa@xxxxxxxxxx> allOf: - $ref: /schemas/i2c/i2c-controller.yaml# @@ -17,14 +18,19 @@ properties: enum: - mellanox,i2c-mlxbf1 - mellanox,i2c-mlxbf2 + - mellanox,i2c-mlxbf3 reg: minItems: 3 + maxItems: 6 items: - description: Smbus block registers - description: Cause master registers - description: Cause slave registers - description: Cause coalesce registers + - description: Smbus timer registers + - description: Smbus master registers + - description: Smbus slave registers interrupts: maxItems: 1 @@ -35,6 +41,13 @@ properties: bus frequency used to configure timing registers; The frequency is expressed in Hz. Default is 100000. + resource_version: + enum: [ 0, 1 ] + description: + Version of the device tree. resource_version = 0 when the driver uses + Smbus block resource. resource_version = 1 when the driver uses Smbus + timer, Smbus master and Smbus slave resources. + required: - compatible - reg @@ -42,18 +55,6 @@ required: unevaluatedProperties: false -if: - properties: - compatible: - contains: - enum: - - mellanox,i2c-mlxbf1 - -then: - properties: - reg: - maxItems: 3 - examples: - | i2c@2804000 { @@ -61,8 +62,13 @@ examples: reg = <0x02804000 0x800>, <0x02801200 0x020>, <0x02801260 0x020>; + <0x00000001 0x1>; + <0x02804000 0x40>, + <0x02804200 0x200>, + <0x02804400 0x200>, interrupts = <57>; clock-frequency = <100000>; + resource_version = <1>; }; - | @@ -72,6 +78,25 @@ examples: <0x02808e00 0x020>, <0x02808e20 0x020>, <0x02808e40 0x010>; + <0x02808800 0x040>; + <0x02808a00 0x200>, + <0x02808c00 0x200>, interrupts = <57>; clock-frequency = <400000>; + resource_version = <1>; + }; + + - | + i2c@2808800 { + compatible = "mellanox,i2c-mlxbf3"; + reg = <0x00000001 0x1>, + <0x13404400 0x020>, + <0x13404420 0x020>, + <0x13404440 0x010>; + <0x13404480 0x40>, + <0x13404200 0x200>, + <0x13404000 0x200>, + interrupts = <35>; + clock-frequency = <400000>; + resource_version = <1>; }; -- 2.30.1