Re: [PATCH v6 2/2] dt-bindings: mfd: Add DT compatible string "google,cros_ec_uart"
From: Enric Balletbo i Serra
Date: Sun Oct 11 2020 - 13:11:26 EST
Hi Duncan,
On 11/10/20 18:35, Duncan Laurie wrote:
> On Sun, Oct 11, 2020 at 4:59 AM Enric Balletbo i Serra
> <enric.balletbo@xxxxxxxxxxxxx <mailto:enric.balletbo@xxxxxxxxxxxxx>> wrote:
>
> Hi Bhanu,
>
> Thank you for your patch.
>
> On 9/10/20 23:01, Bhanu Prakash Maiya wrote:
> > Add DT compatible string in
> > Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
> >
>
> The problem with this patchset continues being the same. You are using the trick
> of using a DT compatible string to instantiate an ACPI-only driver. You should
> have an ACPI ID for that device or use a DMI table to match the device and
> instantiate it (see for example the platform/chrome/cros_ec_lpc.c).
>
>
>
> It isn't really meant to be an ACPI only driver, it just happens to be an x86
> system that uses the UART interface first. We use this PRP0001 instantiation
> method with a lot of different drivers like MIPI cameras, fingerprint sensors,
> the cr50 TPM driver, etc.
>
Right, but then you need to define a proper DT binding, with all the options,
not only the compatible name.
> That said it is true that the rest of the cros_ec drivers use distinct ACPI
> IDs. Bhanu I allocated GOOG0019 for the cros_ec UART interface so you can
> switch to using that instead. You'll need to update the coreboot interface as
> well and might want to keep both devices in firmware to ease the transition.
>
Thank you.
Enric
> -duncan
>
>
>
>
> > Signed-off-by: Bhanu Prakash Maiya <bhanumaiya@xxxxxxxxxxxx
> <mailto:bhanumaiya@xxxxxxxxxxxx>>
> > Reviewed-by: Rob Herring <robh@xxxxxxxxxx <mailto:robh@xxxxxxxxxx>>
> > ---
> >
> > Changes in v6:
> > - No change
> >
> > Changes in v5:
> > - No change
> >
> > Changes in v4:
> > - Changes in commit message.
> >
> > Changes in v3:
> > - Rebased changes on google,cros-ec.yaml
> >
> > Changes in v2:
> > - No change
> >
> > Documentation/devicetree/bindings/mfd/google,cros-ec.yaml | 6 +++++-
> > 1 file changed, 5 insertions(+), 1 deletion(-)
> >
> > diff --git a/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
> b/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
> > index 6a7279a85ec1c..552d1c9bf3de4 100644
> > --- a/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
> > +++ b/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
> > @@ -10,11 +10,12 @@ maintainers:
> > - Benson Leung <bleung@xxxxxxxxxxxx <mailto:bleung@xxxxxxxxxxxx>>
> > - Enric Balletbo i Serra <enric.balletbo@xxxxxxxxxxxxx
> <mailto:enric.balletbo@xxxxxxxxxxxxx>>
> > - Guenter Roeck <groeck@xxxxxxxxxxxx <mailto:groeck@xxxxxxxxxxxx>>
> > + - Bhanu Prakash Maiya <bhanumaiya@xxxxxxxxxxxx
> <mailto:bhanumaiya@xxxxxxxxxxxx>>
> >
> > description:
> > Google's ChromeOS EC is a microcontroller which talks to the AP and
> > implements various functions such as keyboard and battery charging.
> > - The EC can be connected through various interfaces (I2C, SPI, and others)
> > + The EC can be connected through various interfaces (I2C, SPI, UART and
> others)
> > and the compatible string specifies which interface is being used.
> >
> > properties:
> > @@ -29,6 +30,9 @@ properties:
> > - description:
> > For implementations of the EC is connected through RPMSG.
> > const: google,cros-ec-rpmsg
> > + - description:
> > + For implementations of the EC is connected through UART.
> > + const: google,cros-ec-uart
> >
> > google,cros-ec-spi-pre-delay:
> > description:
> >
>