2021-05-07 01:31:40

by Chris Packham

[permalink] [raw]
Subject: [PATCH v2 1/3] dt-bindings: i2c: mpc: Add fsl,i2c-erratum-a004447 flag

Document the fsl,i2c-erratum-a004447 flag which indicates the presence
of an i2c erratum on some QorIQ SoCs.

Signed-off-by: Chris Packham <[email protected]>
---
Documentation/devicetree/bindings/i2c/i2c-mpc.yaml | 7 +++++++
1 file changed, 7 insertions(+)

diff --git a/Documentation/devicetree/bindings/i2c/i2c-mpc.yaml b/Documentation/devicetree/bindings/i2c/i2c-mpc.yaml
index 7b553d559c83..98c6fcf7bf26 100644
--- a/Documentation/devicetree/bindings/i2c/i2c-mpc.yaml
+++ b/Documentation/devicetree/bindings/i2c/i2c-mpc.yaml
@@ -46,6 +46,13 @@ properties:
description: |
I2C bus timeout in microseconds

+ fsl,i2c-erratum-a004447:
+ $ref: /schemas/types.yaml#/definitions/flag
+ description: |
+ Indicates the presence of QorIQ erratum A-004447, which
+ says that the standard i2c recovery scheme mechanism does
+ not work and an alternate implementation is needed.
+
required:
- compatible
- reg
--
2.31.1


2021-05-07 21:51:48

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH v2 1/3] dt-bindings: i2c: mpc: Add fsl,i2c-erratum-a004447 flag

On Fri, May 07, 2021 at 12:40:45PM +1200, Chris Packham wrote:
> Document the fsl,i2c-erratum-a004447 flag which indicates the presence
> of an i2c erratum on some QorIQ SoCs.
>
> Signed-off-by: Chris Packham <[email protected]>
> ---
> Documentation/devicetree/bindings/i2c/i2c-mpc.yaml | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/i2c/i2c-mpc.yaml b/Documentation/devicetree/bindings/i2c/i2c-mpc.yaml
> index 7b553d559c83..98c6fcf7bf26 100644
> --- a/Documentation/devicetree/bindings/i2c/i2c-mpc.yaml
> +++ b/Documentation/devicetree/bindings/i2c/i2c-mpc.yaml
> @@ -46,6 +46,13 @@ properties:
> description: |
> I2C bus timeout in microseconds
>
> + fsl,i2c-erratum-a004447:
> + $ref: /schemas/types.yaml#/definitions/flag
> + description: |
> + Indicates the presence of QorIQ erratum A-004447, which
> + says that the standard i2c recovery scheme mechanism does
> + not work and an alternate implementation is needed.

The problem with adding a property for an errata is you have to update
the dtb. If you use the compatible string, then only an OS update is
needed. That assumes you have specific enough compatible strings.

Rob

2021-05-09 21:14:25

by Chris Packham

[permalink] [raw]
Subject: Re: [PATCH v2 1/3] dt-bindings: i2c: mpc: Add fsl,i2c-erratum-a004447 flag


On 8/05/21 9:49 am, Rob Herring wrote:
> On Fri, May 07, 2021 at 12:40:45PM +1200, Chris Packham wrote:
>> Document the fsl,i2c-erratum-a004447 flag which indicates the presence
>> of an i2c erratum on some QorIQ SoCs.
>>
>> Signed-off-by: Chris Packham <[email protected]>
>> ---
>> Documentation/devicetree/bindings/i2c/i2c-mpc.yaml | 7 +++++++
>> 1 file changed, 7 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/i2c/i2c-mpc.yaml b/Documentation/devicetree/bindings/i2c/i2c-mpc.yaml
>> index 7b553d559c83..98c6fcf7bf26 100644
>> --- a/Documentation/devicetree/bindings/i2c/i2c-mpc.yaml
>> +++ b/Documentation/devicetree/bindings/i2c/i2c-mpc.yaml
>> @@ -46,6 +46,13 @@ properties:
>> description: |
>> I2C bus timeout in microseconds
>>
>> + fsl,i2c-erratum-a004447:
>> + $ref: /schemas/types.yaml#/definitions/flag
>> + description: |
>> + Indicates the presence of QorIQ erratum A-004447, which
>> + says that the standard i2c recovery scheme mechanism does
>> + not work and an alternate implementation is needed.
> The problem with adding a property for an errata is you have to update
> the dtb. If you use the compatible string, then only an OS update is
> needed. That assumes you have specific enough compatible strings.

