Re: [PATCH 2/9] dt-bindings: arm: mediatek: Add MT8186 Tentacruel / Tentacool Chromebooks

Chen-Yu Tsai
2023-10-13T17:29:40Z

On Fri, Oct 13, 2023 at 8:11 AM Conor Dooley <conor@kernel.org> wrote:
>
> On Fri, Oct 13, 2023 at 07:02:28AM +0800, Chen-Yu Tsai wrote:
> > Add entries for MT8186 based Tentacruel / Tentacool Chromebooks. The two
> > are based on the same board design: the former is a convertible device
> > with a touchscreen, stylus, and some extra buttons; the latter is a
> > clamshell device and lacks these additional features.
> >
> > The two devices both have two variants. The difference is a second
> > source touchpad controller that shares the same address as the original,
> > but is incompatible.
>
> > The extra SKU IDs for the Tentacruel devices map to different sensor
> > components attached to the Embedded Controller. These are not visible
> > to the main processor.
>
> Wha? Given your ordering, is a "google,tentacruel-sku262144" a super-set
> of "google,tentacruel-sku262145"? If not, this compatible ordering
> doesn't make sense. I can't tell from your description, and the
> absence of a
> items:
> - const: google,tentacruel-sku262145
> - const: google,tentacruel-sku262146
> - const: google,tentacruel-sku262147
> - const: google,tentacruel
> - const: mediatek,mt8186
> suggests that there is no google,tentacruel-sku262145
> device?

AFAIK all four SKUs exist. And as far as the main processor is concerned,
they look completely identical, so they should share the same device tree.
As mentioned in the commit message, the differences are only visible to
the embedded controller, which fuses the sensor inputs.

Writing it this way avoids having four identical device tree files.

We also do this for many other device families, though those cover
different revisions, such as:

- description: Google Hana (Lenovo Chromebook N23 Yoga, C330, 300e,...)
items:
- const: google,hana-rev6
- const: google,hana-rev5
- const: google,hana-rev4
- const: google,hana-rev3
- const: google,hana
- const: mediatek,mt8173

ChenYu

> Cheers,
> Conor.
>
> >
> > Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
> > ---
> > .../devicetree/bindings/arm/mediatek.yaml | 26 +++++++++++++++++++
> > 1 file changed, 26 insertions(+)
> >
> > diff --git a/Documentation/devicetree/bindings/arm/mediatek.yaml b/Documentation/devicetree/bindings/arm/mediatek.yaml
> > index 60337b439744..aa7e6734b336 100644
> > --- a/Documentation/devicetree/bindings/arm/mediatek.yaml
> > +++ b/Documentation/devicetree/bindings/arm/mediatek.yaml
> > @@ -206,6 +206,32 @@ properties:
> > - enum:
> > - mediatek,mt8183-pumpkin
> > - const: mediatek,mt8183
> > + - description: Google Tentacruel (ASUS Chromebook CM14 Flip CM1402F)
> > + items:
> > + - const: google,tentacruel-sku262144
> > + - const: google,tentacruel-sku262145
> > + - const: google,tentacruel-sku262146
> > + - const: google,tentacruel-sku262147
> > + - const: google,tentacruel
> > + - const: mediatek,mt8186
> > + - description: Google Tentacruel (ASUS Chromebook CM14 Flip CM1402F)
> > + items:
> > + - const: google,tentacruel-sku262148
> > + - const: google,tentacruel-sku262149
> > + - const: google,tentacruel-sku262150
> > + - const: google,tentacruel-sku262151
> > + - const: google,tentacruel
> > + - const: mediatek,mt8186
> > + - description: Google Tentacool (ASUS Chromebook CM14 CM1402C)
> > + items:
> > + - const: google,tentacruel-sku327681
> > + - const: google,tentacruel
> > + - const: mediatek,mt8186
> > + - description: Google Tentacool (ASUS Chromebook CM14 CM1402C)
> > + items:
> > + - const: google,tentacruel-sku327683
> > + - const: google,tentacruel
> > + - const: mediatek,mt8186
> > - items:
> > - enum:
> > - mediatek,mt8186-evb
> > --
> > 2.42.0.655.g421f12c284-goog
> >