arm64: dts: mediatek: mt8186: Add Starmie device

Add support for Starmie Chromebooks.

Signed-off-by: Wojciech Macek <wmacek@chromium.org>
Link: https://lore.kernel.org/r/20241129055720.3328681-3-wmacek@chromium.org
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
This commit is contained in:
Wojciech Macek
2024-11-29 05:57:20 +00:00
committed by AngeloGioacchino Del Regno
parent c31f6c2f25
commit d926d78bc9
4 changed files with 536 additions and 0 deletions

View File

@@ -59,6 +59,8 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += mt8186-corsola-magneton-sku393216.dtb
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8186-corsola-magneton-sku393217.dtb
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8186-corsola-magneton-sku393218.dtb
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8186-corsola-rusty-sku196608.dtb
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8186-corsola-starmie-sku0.dtb
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8186-corsola-starmie-sku1.dtb
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8186-corsola-steelix-sku131072.dtb
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8186-corsola-steelix-sku131073.dtb
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8186-corsola-tentacool-sku327681.dtb

View File

@@ -0,0 +1,31 @@
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
/*
* Copyright 2023 Google LLC
*/
/dts-v1/;
#include "mt8186-corsola-starmie.dtsi"
/ {
model = "Google Starmie sku0 board";
compatible = "google,starmie-sku0", "google,starmie-sku2",
"google,starmie-sku3", "google,starmie",
"mediatek,mt8186";
};
&panel {
compatible = "starry,ili9882t";
};
&i2c1 {
touchscreen: touchscreen@41 {
compatible = "ilitek,ili9882t";
reg = <0x41>;
interrupts-extended = <&pio 12 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&touchscreen_pins>;
panel = <&panel>;
reset-gpios = <&pio 60 GPIO_ACTIVE_LOW>;
vccio-supply = <&mt6366_vio18_reg>;
};
};

View File

@@ -0,0 +1,31 @@
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
/*
* Copyright 2023 Google LLC
*/
/dts-v1/;
#include "mt8186-corsola-starmie.dtsi"
/ {
model = "Google Starmie sku1 board";
compatible = "google,starmie-sku1", "google,starmie-sku4",
"google,starmie", "mediatek,mt8186";
};
&panel {
compatible = "starry,himax83102-j02", "himax,hx83102";
};
&i2c1 {
touchscreen_himax: touchscreen@4f {
compatible = "hid-over-i2c";
reg = <0x4f>;
interrupts-extended = <&pio 12 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&touchscreen_pins>;
vdd-supply = <&mt6366_vio18_reg>;
panel = <&panel>;
post-power-on-delay-ms = <450>;
hid-descr-addr = <0x0001>;
};
};

View File

