Re: [PATCH v1 1/6] dt-bindings: i2c: npcm: support NPCM845

From: Krzysztof Kozlowski
Date: Mon Feb 07 2022 - 06:47:27 EST


On 07/02/2022 07:33, Tyrone Ting wrote:
> From: Tyrone Ting <kfting@xxxxxxxxxxx>
>
> This commit adds compatible and syscon description for NPCM845 i2c module.

Do not use "This commit" but instead:
https://elixir.bootlin.com/linux/v5.13/source/Documentation/process/submitting-patches.rst#L89

>
> Fixes: 56a1485b102e ("i2c: npcm7xx: Add Nuvoton NPCM I2C controller driver")
> Signed-off-by: Tyrone Ting <kfting@xxxxxxxxxxx>
> Signed-off-by: Tali Perry <tali.perry1@xxxxxxxxx>
> ---
> .../bindings/i2c/nuvoton,npcm7xx-i2c.yaml | 21 ++++++++++++++-----
> 1 file changed, 16 insertions(+), 5 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/i2c/nuvoton,npcm7xx-i2c.yaml b/Documentation/devicetree/bindings/i2c/nuvoton,npcm7xx-i2c.yaml
> index 128444942aec..05e58f44b03a 100644
> --- a/Documentation/devicetree/bindings/i2c/nuvoton,npcm7xx-i2c.yaml
> +++ b/Documentation/devicetree/bindings/i2c/nuvoton,npcm7xx-i2c.yaml
> @@ -7,17 +7,22 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
> title: nuvoton NPCM7XX I2C Controller Device Tree Bindings
>
> description: |
> - The NPCM750x includes sixteen I2C bus controllers. All Controllers support
> - both master and slave mode. Each controller can switch between master and slave
> - at run time (i.e. IPMB mode). Each controller has two 16 byte HW FIFO for TX and
> - RX.
> + The NPCM7XX includes sixteen I2C bus controllers and the NPCM8XX includes
> + twenty-seven I2C bus controllers. NPCM8XX controllers 24-26 are connected on I2C
> + pins in parallel to controllers 8-10.
> + All controllers support both master and slave mode.
> + Each controller can switch between master and slave at run time (i.e. IPMB mode).
> + NPCM7XX I2C controller has two 16 byte HW FIFO for TX and RX and NPCM8XX I2C
> + controller has two 32 byte HW FIFO for TX and RX.
>
> maintainers:
> - Tali Perry <tali.perry1@xxxxxxxxx>
>
> properties:
> compatible:
> - const: nuvoton,npcm750-i2c
> + enum:
> + - nuvoton,npcm750-i2c
> + - nuvoton,npcm845-i2c
>
> reg:
> maxItems: 1
> @@ -36,11 +41,16 @@ properties:
> default: 100000
> enum: [100000, 400000, 1000000]
>
> + syscon:
> + $ref: "/schemas/types.yaml#/definitions/phandle"
> + description: The phandle of system manager register node.
> +
> required:
> - compatible
> - reg
> - interrupts
> - clocks
> + - syscon

This breaks ABI of existing DTS. Actually your driver change does it but
here it is explicit...

>
> allOf:
> - $ref: /schemas/i2c/i2c-controller.yaml#
> @@ -57,6 +67,7 @@ examples:
> clock-frequency = <100000>;
> interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
> compatible = "nuvoton,npcm750-i2c";
> + syscon = <&gcr>;
> };
>
> ...


Best regards,
Krzysztof