Messages in this thread | | | Date | Thu, 14 Dec 2023 11:31:41 +0100 | Subject | Re: [PATCH v4 6/9] arm64: dts: mediatek: Add MT8186 Krabby platform based Tentacruel / Tentacool | From | AngeloGioacchino Del Regno <> |
| |
Il 13/12/23 16:04, Chen-Yu Tsai ha scritto: > 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@chromium.org> > Acked-by: Conor Dooley <conor.dooley@microchip.com> > --- > Changes since v3: > - Reorder some properties to conform better to the newly proposed DT > style guidelines > - Drop unused labels > - Rename bt-sco node name to bt-sco-codec > - Drop i2s*-share properties from afe node > - Drop aud_gpio_tdm_{on,off} pinctrl nodes > - Replace interrupts with interrupts-extended in tpm node > - Enable adsp device > > Changes since v2: > - Picked up Conor's ack > - Rename touchpad to trackpad > - Drop pinctrl properties from trackpad in tentacruel/tentacool second > source trackpad > > 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 | 24 + > .../mt8186-corsola-tentacruel-sku262144.dts | 44 + > .../mt8186-corsola-tentacruel-sku262148.dts | 26 + > .../boot/dts/mediatek/mt8186-corsola.dtsi | 1707 +++++++++++++++++ > 7 files changed, 1991 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 > +++ b/arch/arm64/boot/dts/mediatek/Makefile > @@ -43,6 +43,10 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += mt8183-kukui-kodama-sku32.dtb > dtb-$(CONFIG_ARCH_MEDIATEK) += mt8183-kukui-krane-sku0.dtb > dtb-$(CONFIG_ARCH_MEDIATEK) += mt8183-kukui-krane-sku176.dtb > dtb-$(CONFIG_ARCH_MEDIATEK) += mt8183-pumpkin.dtb > +dtb-$(CONFIG_ARCH_MEDIATEK) += mt8186-corsola-tentacool-sku327681.dtb > +dtb-$(CONFIG_ARCH_MEDIATEK) += mt8186-corsola-tentacool-sku327683.dtb > +dtb-$(CONFIG_ARCH_MEDIATEK) += mt8186-corsola-tentacruel-sku262144.dtb > +dtb-$(CONFIG_ARCH_MEDIATEK) += mt8186-corsola-tentacruel-sku262148.dtb > dtb-$(CONFIG_ARCH_MEDIATEK) += mt8186-evb.dtb > dtb-$(CONFIG_ARCH_MEDIATEK) += mt8192-asurada-hayato-r1.dtb > dtb-$(CONFIG_ARCH_MEDIATEK) += mt8192-asurada-hayato-r5-sku2.dtb
..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..447b57b12b41 > --- /dev/null > +++ b/arch/arm64/boot/dts/mediatek/mt8186-corsola-tentacruel-sku262148.dts > @@ -0,0 +1,26 @@ > +// 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 trackpad controller. */ > +&i2c2 { > + /delete-node/ trackpad@15; > + > + trackpad@15 { > + 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..adbeb0c765d3 > --- /dev/null > +++ b/arch/arm64/boot/dts/mediatek/mt8186-corsola.dtsi > @@ -0,0 +1,1707 @@ > +// SPDX-License-Identifier: (GPL-2.0 OR MIT) > +/* > + * Copyright (C) 2022 MediaTek Inc. > + */ > +/dts-v1/; > +#include "mt8186.dtsi" > +#include <dt-bindings/pinctrl/mt8186-pinfunc.h> > +#include <dt-bindings/gpio/gpio.h> > +#include <dt-bindings/input/input.h> > +#include <dt-bindings/input/gpio-keys.h> > +#include <dt-bindings/regulator/mediatek,mt6397-regulator.h> > +
..snip..
> + > +&i2c2 { > + pinctrl-names = "default"; > + /* > + * Trackpad pin put here to work around second source components > + * sharing the pinmux in steelix designs. > + */ > + pinctrl-0 = <&i2c2_pins>, <&trackpad_pin>; > + clock-frequency = <400000>; > + i2c-scl-internal-delay-ns = <10000>; > + status = "okay"; > + > + trackpad@15 { > + compatible = "elan,ekth3000";
You forgot to change this one.
Remove compatible from this node and stop using /delete-node/ in device specific devicetrees.
> + reg = <0x15>; > + interrupts-extended = <&pio 11 IRQ_TYPE_LEVEL_LOW>; > + vcc-supply = <&pp3300_s3>; > + wakeup-source; > + }; > +};
corsola.dtsi (here):
&i2c2 { pinctrl-names = "default"; /* * Trackpad pin put here to work around second source components * sharing the pinmux in steelix designs. */ pinctrl-0 = <&i2c2_pins>, <&trackpad_pin>; clock-frequency = <400000>; i2c-scl-internal-delay-ns = <10000>; status = "okay";
trackpad_i2c2_15: trackpad@15 { /* * Those are common properties for i2c2 trackpad on Corsola boards. * The compatible string is declared in device specific devicetrees */ reg = <0x15>; interrupts-extended = <&pio 11 IRQ_TYPE_LEVEL_LOW>; vcc-supply = <&pp3300_s3>; wakeup-source; status = "disabled"; }; };
corsola-some-device.dts:
&trackpad_i2c2_15 { compatible = "hid-over-i2c"; hid-descr-addr = <0x0001>; status = "okay"; };
corsola-some-other-device.dts:
&trackpad_i2c2_15 { compatible = "elan,ekth3000"; status = "okay"; };
....everything else looks good.
Cheers, Angelo
| |