I was following the style of the existing fsl,usb-erratum-a007792 or
fsl,erratum-a008585 properties. But that's not really a compelling reason.

The existing compatible string is "fsl-i2c" and it's used by pretty much
every powerpc QorIQ SoC. There are some specific compatible strings in
the driver for some of the older mpc SoCs. A more specific compatible
string will work although determining which ones are affected might be a
bit troublesome. That we know of the P2041 and P1010 are affected but I
suspect there may be more. One disadvantage of using the compatible
string is that as affected SoCs are identified we'll have to update the
driver to know that SoC is affected and update the dtb to use it. With
the property we'd just have to update the dtb.

I'm not too fussed either way so if that's a hard NACK on the property I
can send a version that uses compatible strings instead.

2021-05-11 15:38:12

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH v2 1/3] dt-bindings: i2c: mpc: Add fsl,i2c-erratum-a004447 flag

On Sun, May 9, 2021 at 4:08 PM Chris Packham
<[email protected]> wrote:
>
>
> On 8/05/21 9:49 am, Rob Herring wrote:
> > On Fri, May 07, 2021 at 12:40:45PM +1200, Chris Packham wrote:
> >> Document the fsl,i2c-erratum-a004447 flag which indicates the presence
> >> of an i2c erratum on some QorIQ SoCs.
> >>
> >> Signed-off-by: Chris Packham <[email protected]>
> >> ---
> >> Documentation/devicetree/bindings/i2c/i2c-mpc.yaml | 7 +++++++
> >> 1 file changed, 7 insertions(+)
> >>
> >> diff --git a/Documentation/devicetree/bindings/i2c/i2c-mpc.yaml b/Documentation/devicetree/bindings/i2c/i2c-mpc.yaml
> >> index 7b553d559c83..98c6fcf7bf26 100644
> >> --- a/Documentation/devicetree/bindings/i2c/i2c-mpc.yaml
> >> +++ b/Documentation/devicetree/bindings/i2c/i2c-mpc.yaml
> >> @@ -46,6 +46,13 @@ properties:
> >> description: |
> >> I2C bus timeout in microseconds
> >>
> >> + fsl,i2c-erratum-a004447:
> >> + $ref: /schemas/types.yaml#/definitions/flag
> >> + description: |
> >> + Indicates the presence of QorIQ erratum A-004447, which
> >> + says that the standard i2c recovery scheme mechanism does
> >> + not work and an alternate implementation is needed.
> > The problem with adding a property for an errata is you have to update
> > the dtb. If you use the compatible string, then only an OS update is
> > needed. That assumes you have specific enough compatible strings.
>
> I was following the style of the existing fsl,usb-erratum-a007792 or
> fsl,erratum-a008585 properties. But that's not really a compelling reason.
>
> The existing compatible string is "fsl-i2c" and it's used by pretty much
> every powerpc QorIQ SoC. There are some specific compatible strings in
> the driver for some of the older mpc SoCs. A more specific compatible
> string will work although determining which ones are affected might be a
> bit troublesome. That we know of the P2041 and P1010 are affected but I
> suspect there may be more. One disadvantage of using the compatible
> string is that as affected SoCs are identified we'll have to update the
> driver to know that SoC is affected and update the dtb to use it. With
> the property we'd just have to update the dtb.

If you don't have specific compatibles in the dtb already, then it's
mute as the point was to avoid the dtb update.

> I'm not too fussed either way so if that's a hard NACK on the property I
> can send a version that uses compatible strings instead.

Acked-by: Rob Herring <[email protected]>

You could still add compatibles for the next time...