RE: [EXT] Re: [PATCH 2/2] dt-bindings: i2c: imx-lpi2c: Add bus recovery example

From: Carlos Song
Date: Wed May 31 2023 - 06:23:13 EST


Hi,
Thanks for you reply.
> -----Original Message-----
> From: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
> Sent: Tuesday, May 30, 2023 10:59 PM
> To: Carlos Song <carlos.song@xxxxxxx>; Aisheng Dong
> <aisheng.dong@xxxxxxx>; shawnguo@xxxxxxxxxx; s.hauer@xxxxxxxxxxxxxx;
> kernel@xxxxxxxxxxxxxx; festevam@xxxxxxxxx; robh+dt@xxxxxxxxxx;
> krzysztof.kozlowski+dt@xxxxxxxxxx; conor+dt@xxxxxxxxxx;
> Anson.Huang@xxxxxxx
> Cc: Clark Wang <xiaoning.wang@xxxxxxx>; Bough Chen
> <haibo.chen@xxxxxxx>; dl-linux-imx <linux-imx@xxxxxxx>;
> linux-i2c@xxxxxxxxxxxxxxx; devicetree@xxxxxxxxxxxxxxx;
> linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
> Subject: [EXT] Re: [PATCH 2/2] dt-bindings: i2c: imx-lpi2c: Add bus recovery
> example
>
> Caution: This is an external email. Please take care when clicking links or
> opening attachments. When in doubt, report the message using the 'Report this
> email' button
>
>
> On 29/05/2023 09:43, carlos.song@xxxxxxx wrote:
> > From: Clark Wang <xiaoning.wang@xxxxxxx>
> >
> > Add i2c bus recovery configuration example.
>
> Why? That's just example... also with coding style issue.
>
> >
> > Signed-off-by: Clark Wang <xiaoning.wang@xxxxxxx>
> > Signed-off-by: Carlos Song <carlos.song@xxxxxxx>
> > ---
> > .../devicetree/bindings/i2c/i2c-imx-lpi2c.yaml | 16 ++++++++++++++++
> > 1 file changed, 16 insertions(+)
> >
> > diff --git a/Documentation/devicetree/bindings/i2c/i2c-imx-lpi2c.yaml
> > b/Documentation/devicetree/bindings/i2c/i2c-imx-lpi2c.yaml
> > index 4656f5112b84..62ee457496e4 100644
> > --- a/Documentation/devicetree/bindings/i2c/i2c-imx-lpi2c.yaml
> > +++ b/Documentation/devicetree/bindings/i2c/i2c-imx-lpi2c.yaml
> > @@ -58,6 +58,16 @@ properties:
> > power-domains:
> > maxItems: 1
> >
> > + pinctrl-names:
> > + minItems: 1
> > + maxItems: 3
>
> What's the benefit of this? Entries should be defined but without it is not really
> helpful. Anyway not explained in commit msg.
>
> > +
> > + scl-gpios:
> > + maxItems: 1
> > +
> > + sda-gpios:
> > + maxItems: 1
>
> You don't need these two. Anyway not explained in commit msg.
>

Sorry for confusing you with the poor commit log and without
full description.

The reason why we need sending the patch for dt-binding is :
We sent out a patch for I.MX LPI2C bus support recovery function.
When LPI2C use recovery function, lpi2c controller need to switch the
SCL pin and SDA pin to their GPIO function. So I think the scl-gpio and
sda-gpio property need to be added in the dt-bindings.

And alternative pinmux settings are described in a separate pinctrl state "gpio".
So maybe "gpio" pinctrl item need to be added.

I would like to know whether the above changes are really unnecessary according to above case?
Or because of the vague commit log, you are misled and think that our patch is not necessary to add examples.

Is there no need to add sda/scl-gpios property or no need to add maxItems: 1?
We also find the sci-gpio and sda-gpio have been defined in the ref: /schemas/i2c/i2c-controller.yaml.
So is this the root cause of no need to add these properties?

Thanks!
> > +
> > required:
> > - compatible
> > - reg
> > @@ -70,6 +80,7 @@ examples:
> > - |
> > #include <dt-bindings/clock/imx7ulp-clock.h>
> > #include <dt-bindings/interrupt-controller/arm-gic.h>
> > + #include <dt-bindings/gpio/gpio.h>
> >
> > i2c@40a50000 {
> > compatible = "fsl,imx7ulp-lpi2c"; @@ -78,4 +89,9 @@ examples:
> > interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
> > clocks = <&clks IMX7ULP_CLK_LPI2C7>,
> > <&clks IMX7ULP_CLK_NIC1_BUS_DIV>;
> > + pinctrl-names = "default","gpio";
>
> Missing space.
>
> > + pinctrl-0 = <&pinctrl_i2c>;
> > + pinctrl-1 = <&pinctrl_i2c_recovery>;
> > + scl-gpios = <&gpio5 14 (GPIO_ACTIVE_HIGH |
> GPIO_OPEN_DRAIN)>;
> > + sda-gpios = <&gpio5 15 (GPIO_ACTIVE_HIGH |
> GPIO_OPEN_DRAIN)>;
> > };
>
> Best regards,
> Krzysztof