mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-09-03 09:37:17 +00:00
arm64: dts: mediatek: Add MT8186 Krabby platform based Tentacruel / Tentacool
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 trackpad 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> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Link: https://lore.kernel.org/r/20240126083802.2728610-7-wenst@chromium.org Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
This commit is contained in:
parent
449b13223d
commit
8855d01fb8
@ -51,6 +51,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) += mt8188-evb.dtb
|
||||
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8192-asurada-hayato-r1.dtb
|
||||
|
129
arch/arm64/boot/dts/mediatek/mt8186-corsola-krabby.dtsi
Normal file
129
arch/arm64/boot/dts/mediatek/mt8186-corsola-krabby.dtsi
Normal file
@ -0,0 +1,129 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
|
||||
/*
|
||||
* Copyright 2022 Google LLC
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include "mt8186-corsola.dtsi"
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
/ {
|
||||
aliases {
|
||||
i2c4 = &i2c4;
|
||||
};
|
||||
};
|
||||
|
||||
&dsi_out {
|
||||
remote-endpoint = <&ps8640_in>;
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
clock-frequency = <400000>;
|
||||
|
||||
edp-bridge@8 {
|
||||
compatible = "parade,ps8640";
|
||||
reg = <0x8>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&ps8640_pins>;
|
||||
powerdown-gpios = <&pio 96 GPIO_ACTIVE_LOW>;
|
||||
reset-gpios = <&pio 98 GPIO_ACTIVE_LOW>;
|
||||
vdd12-supply = <&mt6366_vrf12_reg>;
|
||||
vdd33-supply = <&mt6366_vcn33_reg>;
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
|
||||
ps8640_in: endpoint {
|
||||
remote-endpoint = <&dsi_out>;
|
||||
};
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
|
||||
ps8640_out: endpoint {
|
||||
remote-endpoint = <&panel_in>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
aux-bus {
|
||||
panel {
|
||||
compatible = "edp-panel";
|
||||
power-supply = <&pp3300_disp_x>;
|
||||
backlight = <&backlight_lcd0>;
|
||||
|
||||
port {
|
||||
panel_in: endpoint {
|
||||
remote-endpoint = <&ps8640_out>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
i2c-scl-internal-delay-ns = <10000>;
|
||||
|
||||
touchscreen: touchscreen@10 {
|
||||
compatible = "hid-over-i2c";
|
||||
reg = <0x10>;
|
||||
interrupts-extended = <&pio 12 IRQ_TYPE_LEVEL_LOW>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&touchscreen_pins>;
|
||||
post-power-on-delay-ms = <10>;
|
||||
hid-descr-addr = <0x0001>;
|
||||
vdd-supply = <&pp3300_s3>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c4 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c4_pins>;
|
||||
clock-frequency = <400000>;
|
||||
status = "okay";
|
||||
|
||||
proximity@28 {
|
||||
compatible = "semtech,sx9324";
|
||||
reg = <0x28>;
|
||||
#io-channel-cells = <1>;
|
||||
interrupts-extended = <&pio 5 IRQ_TYPE_LEVEL_LOW>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&sar_sensor_pins>;
|
||||
vdd-supply = <&mt6366_vio18_reg>;
|
||||
svdd-supply = <&mt6366_vio18_reg>;
|
||||
};
|
||||
};
|
||||
|
||||
&pio {
|
||||
i2c4_pins: i2c4-pins {
|
||||
pins-bus {
|
||||
pinmux = <PINMUX_GPIO136__FUNC_SDA4>,
|
||||
<PINMUX_GPIO135__FUNC_SCL4>;
|
||||
bias-disable;
|
||||
drive-strength = <4>;
|
||||
input-enable;
|
||||
};
|
||||
};
|
||||
|
||||
ps8640_pins: ps8640-pins {
|
||||
pins-pwrdn-rst {
|
||||
pinmux = <PINMUX_GPIO96__FUNC_GPIO96>,
|
||||
<PINMUX_GPIO98__FUNC_GPIO98>;
|
||||
output-low;
|
||||
};
|
||||
};
|
||||
|
||||
sar_sensor_pins: sar-sensor-pins {
|
||||
pins-irq {
|
||||
pinmux = <PINMUX_GPIO5__FUNC_GPIO5>;
|
||||
input-enable;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
};
|
@ -0,0 +1,57 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
|
||||
/*
|
||||
* Copyright 2022 Google LLC
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include "mt8186-corsola-krabby.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Google Tentacool board";
|
||||
compatible = "google,tentacruel-sku327681", "google,tentacruel", "mediatek,mt8186";
|
||||
chassis-type = "laptop";
|
||||
};
|
||||
|
||||
/* Tentacool omits the pen. */
|
||||
&gpio_keys {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
/* Tentacool omits the touchscreen; nothing else is on i2c1. */
|
||||
&i2c1 {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&keyboard_controller {
|
||||
function-row-physmap = <
|
||||
MATRIX_KEY(0x00, 0x02, 0) /* T1 */
|
||||
MATRIX_KEY(0x03, 0x02, 0) /* T2 */
|
||||
MATRIX_KEY(0x02, 0x02, 0) /* T3 */
|
||||
MATRIX_KEY(0x01, 0x02, 0) /* T4 */
|
||||
MATRIX_KEY(0x03, 0x04, 0) /* T5 */
|
||||
MATRIX_KEY(0x02, 0x04, 0) /* T6 */
|
||||
MATRIX_KEY(0x01, 0x04, 0) /* T7 */
|
||||
MATRIX_KEY(0x02, 0x09, 0) /* T8 */
|
||||
MATRIX_KEY(0x01, 0x09, 0) /* T9 */
|
||||
MATRIX_KEY(0x00, 0x04, 0) /* T10 */
|
||||
>;
|
||||
|
||||
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
|
||||
>;
|
||||
};
|
||||
|
||||
/* Tentacool omits the touchscreen. */
|
||||
&touchscreen {
|
||||
status = "disabled";
|
||||
};
|
@ -0,0 +1,24 @@
|
||||
// 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 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;
|
||||
};
|
||||
};
|
@ -0,0 +1,44 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
|
||||
/*
|
||||
* Copyright 2022 Google LLC
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include "mt8186-corsola-krabby.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Google Tentacruel board";
|
||||
compatible = "google,tentacruel-sku262147", "google,tentacruel-sku262146",
|
||||
"google,tentacruel-sku262145", "google,tentacruel-sku262144",
|
||||
"google,tentacruel", "mediatek,mt8186";
|
||||
chassis-type = "convertible";
|
||||
};
|
||||
|
||||
&keyboard_controller {
|
||||
function-row-physmap = <
|
||||
MATRIX_KEY(0x00, 0x02, 0) /* T1 */
|
||||
MATRIX_KEY(0x03, 0x02, 0) /* T2 */
|
||||
MATRIX_KEY(0x02, 0x02, 0) /* T3 */
|
||||
MATRIX_KEY(0x01, 0x02, 0) /* T4 */
|
||||
MATRIX_KEY(0x03, 0x04, 0) /* T5 */
|
||||
MATRIX_KEY(0x02, 0x04, 0) /* T6 */
|
||||
MATRIX_KEY(0x01, 0x04, 0) /* T7 */
|
||||
MATRIX_KEY(0x02, 0x09, 0) /* T8 */
|
||||
MATRIX_KEY(0x01, 0x09, 0) /* T9 */
|
||||
MATRIX_KEY(0x00, 0x04, 0) /* T10 */
|
||||
>;
|
||||
|
||||
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
|
||||
>;
|
||||
};
|
@ -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;
|
||||
};
|
||||
};
|
1681
arch/arm64/boot/dts/mediatek/mt8186-corsola.dtsi
Normal file
1681
arch/arm64/boot/dts/mediatek/mt8186-corsola.dtsi
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user