On Sat, Dec 2, 2023 at 9:45 AM Hsin-Yi Wang <hsinyi@xxxxxxxxxxxx> wrote: > > On Fri, Dec 1, 2023 at 5:39 PM Chen-Yu Tsai <wenst@xxxxxxxxxxxx> wrote: > > > > Tentacruel and Tentacool are MT8186 based Chromebooks based on the > > Krabby design. > > > > Tentacruel, also known as the ASUS Chromebook CM14 Flip CM1402F, is a > > convertible device with touchscreen and stylus. > > > > Tentacool, also known as the ASUS Chromebook CM14 CM1402C, is a laptop > > device. It does not have a touchscreen or stylus. > > > > 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. > > > > Signed-off-by: Chen-Yu Tsai <wenst@xxxxxxxxxxxx> > > --- > > Changes since v1: > > - Reorder SKU numbers in descending order. > > - Fixed pinconfig node names > > - Moved pinctrl-* properties after interrupts-* > > - Switched to interrupts-extended for external components > > - Marked ADSP as explicitly disabled, with a comment explaining that it > > stalls the system > > - Renamed "touchpad" to "trackpad" > > - Dropped bogus "no-laneswap" property from it6505 node > > - Moved "realtek,jd-src" property to after all the regulator supplies > > - Switched to macros for MT6366 regulator "regulator-allowed-modes" > > - Renamed "vgpu" regulator name to allow coupling, with a comment > > containing the name used in the design > > - Renamed "cr50" node name to "tpm" > > - Moved trackpad_pins reference up to i2c2; workaround for second source > > component resource sharing. > > - Fix copyright year > > - Fixed touchscreen supply name > > > > arch/arm64/boot/dts/mediatek/Makefile | 4 + > > .../dts/mediatek/mt8186-corsola-krabby.dtsi | 129 ++ > > .../mt8186-corsola-tentacool-sku327681.dts | 57 + > > .../mt8186-corsola-tentacool-sku327683.dts | 26 + > > .../mt8186-corsola-tentacruel-sku262144.dts | 44 + > > .../mt8186-corsola-tentacruel-sku262148.dts | 28 + > > .../boot/dts/mediatek/mt8186-corsola.dtsi | 1719 +++++++++++++++++ > > 7 files changed, 2007 insertions(+) > > create mode 100644 arch/arm64/boot/dts/mediatek/mt8186-corsola-krabby.dtsi > > create mode 100644 arch/arm64/boot/dts/mediatek/mt8186-corsola-tentacool-sku327681.dts > > create mode 100644 arch/arm64/boot/dts/mediatek/mt8186-corsola-tentacool-sku327683.dts > > create mode 100644 arch/arm64/boot/dts/mediatek/mt8186-corsola-tentacruel-sku262144.dts > > create mode 100644 arch/arm64/boot/dts/mediatek/mt8186-corsola-tentacruel-sku262148.dts > > create mode 100644 arch/arm64/boot/dts/mediatek/mt8186-corsola.dtsi > > > > diff --git a/arch/arm64/boot/dts/mediatek/Makefile b/arch/arm64/boot/dts/mediatek/Makefile > > index e6e7592a3645..442af61b1305 100644 > > --- a/arch/arm64/boot/dts/mediatek/Makefile > > <snip> > > > diff --git a/arch/arm64/boot/dts/mediatek/mt8186-corsola-tentacool-sku327683.dts b/arch/arm64/boot/dts/mediatek/mt8186-corsola-tentacool-sku327683.dts > > new file mode 100644 > > index 000000000000..2e4d8df978c1 > > --- /dev/null > > +++ b/arch/arm64/boot/dts/mediatek/mt8186-corsola-tentacool-sku327683.dts > > @@ -0,0 +1,26 @@ > > +// SPDX-License-Identifier: (GPL-2.0 OR MIT) > > +/* > > + * Copyright 2023 Google LLC > > + */ > > + > > +#include "mt8186-corsola-tentacool-sku327681.dts" > > + > > +/ { > > + compatible = "google,tentacruel-sku327683", "google,tentacruel", "mediatek,mt8186"; > > +}; > > + > > +/* This variant replaces only the touchpad controller. */ > > +&i2c2 { > > + /delete-node/ touchpad@15; > > corsola.dtsi has this node named trackpad@15. Thanks for spotting the error. Fixed in the next version. > > + > > + touchpad@15 { > > + pinctrl-names = "default"; > > + pinctrl-0 = <&trackpad_pin>; Pinctrl also dropped in the next version. Same for mt8186-corsola-tentacruel-sku262148.dts. Thanks ChenYu > > + compatible = "hid-over-i2c"; > > + reg = <0x15>; > > + interrupts-extended = <&pio 11 IRQ_TYPE_LEVEL_LOW>; > > + hid-descr-addr = <0x0001>; > > + vdd-supply = <&pp3300_s3>; > > + wakeup-source; > > + }; > > +}; > > <snip> > > > diff --git a/arch/arm64/boot/dts/mediatek/mt8186-corsola-tentacruel-sku262148.dts b/arch/arm64/boot/dts/mediatek/mt8186-corsola-tentacruel-sku262148.dts > > new file mode 100644 > > index 000000000000..7841046084dc > > --- /dev/null > > +++ b/arch/arm64/boot/dts/mediatek/mt8186-corsola-tentacruel-sku262148.dts > > @@ -0,0 +1,28 @@ > > +// SPDX-License-Identifier: (GPL-2.0 OR MIT) > > +/* > > + * Copyright 2023 Google LLC > > + */ > > + > > +#include "mt8186-corsola-tentacruel-sku262144.dts" > > + > > +/ { > > + compatible = "google,tentacruel-sku262151", "google,tentacruel-sku262150", > > + "google,tentacruel-sku262149", "google,tentacruel-sku262148", > > + "google,tentacruel", "mediatek,mt8186"; > > +}; > > + > > +/* This variant replaces only the touchpad controller. */ > > +&i2c2 { > > + /delete-node/ touchpad@15; > > + > > ditto. > > > + touchpad@15 { > > + pinctrl-names = "default"; > > + pinctrl-0 = <&trackpad_pin>; > > + compatible = "hid-over-i2c"; > > + reg = <0x15>; > > + interrupts-extended = <&pio 11 IRQ_TYPE_LEVEL_LOW>; > > + hid-descr-addr = <0x0001>; > > + vdd-supply = <&pp3300_s3>; > > + wakeup-source; > > + }; > > +}; > > diff --git a/arch/arm64/boot/dts/mediatek/mt8186-corsola.dtsi b/arch/arm64/boot/dts/mediatek/mt8186-corsola.dtsi > > new file mode 100644 > > index 000000000000..c5446b18783d > > --- /dev/null > > +++ b/arch/arm64/boot/dts/mediatek/mt8186-corsola.dtsi > > @@ -0,0 +1,1719 @@ > > <snip> > > > + > > +&i2c2 { > > + pinctrl-names = "default"; > > + /* > > + * Trackpad pin put here to work around second source components > > + * sharing the pinmux > > + */ > > + pinctrl-0 = <&i2c2_pins>, <&trackpad_pin>; > > + clock-frequency = <400000>; > > + i2c-scl-internal-delay-ns = <10000>; > > + status = "okay"; > > + > > + trackpad@15 { > > + compatible = "elan,ekth3000"; > > + reg = <0x15>; > > + interrupts-extended = <&pio 11 IRQ_TYPE_LEVEL_LOW>; > > + vcc-supply = <&pp3300_s3>; > > + wakeup-source; > > + }; > > +}; > > + > > <snip>