@@ -0,0 +1,472 @@
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
/*
* Copyright 2023 Google LLC
*/
/dts-v1/;
#include "mt8186-corsola.dtsi"
/ {
en_pp6000_mipi_disp_150ma: en-pp6000-mipi-disp-150ma {
compatible = "regulator-fixed";
regulator-name = "en_pp6000_mipi_disp_150ma";
gpio = <&pio 154 GPIO_ACTIVE_HIGH>;
enable-active-high;
pinctrl-names = "default";
pinctrl-0 = <&en_pp6000_mipi_disp_150ma_fixed_pins>;
};
/*
* Starmie does not have 3.3V display regulator. It is replaced
* with 6V module for enabling panel, re-using eDP GPIOs.
*/
/delete-node/ pp3300_disp_x;
en_pp6000_mipi_disp: en-regulator-pp6000-mipi-disp {
compatible = "regulator-fixed";
pinctrl-names = "default";
pinctrl-0 = <&edp_panel_fixed_pins>;
gpios = <&pio 153 GPIO_ACTIVE_HIGH>;
regulator-name = "en_pp6000_mipi_disp";
enable-active-high;
regulator-enable-ramp-delay = <3000>;
vin-supply = <&pp3300_z2>;
};
tboard_thermistor1: thermal-sensor1 {
compatible = "generic-adc-thermal";
#thermal-sensor-cells = <0>;
io-channels = <&auxadc 0>;
io-channel-names = "sensor-channel";
temperature-lookup-table = < (-5000) 1492
0 1413
5000 1324
10000 1227
15000 1121
20000 1017
25000 900
30000 797
35000 698
40000 606
45000 522
50000 449
55000 383
60000 327
65000 278
70000 236
75000 201
80000 171
85000 145
90000 163
95000 124
100000 91
105000 78
110000 67
115000 58
120000 50
125000 44>;
};
tboard_thermistor2: thermal-sensor2 {
compatible = "generic-adc-thermal";
#thermal-sensor-cells = <0>;
io-channels = <&auxadc 1>;
io-channel-names = "sensor-channel";
temperature-lookup-table = < (-5000) 1492
0 1413
5000 1324
10000 1227
15000 1121
20000 1017
25000 900
30000 797
35000 698
40000 606
45000 522
50000 449
55000 383
60000 327
65000 278
70000 236
75000 201
80000 171
85000 145
90000 163
95000 124
100000 91
105000 78
110000 67
115000 58
120000 50
125000 44>;
};
};
/*
* Starmie does not have EC keyboard. Remove default keyboard controller
* and replace it with the driver for side switches.
*/
/delete-node/ &keyboard_controller;
&cros_ec {
cbas: cbas {
compatible = "google,cros-cbas";
};
keyboard-controller {
compatible = "google,cros-ec-keyb-switches";
};
};
&dsi0 {
#address-cells = <1>;
#size-cells = <0>;
panel: panel@0 {
/* compatible will be set in board dts */
reg = <0>;
enable-gpios = <&pio 98 0>;
pinctrl-names = "default";
pinctrl-0 = <&panel_default_pins>;
avdd-supply = <&en_pp6000_mipi_disp>;
avee-supply = <&en_pp6000_mipi_disp_150ma>;
pp1800-supply = <&mt6366_vio18_reg>;
backlight = <&backlight_lcd0>;
rotation = <270>;
port {
panel_in: endpoint {
remote-endpoint = <&dsi_out>;
};
};
};
};
&dsi_out {
remote-endpoint = <&panel_in>;
};
&i2c0 {
status = "disabled";
};
&i2c2 {
status = "disabled";
};
&i2c4 {
status = "disabled";
};
&i2c5 {
clock-frequency = <400000>;
};
&mmc1_pins_default {
pins-clk {
drive-strength = <8>;
};
pins-cmd-dat {
drive-strength = <8>;
};
};
&mmc1_pins_uhs {
pins-clk {
drive-strength = <8>;
};
pins-cmd-dat {
drive-strength = <8>;
};
};
&pen_insert {
wakeup-event-action = <EV_ACT_ANY>;
};
&pio {
/* 185 lines */
gpio-line-names = "TP",
"TP",
"TP",
"I2S0_HP_DI",
"I2S3_DP_SPKR_DO",
"SAR_INT_ODL",
"BT_WAKE_AP_ODL",
"WIFI_INT_ODL",
"DPBRDG_INT_ODL",
"NC",
"EC_AP_HPD_OD",
"NC",
"TCHSCR_INT_1V8_ODL",
"EC_AP_INT_ODL",
"EC_IN_RW_ODL",
"GSC_AP_INT_ODL",
/*
* AP_FLASH_WP_L is crossystem ABI. Rev1 schematics
* call it AP_WP_ODL.
*/
"AP_FLASH_WP_L",
"HP_INT_ODL",
"PEN_EJECT_OD",
"NC",
"NC",
"UCAM_SEN_EN",
"NC",
"NC",
"NC",
"I2S2_DP_SPK_MCK",
"I2S2_DP_SPKR_BCK",
"I2S2_DP_SPKR_LRCK",
"NC",
"NC",
"NC",
"NC",
"UART_GSC_TX_AP_RX",
"UART_AP_TX_GSC_RX",
"UART_DBGCON_TX_ADSP_RX",
"UART_ADSP_TX_DBGCON_RX",
"NC",
"TCHSCR_REPORT_DISABLE",
"NC",
"EN_PP1800_DPBRDG",
"SPI_AP_CLK_EC",
"SPI_AP_CS_EC_L",
"SPI_AP_DO_EC_DI",
"SPI_AP_DI_EC_DO",
"SPI_AP_CLK_GSC",
"SPI_AP_CS_GSC_L",
"SPI_AP_DO_GSC_DI",
"SPI_AP_DI_GSC_DO",
"UART_DBGCON_TX_SCP_RX",
"UART_SCP_TX_DBGCON_RX",
"EN_PP1200_CAM_X",
"WLAN_MODULE_RST_L",
"NC",
"NC",
"NC",
"NC",
"I2S1_HP_DO",
"I2S1_HP_BCK",
"I2S1_HP_LRCK",
"I2S1_HP_MCK",
"TCHSCR_RST_1V8_L",
"SPI_AP_CLK_ROM",
"SPI_AP_CS_ROM_L",
"SPI_AP_DO_ROM_DI",
"SPI_AP_DI_ROM_DO",
"NC",
"NC",
"EMMC_STRB",
"EMMC_CLK",
"EMMC_CMD",
"EMMC_RST_L",
"EMMC_DATA0",
"EMMC_DATA1",
"EMMC_DATA2",
"EMMC_DATA3",
"EMMC_DATA4",
"EMMC_DATA5",
"EMMC_DATA6",
"EMMC_DATA7",
"AP_KPCOL0",
"NC",
"NC",
"NC",
"TP",
"SDIO_CLK",
"SDIO_CMD",
"SDIO_DATA0",
"SDIO_DATA1",
"SDIO_DATA2",
"SDIO_DATA3",
"NC",
"NC",
"NC",
"NC",
"NC",
"NC",
"NC",
"MIPI_BL_PWM_1V8",
"DISP_RST_1V8_L",
"MIPI_DPI_CLK",
"MIPI_DPI_VSYNC",
"MIPI_DPI_HSYNC",
"MIPI_DPI_DE",
"MIPI_DPI_D0",
"MIPI_DPI_D1",
"MIPI_DPI_D2",
"MIPI_DPI_D3",
"MIPI_DPI_D4",
"MIPI_DPI_D5",
"MIPI_DPI_D6",
"MIPI_DPI_DA7",
"MIPI_DPI_D8",
"MIPI_DPI_D9",
"MIPI_DPI_D10",
"MIPI_DPI_D11",
"PCM_BT_CLK",
"PCM_BT_SYNC",
"PCM_BT_DI",
"PCM_BT_DO",
"JTAG_TMS_TP",
"JTAG_TCK_TP",
"JTAG_TDI_TP",
"JTAG_TDO_TP",
"JTAG_TRSTN_TP",
"NC",
"NC",
"UCAM_DET_ODL",
"NC",
"NC",
"AP_I2C_TCHSCR_SCL_1V8",
"AP_I2C_TCHSCR_SDA_1V8",
"NC",
"NC",
"AP_I2C_DPBRDG_SCL_1V8",
"AP_I2C_DPBRDG_SDA_1V8",
"NC",
"NC",
"AP_I2C_AUD_SCL_1V8",
"AP_I2C_AUD_SDA_1V8",
"AP_I2C_DISP_SCL_1V8",
"AP_I2C_DISP_SDA_1V8",
"NC",
"NC",
"NC",
"NC",
"SCP_I2C_SENSOR_SCL_1V8",
"SCP_I2C_SENSOR_SDA_1V8",
"AP_EC_WARM_RST_REQ",
"AP_XHCI_INIT_DONE",
"USB3_HUB_RST_L",
"EN_SPKR",
"BEEP_ON",
"AP_DISP_BKLTEN",
"EN_PP6000_MIPI_DISP",
"EN_PP6000_MIPI_DISP_150MA",
"BT_KILL_1V8_L",
"WIFI_KILL_1V8_L",
"PWRAP_SPI0_CSN",
"PWRAP_SPI0_CK",
"PWRAP_SPI0_MO",
"PWRAP_SPI0_MI",
"SRCLKENA0",
"SRCLKENA1",
"SCP_VREQ_VAO",
"AP_RTC_CLK32K",
"AP_PMIC_WDTRST_L",
"AUD_CLK_MOSI",
"AUD_SYNC_MOSI",
"AUD_DAT_MOSI0",
"AUD_DAT_MOSI1",
"AUD_CLK_MISO",
"AUD_SYNC_MISO",
"AUD_DAT_MISO0",
"AUD_DAT_MISO1",
"NC",
"NC",
"NC",
"DPBRDG_RST_L",
"LTE_W_DISABLE_L",
"LTE_SAR_DETECT_L",
"EN_PP3300_LTE_X",
"LTE_PWR_OFF_L",
"LTE_RESET_L",
"TP",
"TP";
dpi_default_pins: dpi-default-pins {
pins-cmd-dat {
pinmux = <PINMUX_GPIO103__FUNC_GPIO103>,
<PINMUX_GPIO104__FUNC_GPIO104>,
<PINMUX_GPIO105__FUNC_GPIO105>,
<PINMUX_GPIO106__FUNC_GPIO106>,
<PINMUX_GPIO107__FUNC_GPIO107>,
<PINMUX_GPIO108__FUNC_GPIO108>,
<PINMUX_GPIO109__FUNC_GPIO109>,
<PINMUX_GPIO110__FUNC_GPIO110>,
<PINMUX_GPIO111__FUNC_GPIO111>,
<PINMUX_GPIO112__FUNC_GPIO112>,
<PINMUX_GPIO113__FUNC_GPIO113>,
<PINMUX_GPIO114__FUNC_GPIO114>,
<PINMUX_GPIO101__FUNC_GPIO101>,
<PINMUX_GPIO100__FUNC_GPIO100>,
<PINMUX_GPIO102__FUNC_GPIO102>,
<PINMUX_GPIO99__FUNC_GPIO99>;
drive-strength = <10>;
output-low;
};
};
dpi_func_pins: dpi-func-pins {
pins-cmd-dat {
pinmux = <PINMUX_GPIO103__FUNC_DPI_DATA0>,
<PINMUX_GPIO104__FUNC_DPI_DATA1>,
<PINMUX_GPIO105__FUNC_DPI_DATA2>,
<PINMUX_GPIO106__FUNC_DPI_DATA3>,
<PINMUX_GPIO107__FUNC_DPI_DATA4>,
<PINMUX_GPIO108__FUNC_DPI_DATA5>,
<PINMUX_GPIO109__FUNC_DPI_DATA6>,
<PINMUX_GPIO110__FUNC_DPI_DATA7>,
<PINMUX_GPIO111__FUNC_DPI_DATA8>,
<PINMUX_GPIO112__FUNC_DPI_DATA9>,
<PINMUX_GPIO113__FUNC_DPI_DATA10>,
<PINMUX_GPIO114__FUNC_DPI_DATA11>,
<PINMUX_GPIO101__FUNC_DPI_HSYNC>,
<PINMUX_GPIO100__FUNC_DPI_VSYNC>,
<PINMUX_GPIO102__FUNC_DPI_DE>,
<PINMUX_GPIO99__FUNC_DPI_PCLK>;
drive-strength = <10>;
};
};
en_pp6000_mipi_disp_150ma_fixed_pins: en_pp6000-mipi-disp-150ma-fixed-pins {
pins-en {
pinmux = <PINMUX_GPIO154__FUNC_GPIO154>;
output-low;
};
};
panel_default_pins: panel-default-pins {
pins-en {
pinmux = <PINMUX_GPIO98__FUNC_GPIO98>;
output-low;
};
};
};
&usb_c1 {
status = "disabled";
};
&thermal_zones {
tboard1-thermal {
polling-delay = <1000>; /* milliseconds */
polling-delay-passive = <0>; /* milliseconds */
thermal-sensors = <&tboard_thermistor1>;
};
tboard2-thermal {
polling-delay = <1000>; /* milliseconds */
polling-delay-passive = <0>; /* milliseconds */
thermal-sensors = <&tboard_thermistor2>;
};
};
&wifi_pwrseq {
reset-gpios = <&pio 51 1>;
};
/*
* Battery on Starmie is using a different address than default.
* Remove old node to reuse "battery" alias.
*/
/delete-node/ &battery;
&i2c_tunnel {
battery: sbs-battery@f {
compatible = "sbs,sbs-battery";
reg = <0xf>;
sbs,i2c-retry-count = <2>;
sbs,poll-retry-count = <1>;
};
};