Re: [PATCH v2 1/3] dt-bindings: i2c: mpc: Add fsl,i2c-erratum-a004447 flag
From: Chris Packham
Date: Sun May 09 2021 - 17:08:46 EST
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 <chris.packham@xxxxxxxxxxxxxxxxxxx>
>> ---
>> 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.