]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
arm64: dts: mediatek: Add MT8186 Voltorb Chromebooks
authorChen-Yu Tsai <wenst@chromium.org>
Thu, 20 Jun 2024 09:47:38 +0000 (17:47 +0800)
committerAngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Thu, 27 Jun 2024 08:10:26 +0000 (10:10 +0200)
Add device trees for the MT8186 based Voltorb Chromebooks, also known
as the Acer Chromebook 311 (C723/C723T). The devices are clamshell
style laptops with an optional touchscreen.

The devices differ from the other existing MT8186 Chromebooks in that
it uses a higher speced / binned SoC which also requires a separate
PMIC for the big core cluster. Also, a different codec is used for
the internal speakers.

Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
Link: https://lore.kernel.org/r/20240620094746.2404753-4-wenst@chromium.org
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
arch/arm64/boot/dts/mediatek/Makefile
arch/arm64/boot/dts/mediatek/mt8186-corsola-voltorb-sku589824.dts [new file with mode: 0644]
arch/arm64/boot/dts/mediatek/mt8186-corsola-voltorb-sku589825.dts [new file with mode: 0644]
arch/arm64/boot/dts/mediatek/mt8186-corsola-voltorb.dtsi [new file with mode: 0644]

index 5dbb695d053ffa268ab2450ad3801270a262de8f..8fd7b2bb7a1590341e7bb4ea1ecf039ae3e8eb0d 100644 (file)
@@ -65,6 +65,8 @@ 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-corsola-voltorb-sku589824.dtb
+dtb-$(CONFIG_ARCH_MEDIATEK) += mt8186-corsola-voltorb-sku589825.dtb
 dtb-$(CONFIG_ARCH_MEDIATEK) += mt8186-evb.dtb
 dtb-$(CONFIG_ARCH_MEDIATEK) += mt8188-evb.dtb
 dtb-$(CONFIG_ARCH_MEDIATEK) += mt8192-asurada-hayato-r1.dtb
diff --git a/arch/arm64/boot/dts/mediatek/mt8186-corsola-voltorb-sku589824.dts b/arch/arm64/boot/dts/mediatek/mt8186-corsola-voltorb-sku589824.dts
new file mode 100644 (file)
index 0000000..d16834e
--- /dev/null
@@ -0,0 +1,13 @@
+// SPDX-License-Identifier: (GPL-2.0 OR MIT)
+/*
+ * Copyright 2022 Google LLC
+ */
+
+/dts-v1/;
+#include "mt8186-corsola-voltorb.dtsi"
+
+/ {
+       model = "Google Voltorb sku589824 board";
+       compatible = "google,voltorb-sku589824", "google,voltorb",
+                    "mediatek,mt8186";
+};
diff --git a/arch/arm64/boot/dts/mediatek/mt8186-corsola-voltorb-sku589825.dts b/arch/arm64/boot/dts/mediatek/mt8186-corsola-voltorb-sku589825.dts
new file mode 100644 (file)
index 0000000..45e57f7
--- /dev/null
@@ -0,0 +1,25 @@
+// SPDX-License-Identifier: (GPL-2.0 OR MIT)
+/*
+ * Copyright 2022 Google LLC
+ */
+
+/dts-v1/;
+#include "mt8186-corsola-voltorb.dtsi"
+
+/ {
+       model = "Google Voltorb sku589825 board";
+       compatible = "google,voltorb-sku589825", "google,voltorb",
+                    "mediatek,mt8186";
+};
+
+&i2c1 {
+       touchscreen@10 {
+               compatible = "elan,ekth6915";
+               reg = <0x10>;
+               interrupts-extended = <&pio 12 IRQ_TYPE_LEVEL_LOW>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&touchscreen_pins>;
+               reset-gpios = <&pio 60 GPIO_ACTIVE_LOW>;
+               vcc33-supply = <&pp3300_s3>;
+       };
+};
diff --git a/arch/arm64/boot/dts/mediatek/mt8186-corsola-voltorb.dtsi b/arch/arm64/boot/dts/mediatek/mt8186-corsola-voltorb.dtsi
new file mode 100644 (file)
index 0000000..52ec581
--- /dev/null
@@ -0,0 +1,103 @@
+// SPDX-License-Identifier: (GPL-2.0 OR MIT)
+/*
+ * Copyright 2022 Google LLC
+ */
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/spmi/spmi.h>
+
+#include "mt8186-corsola-steelix.dtsi"
+
+/ {
+       chassis-type = "laptop";
+
+       max98360a: max98360a {
+               compatible = "maxim,max98360a";
+               sdmode-gpios = <&pio 150 GPIO_ACTIVE_HIGH>;
+               #sound-dai-cells = <0>;
+       };
+};
+
+&cpu6 {
+       proc-supply = <&mt6319_buck1>;
+};
+
+&cpu7 {
+       proc-supply = <&mt6319_buck1>;
+};
+
+&gpio_keys {
+       status = "disabled";
+};
+
+&keyboard_controller {
+       linux,keymap = <
+               MATRIX_KEY(0x00, 0x02, KEY_BACK)
+               MATRIX_KEY(0x03, 0x02, KEY_REFRESH)
+               MATRIX_KEY(0x02, 0x02, KEY_ZOOM)
+               MATRIX_KEY(0x01, 0x02, KEY_SCALE)
+               MATRIX_KEY(0x03, 0x04, KEY_SYSRQ)
+               MATRIX_KEY(0x02, 0x04, KEY_BRIGHTNESSDOWN)
+               MATRIX_KEY(0x01, 0x04, KEY_BRIGHTNESSUP)
+               MATRIX_KEY(0x02, 0x09, KEY_MUTE)
+               MATRIX_KEY(0x01, 0x09, KEY_VOLUMEDOWN)
+               MATRIX_KEY(0x00, 0x04, KEY_VOLUMEUP)
+               CROS_STD_MAIN_KEYMAP
+       >;
+};
+
+&mt6366_vproc11_reg {
+       status = "disabled";
+};
+
+&cluster1_opp_14 {
+       opp-hz = /bits/ 64 <2050000000>;
+       opp-microvolt = <1118750>;
+};
+
+&cluster1_opp_15 {
+       opp-hz = /bits/ 64 <2200000000>;
+};
+
+&rt1019p{
+       status = "disabled";
+};
+
+&sound {
+       compatible = "mediatek,mt8186-mt6366-rt5682s-max98360-sound";
+       status = "okay";
+
+       spk-hdmi-playback-dai-link {
+               codec {
+                       sound-dai = <&it6505dptx>, <&max98360a>;
+               };
+       };
+};
+
+&spmi {
+       pinctrl-names = "default";
+       pinctrl-0 = <&spmi_pins>;
+       #address-cells = <2>;
+       #size-cells = <0>;
+       status = "okay";
+
+       pmic@6 {
+               compatible = "mediatek,mt6319-regulator", "mediatek,mt6315-regulator";
+               reg = <0x6 SPMI_USID>;
+
+               regulators {
+                       mt6319_buck1: vbuck1 {
+                                       regulator-name = "ppvar_dvdd_proc_bc_mt6319";
+                                       regulator-min-microvolt = <600000>;
+                                       regulator-max-microvolt = <1193750>;
+                                       regulator-enable-ramp-delay = <256>;
+                                       regulator-allowed-modes = <0 1 2>;
+                                       regulator-always-on;
+                       };
+               };
+       };
+};
+
+&touchscreen {
+       status = "disabled";
+};