* [PATCH v2 0/2] Add Starmie Chromebook
@ 2024-11-25 8:21 Wojciech Macek
2024-11-25 8:21 ` [PATCH v2 1/2] dt-bindings: arm: mediatek: Add MT8186 Starmie Chromebooks Wojciech Macek
2024-11-25 8:21 ` [PATCH v2 2/2] arm64: dts: mediatek: mt8186: Add Starmie device Wojciech Macek
0 siblings, 2 replies; 10+ messages in thread
From: Wojciech Macek @ 2024-11-25 8:21 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Matthias Brugger,
AngeloGioacchino Del Regno, Chen-Yu Tsai, Rafal Milecki,
Hsin-Yi Wang, Sean Wang, devicetree, linux-kernel,
linux-arm-kernel, linux-mediatek
Cc: Wojciech Macek
Add an entry for the MT8186 based Starmie Chromebooks, also
known as the ASUS Chromebook Enterprise CM30 Detachable (CM3001).
The device is a tablet style chromebook.
Wojciech Macek (2):
dt-bindings: arm: mediatek: Add MT8186 Starmie Chromebooks
arm64: dts: mediatek: mt8186: Add Starmie device
.../devicetree/bindings/arm/mediatek.yaml | 13 +
arch/arm64/boot/dts/mediatek/Makefile | 2 +
.../mediatek/mt8186-corsola-starmie-sku0.dts | 29 ++
.../mediatek/mt8186-corsola-starmie-sku1.dts | 46 ++
.../dts/mediatek/mt8186-corsola-starmie.dtsi | 480 ++++++++++++++++++
5 files changed, 570 insertions(+)
create mode 100644 arch/arm64/boot/dts/mediatek/mt8186-corsola-starmie-sku0.dts
create mode 100644 arch/arm64/boot/dts/mediatek/mt8186-corsola-starmie-sku1.dts
create mode 100644 arch/arm64/boot/dts/mediatek/mt8186-corsola-starmie.dtsi
--
2.47.0.371.ga323438b13-goog
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v2 1/2] dt-bindings: arm: mediatek: Add MT8186 Starmie Chromebooks
2024-11-25 8:21 [PATCH v2 0/2] Add Starmie Chromebook Wojciech Macek
@ 2024-11-25 8:21 ` Wojciech Macek
2024-11-25 9:07 ` AngeloGioacchino Del Regno
2024-11-25 18:32 ` Conor Dooley
2024-11-25 8:21 ` [PATCH v2 2/2] arm64: dts: mediatek: mt8186: Add Starmie device Wojciech Macek
1 sibling, 2 replies; 10+ messages in thread
From: Wojciech Macek @ 2024-11-25 8:21 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Matthias Brugger,
AngeloGioacchino Del Regno, Chen-Yu Tsai, Rafal Milecki,
Hsin-Yi Wang, Sean Wang, devicetree, linux-kernel,
linux-arm-kernel, linux-mediatek
Cc: Wojciech Macek
Add an entry for the MT8186 based Starmie Chromebooks, also known as the
ASUS Chromebook Enterprise CM30 Detachable (CM3001). The device is
a tablet style chromebook.
Signed-off-by: Wojciech Macek <wmacek@chromium.org>
---
Changelog v2-v1:
- Fixed items/const bidings description in mediatek.yaml
Documentation/devicetree/bindings/arm/mediatek.yaml | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/mediatek.yaml b/Documentation/devicetree/bindings/arm/mediatek.yaml
index 1d4bb50fcd8d9..6191a5320c148 100644
--- a/Documentation/devicetree/bindings/arm/mediatek.yaml
+++ b/Documentation/devicetree/bindings/arm/mediatek.yaml
@@ -263,6 +263,19 @@ properties:
- const: google,steelix-sku196608
- const: google,steelix
- const: mediatek,mt8186
+ - description: Google Starmie (ASUS Chromebook Enterprise CM30 (CM3001))
+ items:
+ - const: google,starmie-sku0
+ - const: google,starmie-sku2
+ - const: google,starmie-sku3
+ - const: google,starmie
+ - const: mediatek,mt8186
+ - description: Google Starmie (ASUS Chromebook Enterprise CM30 (CM3001))
+ items:
+ - const: google,starmie-sku1
+ - const: google,starmie-sku4
+ - const: google,starmie
+ - const: mediatek,mt8186
- description: Google Steelix (Lenovo 300e Yoga Chromebook Gen 4)
items:
- enum:
--
2.47.0.371.ga323438b13-goog
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v2 2/2] arm64: dts: mediatek: mt8186: Add Starmie device
2024-11-25 8:21 [PATCH v2 0/2] Add Starmie Chromebook Wojciech Macek
2024-11-25 8:21 ` [PATCH v2 1/2] dt-bindings: arm: mediatek: Add MT8186 Starmie Chromebooks Wojciech Macek
@ 2024-11-25 8:21 ` Wojciech Macek
2024-11-25 9:05 ` AngeloGioacchino Del Regno
1 sibling, 1 reply; 10+ messages in thread
From: Wojciech Macek @ 2024-11-25 8:21 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Matthias Brugger,
AngeloGioacchino Del Regno, Chen-Yu Tsai, Rafal Milecki,
Hsin-Yi Wang, Sean Wang, devicetree, linux-kernel,
linux-arm-kernel, linux-mediatek
Cc: Wojciech Macek
Add support for Starmie Chromebooks.
Signed-off-by: Wojciech Macek <wmacek@chromium.org>
---
Changelog v2-v1:
- no change
arch/arm64/boot/dts/mediatek/Makefile | 2 +
.../mediatek/mt8186-corsola-starmie-sku0.dts | 29 ++
.../mediatek/mt8186-corsola-starmie-sku1.dts | 46 ++
.../dts/mediatek/mt8186-corsola-starmie.dtsi | 480 ++++++++++++++++++
4 files changed, 557 insertions(+)
create mode 100644 arch/arm64/boot/dts/mediatek/mt8186-corsola-starmie-sku0.dts
create mode 100644 arch/arm64/boot/dts/mediatek/mt8186-corsola-starmie-sku1.dts
create mode 100644 arch/arm64/boot/dts/mediatek/mt8186-corsola-starmie.dtsi
diff --git a/arch/arm64/boot/dts/mediatek/Makefile b/arch/arm64/boot/dts/mediatek/Makefile
index 8fd7b2bb7a159..2ee6266ddf43d 100644
--- a/arch/arm64/boot/dts/mediatek/Makefile
+++ b/arch/arm64/boot/dts/mediatek/Makefile
@@ -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
diff --git a/arch/arm64/boot/dts/mediatek/mt8186-corsola-starmie-sku0.dts b/arch/arm64/boot/dts/mediatek/mt8186-corsola-starmie-sku0.dts
new file mode 100644
index 0000000000000..ca0b8492bbef5
--- /dev/null
+++ b/arch/arm64/boot/dts/mediatek/mt8186-corsola-starmie-sku0.dts
@@ -0,0 +1,29 @@
+// 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";
+};
+
+&i2c_tunnel {
+ /delete-node/ sbs-battery@b;
+
+ battery: sbs-battery@f {
+ compatible = "sbs,sbs-battery";
+ reg = <0xf>;
+ sbs,i2c-retry-count = <2>;
+ sbs,poll-retry-count = <1>;
+ };
+};
diff --git a/arch/arm64/boot/dts/mediatek/mt8186-corsola-starmie-sku1.dts b/arch/arm64/boot/dts/mediatek/mt8186-corsola-starmie-sku1.dts
new file mode 100644
index 0000000000000..2ba4c083a58c6
--- /dev/null
+++ b/arch/arm64/boot/dts/mediatek/mt8186-corsola-starmie-sku1.dts
@@ -0,0 +1,46 @@
+// 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";
+};
+
+&i2c1 {
+ /delete-node/ touchscreen@41;
+ touchscreen_himax: touchscreen@4f {
+ status = "okay";
+
+ compatible = "hid-over-i2c";
+ reg = <0x4f>;
+ interrupt-parent = <&pio>;
+ interrupts = <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>;
+ };
+};
+
+&i2c_tunnel {
+ /delete-node/ sbs-battery@b;
+
+ battery: sbs-battery@f {
+ compatible = "sbs,sbs-battery";
+ reg = <0xf>;
+ sbs,i2c-retry-count = <2>;
+ sbs,poll-retry-count = <1>;
+ };
+};
diff --git a/arch/arm64/boot/dts/mediatek/mt8186-corsola-starmie.dtsi b/arch/arm64/boot/dts/mediatek/mt8186-corsola-starmie.dtsi
new file mode 100644
index 0000000000000..28ac65d28143e
--- /dev/null
+++ b/arch/arm64/boot/dts/mediatek/mt8186-corsola-starmie.dtsi
@@ -0,0 +1,480 @@
+// SPDX-License-Identifier: (GPL-2.0 OR MIT)
+/*
+ * Copyright 2023 Google LLC
+ */
+
+/dts-v1/;
+#include "mt8186-corsola.dtsi"
+
+/delete-node/ &dsi_out;
+/delete-node/ &keyboard_controller;
+
+/ {
+ 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 = <&pp6000_mipi_disp_150ma_fixed_pins>;
+ };
+
+ 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>;
+ };
+};
+
+&cros_ec {
+ cbas: cbas {
+ compatible = "google,cros-cbas";
+ };
+
+ keyboard-controller {
+ compatible = "google,cros-ec-keyb-switches";
+ };
+};
+
+&dsi0 {
+ status = "okay";
+ #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_pins_default>;
+ 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>;
+ };
+ };
+ };
+
+ ports {
+ port {
+ dsi_out: endpoint {
+ remote-endpoint = <&panel_in>;
+ };
+ };
+ };
+};
+
+&i2c0 {
+ status = "disabled";
+};
+
+&i2c1 {
+ touchscreen: touchscreen@41 {
+ status = "okay";
+
+ compatible = "ilitek,ili9882t";
+ reg = <0x41>;
+ interrupt-parent = <&pio>;
+ interrupts = <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>;
+ };
+};
+
+&i2c2 {
+ status = "disabled";
+};
+
+&i2c4 {
+ status = "disabled";
+};
+
+&i2c5 {
+ clock-frequency = <400000>;
+
+};
+
+&mmc1_pins_default {
+ pins-clk {
+ drive-strength = <MTK_DRIVE_8mA>;
+ };
+
+ pins-cmd-dat {
+ drive-strength = <MTK_DRIVE_8mA>;
+ };
+};
+
+&mmc1_pins_uhs {
+ pins-clk {
+ drive-strength = <MTK_DRIVE_8mA>;
+ };
+
+ pins-cmd-dat {
+ drive-strength = <MTK_DRIVE_8mA>;
+ };
+};
+
+&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_pin_default: dpi-pin-default {
+ 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 = <MTK_DRIVE_10mA>;
+ output-low;
+ };
+ };
+
+ dpi_pin_func: dpi-pin-func {
+ 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 = <MTK_DRIVE_10mA>;
+ };
+ };
+
+ edp_panel_fixed_pins: edp-panel-fixed-pins {
+ pins1 {
+ pinmux = <PINMUX_GPIO153__FUNC_GPIO153>;
+ output-low;
+ };
+ };
+
+ pp6000_mipi_disp_150ma_fixed_pins: pp6000-mipi-disp-150ma-fixed-pins {
+ pins1 {
+ pinmux = <PINMUX_GPIO154__FUNC_GPIO154>;
+ output-low;
+ };
+ };
+
+ panel_pins_default: panel-pins-default {
+ pins1 {
+ pinmux = <PINMUX_GPIO98__FUNC_GPIO98>;
+ output-low;
+ };
+ };
+ wifi_pins_pwrseq: wifipwrseq {
+ pins-wifi-enable {
+ pinmux = <PINMUX_GPIO51__FUNC_GPIO51>;
+ };
+ };
+};
+
+&usb_c1 {
+ status = "disabled";
+};
+
+&thermal_zones {
+ tboard1 {
+ polling-delay = <1000>; /* milliseconds */
+ polling-delay-passive = <0>; /* milliseconds */
+ thermal-sensors = <&tboard_thermistor1>;
+ };
+
+ tboard2 {
+ polling-delay = <1000>; /* milliseconds */
+ polling-delay-passive = <0>; /* milliseconds */
+ thermal-sensors = <&tboard_thermistor2>;
+ };
+};
+
+&wifi_pwrseq {
+ reset-gpios = <&pio 51 1>;
+};
+
+en_pp6000_mipi_disp: &pp3300_disp_x {
+ regulator-name = "en_pp6000_mipi_disp";
+ gpio = <&pio 153 GPIO_ACTIVE_HIGH>;
+ regulator-enable-ramp-delay = <3000>;
+ /delete-property/ regulator-boot-on;
+};
--
2.47.0.371.ga323438b13-goog
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH v2 2/2] arm64: dts: mediatek: mt8186: Add Starmie device
2024-11-25 8:21 ` [PATCH v2 2/2] arm64: dts: mediatek: mt8186: Add Starmie device Wojciech Macek
@ 2024-11-25 9:05 ` AngeloGioacchino Del Regno
[not found] ` <CAJrw_jnER6ozh+TiD=nw-DJWf78DKFy-PEVezv-H4ArTrXHS9A@mail.gmail.com>
0 siblings, 1 reply; 10+ messages in thread
From: AngeloGioacchino Del Regno @ 2024-11-25 9:05 UTC (permalink / raw)
To: Wojciech Macek, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Matthias Brugger, Chen-Yu Tsai, Rafal Milecki, Hsin-Yi Wang,
Sean Wang, devicetree, linux-kernel, linux-arm-kernel,
linux-mediatek
Il 25/11/24 09:21, Wojciech Macek ha scritto:
> Add support for Starmie Chromebooks.
>
> Signed-off-by: Wojciech Macek <wmacek@chromium.org>
> ---
> Changelog v2-v1:
> - no change
>
> arch/arm64/boot/dts/mediatek/Makefile | 2 +
> .../mediatek/mt8186-corsola-starmie-sku0.dts | 29 ++
> .../mediatek/mt8186-corsola-starmie-sku1.dts | 46 ++
> .../dts/mediatek/mt8186-corsola-starmie.dtsi | 480 ++++++++++++++++++
> 4 files changed, 557 insertions(+)
> create mode 100644 arch/arm64/boot/dts/mediatek/mt8186-corsola-starmie-sku0.dts
> create mode 100644 arch/arm64/boot/dts/mediatek/mt8186-corsola-starmie-sku1.dts
> create mode 100644 arch/arm64/boot/dts/mediatek/mt8186-corsola-starmie.dtsi
>
> diff --git a/arch/arm64/boot/dts/mediatek/Makefile b/arch/arm64/boot/dts/mediatek/Makefile
> index 8fd7b2bb7a159..2ee6266ddf43d 100644
> --- a/arch/arm64/boot/dts/mediatek/Makefile
> +++ b/arch/arm64/boot/dts/mediatek/Makefile
> @@ -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
> diff --git a/arch/arm64/boot/dts/mediatek/mt8186-corsola-starmie-sku0.dts b/arch/arm64/boot/dts/mediatek/mt8186-corsola-starmie-sku0.dts
> new file mode 100644
> index 0000000000000..ca0b8492bbef5
> --- /dev/null
> +++ b/arch/arm64/boot/dts/mediatek/mt8186-corsola-starmie-sku0.dts
> @@ -0,0 +1,29 @@
> +// 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";
> +};
> +
> +&i2c_tunnel {
> + /delete-node/ sbs-battery@b;
> +
> + battery: sbs-battery@f {
> + compatible = "sbs,sbs-battery";
> + reg = <0xf>;
> + sbs,i2c-retry-count = <2>;
> + sbs,poll-retry-count = <1>;
> + };
> +};
> diff --git a/arch/arm64/boot/dts/mediatek/mt8186-corsola-starmie-sku1.dts b/arch/arm64/boot/dts/mediatek/mt8186-corsola-starmie-sku1.dts
> new file mode 100644
> index 0000000000000..2ba4c083a58c6
> --- /dev/null
> +++ b/arch/arm64/boot/dts/mediatek/mt8186-corsola-starmie-sku1.dts
> @@ -0,0 +1,46 @@
> +// 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";
> +};
> +
> +&i2c1 {
> + /delete-node/ touchscreen@41;
> + touchscreen_himax: touchscreen@4f {
> + status = "okay";
Okay is the default.
> +
> + compatible = "hid-over-i2c";
> + reg = <0x4f>;
> + interrupt-parent = <&pio>;
> + interrupts = <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>;
> + };
> +};
> +
> +&i2c_tunnel {
> + /delete-node/ sbs-battery@b;
Would status = "disabled" not work for sbs-battery@b?
> +
> + battery: sbs-battery@f {
You're defining sbs-battery@f in every starmie dts, you can move that to the
starmie dtsi instead, so that you can avoid all the useless duplication.
> + compatible = "sbs,sbs-battery";
> + reg = <0xf>;
> + sbs,i2c-retry-count = <2>;
> + sbs,poll-retry-count = <1>;
> + };
> +};
> diff --git a/arch/arm64/boot/dts/mediatek/mt8186-corsola-starmie.dtsi b/arch/arm64/boot/dts/mediatek/mt8186-corsola-starmie.dtsi
> new file mode 100644
> index 0000000000000..28ac65d28143e
> --- /dev/null
> +++ b/arch/arm64/boot/dts/mediatek/mt8186-corsola-starmie.dtsi
> @@ -0,0 +1,480 @@
> +// SPDX-License-Identifier: (GPL-2.0 OR MIT)
> +/*
> + * Copyright 2023 Google LLC
> + */
> +
> +/dts-v1/;
> +#include "mt8186-corsola.dtsi"
> +
> +/delete-node/ &dsi_out;
Instead of hacking in a delete-node, you can just change mt8186.dtsi at this point,
or you can use the current dsi_out phandle. I would prefer that you do the latter,
as it's going to be more convenient later when I'll have to migrate this platform
to the full OF Graph for the display controller.
> +/delete-node/ &keyboard_controller;
> +
> +/ {
> + 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 = <&pp6000_mipi_disp_150ma_fixed_pins>;
> + };
> +
> + 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>;
> + };
> +};
> +
> +&cros_ec {
> + cbas: cbas {
> + compatible = "google,cros-cbas";
> + };
> +
> + keyboard-controller {
> + compatible = "google,cros-ec-keyb-switches";
> + };
> +};
> +
> +&dsi0 {
> + status = "okay";
> + #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_pins_default>;
> + 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>;
> + };
> + };
> + };
> +
> + ports {
> + port {
> + dsi_out: endpoint {
> + remote-endpoint = <&panel_in>;
> + };
> + };
> + };
> +};
> +
> +&i2c0 {
> + status = "disabled";
> +};
> +
> +&i2c1 {
> + touchscreen: touchscreen@41 {
> + status = "okay";
Status is okay by default.
> +
> + compatible = "ilitek,ili9882t";
I can't find this compatible anywhere in any kernel driver. That won't work.
> + reg = <0x41>;
> + interrupt-parent = <&pio>;
> + interrupts = <12 IRQ_TYPE_LEVEL_LOW>;
interrupts-extended please
> + pinctrl-names = "default";
> + pinctrl-0 = <&touchscreen_pins>;
> + panel = <&panel>;
> + reset-gpios = <&pio 60 GPIO_ACTIVE_LOW>;
> + vccio-supply = <&mt6366_vio18_reg>;
> + };
> +};
> +
> +&i2c2 {
> + status = "disabled";
> +};
> +
> +&i2c4 {
> + status = "disabled";
> +};
> +
> +&i2c5 {
> + clock-frequency = <400000>;
> +
> +};
> +
> +&mmc1_pins_default {
> + pins-clk {
> + drive-strength = <MTK_DRIVE_8mA>;
Please stop using MTK_DRIVE_xxmA definitions. This is just <8>.
> + };
> +
> + pins-cmd-dat {
> + drive-strength = <MTK_DRIVE_8mA>;
> + };
> +};
> +
> +&mmc1_pins_uhs {
> + pins-clk {
> + drive-strength = <MTK_DRIVE_8mA>;
> + };
> +
> + pins-cmd-dat {
> + drive-strength = <MTK_DRIVE_8mA>;
> + };
> +};
> +
> +&pen_insert {
> + wakeup-event-action = <EV_ACT_ANY>;
> +};
> +
> +&pio {
..snip..
> +
> + dpi_pin_default: dpi-pin-default {
> + 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 = <MTK_DRIVE_10mA>;
Please stop using MTK_DRIVE_xxmA definitions. This is <10>.
> + output-low;
> + };
> + };
> +
> + dpi_pin_func: dpi-pin-func {
> + 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 = <MTK_DRIVE_10mA>;
> + };
> + };
> +
> + edp_panel_fixed_pins: edp-panel-fixed-pins {
> + pins1 {
I don't see where you're using this pin. Please don't add unused pins.
> + pinmux = <PINMUX_GPIO153__FUNC_GPIO153>;
> + output-low;
> + };
> + };
> +
> + pp6000_mipi_disp_150ma_fixed_pins: pp6000-mipi-disp-150ma-fixed-pins {
> + pins1 {
pins-en {
> + pinmux = <PINMUX_GPIO154__FUNC_GPIO154>;
> + output-low;
> + };
> + };
> +
> + panel_pins_default: panel-pins-default {
> + pins1 {
pins-en {
> + pinmux = <PINMUX_GPIO98__FUNC_GPIO98>;
> + output-low;
> + };
> + };
> + wifi_pins_pwrseq: wifipwrseq {
Like this, that's unused.
You do have a wifi_enable_pin in mt8186-corsola.dtsi though, so override it.
> + pins-wifi-enable {
> + pinmux = <PINMUX_GPIO51__FUNC_GPIO51>;
> + };
> + };
> +};
> +
> +&usb_c1 {
> + status = "disabled";
> +};
> +
> +&thermal_zones {
> + tboard1 {
> + polling-delay = <1000>; /* milliseconds */
> + polling-delay-passive = <0>; /* milliseconds */
> + thermal-sensors = <&tboard_thermistor1>;
> + };
> +
> + tboard2 {
> + polling-delay = <1000>; /* milliseconds */
> + polling-delay-passive = <0>; /* milliseconds */
> + thermal-sensors = <&tboard_thermistor2>;
> + };
> +};
> +
> +&wifi_pwrseq {
> + reset-gpios = <&pio 51 1>;
> +};
> +
> +en_pp6000_mipi_disp: &pp3300_disp_x {
....but pp6000 is not pp3300, so move the pp3300 to the relevant board dts
and define the pp6000 here, or names won't match.
> + regulator-name = "en_pp6000_mipi_disp";
> + gpio = <&pio 153 GPIO_ACTIVE_HIGH>;
> + regulator-enable-ramp-delay = <3000>;
> + /delete-property/ regulator-boot-on;
> +};
Regards,
Angelo
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 1/2] dt-bindings: arm: mediatek: Add MT8186 Starmie Chromebooks
2024-11-25 8:21 ` [PATCH v2 1/2] dt-bindings: arm: mediatek: Add MT8186 Starmie Chromebooks Wojciech Macek
@ 2024-11-25 9:07 ` AngeloGioacchino Del Regno
2024-11-25 18:32 ` Conor Dooley
1 sibling, 0 replies; 10+ messages in thread
From: AngeloGioacchino Del Regno @ 2024-11-25 9:07 UTC (permalink / raw)
To: Wojciech Macek, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Matthias Brugger, Chen-Yu Tsai, Rafal Milecki, Hsin-Yi Wang,
Sean Wang, devicetree, linux-kernel, linux-arm-kernel,
linux-mediatek
Il 25/11/24 09:21, Wojciech Macek ha scritto:
> Add an entry for the MT8186 based Starmie Chromebooks, also known as the
> ASUS Chromebook Enterprise CM30 Detachable (CM3001). The device is
> a tablet style chromebook.
>
> Signed-off-by: Wojciech Macek <wmacek@chromium.org>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 2/2] arm64: dts: mediatek: mt8186: Add Starmie device
[not found] ` <CAJrw_jnER6ozh+TiD=nw-DJWf78DKFy-PEVezv-H4ArTrXHS9A@mail.gmail.com>
@ 2024-11-25 12:04 ` AngeloGioacchino Del Regno
2024-11-25 12:04 ` AngeloGioacchino Del Regno
1 sibling, 0 replies; 10+ messages in thread
From: AngeloGioacchino Del Regno @ 2024-11-25 12:04 UTC (permalink / raw)
To: Wojciech Macek
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Matthias Brugger,
Chen-Yu Tsai, Rafal Milecki, Hsin-Yi Wang, Sean Wang, devicetree,
linux-kernel, linux-arm-kernel, linux-mediatek
Il 25/11/24 11:15, Wojciech Macek ha scritto:
> Sure, I will work on it. Thanks.
>
>>> +
>>> + compatible = "ilitek,ili9882t";
>
>> I can't find this compatible anywhere in any kernel driver. That won't
> work.
>
> Actually, the compat is defined in ./drivers/hid/i2c-hid/i2c-hid-of-elan.c
>
Oh, I typo'ed the compatible while grepping. Sorry, you're right about that.
Cheers,
Angelo
>
> Regards,
> Wojtek
>
> On Mon, Nov 25, 2024 at 10:05 AM AngeloGioacchino Del Regno <
> angelogioacchino.delregno@collabora.com> wrote:
>
>> Il 25/11/24 09:21, Wojciech Macek ha scritto:
>>> Add support for Starmie Chromebooks.
>>>
>>> Signed-off-by: Wojciech Macek <wmacek@chromium.org>
>>> ---
>>> Changelog v2-v1:
>>> - no change
>>>
>>> arch/arm64/boot/dts/mediatek/Makefile | 2 +
>>> .../mediatek/mt8186-corsola-starmie-sku0.dts | 29 ++
>>> .../mediatek/mt8186-corsola-starmie-sku1.dts | 46 ++
>>> .../dts/mediatek/mt8186-corsola-starmie.dtsi | 480 ++++++++++++++++++
>>> 4 files changed, 557 insertions(+)
>>> create mode 100644
>> arch/arm64/boot/dts/mediatek/mt8186-corsola-starmie-sku0.dts
>>> create mode 100644
>> arch/arm64/boot/dts/mediatek/mt8186-corsola-starmie-sku1.dts
>>> create mode 100644
>> arch/arm64/boot/dts/mediatek/mt8186-corsola-starmie.dtsi
>>>
>>> diff --git a/arch/arm64/boot/dts/mediatek/Makefile
>> b/arch/arm64/boot/dts/mediatek/Makefile
>>> index 8fd7b2bb7a159..2ee6266ddf43d 100644
>>> --- a/arch/arm64/boot/dts/mediatek/Makefile
>>> +++ b/arch/arm64/boot/dts/mediatek/Makefile
>>> @@ -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
>>> diff --git
>> a/arch/arm64/boot/dts/mediatek/mt8186-corsola-starmie-sku0.dts
>> b/arch/arm64/boot/dts/mediatek/mt8186-corsola-starmie-sku0.dts
>>> new file mode 100644
>>> index 0000000000000..ca0b8492bbef5
>>> --- /dev/null
>>> +++ b/arch/arm64/boot/dts/mediatek/mt8186-corsola-starmie-sku0.dts
>>> @@ -0,0 +1,29 @@
>>> +// 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";
>>> +};
>>> +
>>> +&i2c_tunnel {
>>> + /delete-node/ sbs-battery@b;
>>> +
>>> + battery: sbs-battery@f {
>>> + compatible = "sbs,sbs-battery";
>>> + reg = <0xf>;
>>> + sbs,i2c-retry-count = <2>;
>>> + sbs,poll-retry-count = <1>;
>>> + };
>>> +};
>>> diff --git
>> a/arch/arm64/boot/dts/mediatek/mt8186-corsola-starmie-sku1.dts
>> b/arch/arm64/boot/dts/mediatek/mt8186-corsola-starmie-sku1.dts
>>> new file mode 100644
>>> index 0000000000000..2ba4c083a58c6
>>> --- /dev/null
>>> +++ b/arch/arm64/boot/dts/mediatek/mt8186-corsola-starmie-sku1.dts
>>> @@ -0,0 +1,46 @@
>>> +// 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";
>>> +};
>>> +
>>> +&i2c1 {
>>> + /delete-node/ touchscreen@41;
>>> + touchscreen_himax: touchscreen@4f {
>>> + status = "okay";
>>
>> Okay is the default.
>>
>>> +
>>> + compatible = "hid-over-i2c";
>>> + reg = <0x4f>;
>>> + interrupt-parent = <&pio>;
>>> + interrupts = <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>;
>>> + };
>>> +};
>>> +
>>> +&i2c_tunnel {
>>> + /delete-node/ sbs-battery@b;
>>
>> Would status = "disabled" not work for sbs-battery@b?
>>
>>> +
>>> + battery: sbs-battery@f {
>>
>> You're defining sbs-battery@f in every starmie dts, you can move that to
>> the
>> starmie dtsi instead, so that you can avoid all the useless duplication.
>>
>>> + compatible = "sbs,sbs-battery";
>>> + reg = <0xf>;
>>> + sbs,i2c-retry-count = <2>;
>>> + sbs,poll-retry-count = <1>;
>>> + };
>>> +};
>>> diff --git a/arch/arm64/boot/dts/mediatek/mt8186-corsola-starmie.dtsi
>> b/arch/arm64/boot/dts/mediatek/mt8186-corsola-starmie.dtsi
>>> new file mode 100644
>>> index 0000000000000..28ac65d28143e
>>> --- /dev/null
>>> +++ b/arch/arm64/boot/dts/mediatek/mt8186-corsola-starmie.dtsi
>>> @@ -0,0 +1,480 @@
>>> +// SPDX-License-Identifier: (GPL-2.0 OR MIT)
>>> +/*
>>> + * Copyright 2023 Google LLC
>>> + */
>>> +
>>> +/dts-v1/;
>>> +#include "mt8186-corsola.dtsi"
>>> +
>>> +/delete-node/ &dsi_out;
>>
>> Instead of hacking in a delete-node, you can just change mt8186.dtsi at
>> this point,
>> or you can use the current dsi_out phandle. I would prefer that you do the
>> latter,
>> as it's going to be more convenient later when I'll have to migrate this
>> platform
>> to the full OF Graph for the display controller.
>>
>>> +/delete-node/ &keyboard_controller;
>>> +
>>> +/ {
>>> + 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 = <&pp6000_mipi_disp_150ma_fixed_pins>;
>>> + };
>>> +
>>> + 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>;
>>> + };
>>> +};
>>> +
>>> +&cros_ec {
>>> + cbas: cbas {
>>> + compatible = "google,cros-cbas";
>>> + };
>>> +
>>> + keyboard-controller {
>>> + compatible = "google,cros-ec-keyb-switches";
>>> + };
>>> +};
>>> +
>>> +&dsi0 {
>>> + status = "okay";
>>> + #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_pins_default>;
>>> + 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>;
>>> + };
>>> + };
>>> + };
>>> +
>>> + ports {
>>> + port {
>>> + dsi_out: endpoint {
>>> + remote-endpoint = <&panel_in>;
>>> + };
>>> + };
>>> + };
>>> +};
>>> +
>>> +&i2c0 {
>>> + status = "disabled";
>>> +};
>>> +
>>> +&i2c1 {
>>> + touchscreen: touchscreen@41 {
>>> + status = "okay";
>>
>> Status is okay by default.
>>
>>> +
>>> + compatible = "ilitek,ili9882t";
>>
>> I can't find this compatible anywhere in any kernel driver. That won't
>> work.
>>
>>> + reg = <0x41>;
>>> + interrupt-parent = <&pio>;
>>> + interrupts = <12 IRQ_TYPE_LEVEL_LOW>;
>>
>> interrupts-extended please
>>
>>> + pinctrl-names = "default";
>>> + pinctrl-0 = <&touchscreen_pins>;
>>> + panel = <&panel>;
>>> + reset-gpios = <&pio 60 GPIO_ACTIVE_LOW>;
>>> + vccio-supply = <&mt6366_vio18_reg>;
>>> + };
>>> +};
>>> +
>>> +&i2c2 {
>>> + status = "disabled";
>>> +};
>>> +
>>> +&i2c4 {
>>> + status = "disabled";
>>> +};
>>> +
>>> +&i2c5 {
>>> + clock-frequency = <400000>;
>>> +
>>> +};
>>> +
>>> +&mmc1_pins_default {
>>> + pins-clk {
>>> + drive-strength = <MTK_DRIVE_8mA>;
>>
>> Please stop using MTK_DRIVE_xxmA definitions. This is just <8>.
>>
>>> + };
>>> +
>>> + pins-cmd-dat {
>>> + drive-strength = <MTK_DRIVE_8mA>;
>>> + };
>>> +};
>>> +
>>> +&mmc1_pins_uhs {
>>> + pins-clk {
>>> + drive-strength = <MTK_DRIVE_8mA>;
>>> + };
>>> +
>>> + pins-cmd-dat {
>>> + drive-strength = <MTK_DRIVE_8mA>;
>>> + };
>>> +};
>>> +
>>> +&pen_insert {
>>> + wakeup-event-action = <EV_ACT_ANY>;
>>> +};
>>> +
>>> +&pio {
>>
>> ..snip..
>>
>>> +
>>> + dpi_pin_default: dpi-pin-default {
>>> + 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 = <MTK_DRIVE_10mA>;
>>
>> Please stop using MTK_DRIVE_xxmA definitions. This is <10>.
>>
>>
>>> + output-low;
>>> + };
>>> + };
>>> +
>>> + dpi_pin_func: dpi-pin-func {
>>> + 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 = <MTK_DRIVE_10mA>;
>>> + };
>>> + };
>>> +
>>> + edp_panel_fixed_pins: edp-panel-fixed-pins {
>>> + pins1 {
>>
>> I don't see where you're using this pin. Please don't add unused pins.
>>
>>> + pinmux = <PINMUX_GPIO153__FUNC_GPIO153>;
>>> + output-low;
>>> + };
>>> + };
>>> +
>>> + pp6000_mipi_disp_150ma_fixed_pins:
>> pp6000-mipi-disp-150ma-fixed-pins {
>>> + pins1 {
>>
>> pins-en {
>>
>>> + pinmux = <PINMUX_GPIO154__FUNC_GPIO154>;
>>> + output-low;
>>> + };
>>> + };
>>> +
>>> + panel_pins_default: panel-pins-default {
>>> + pins1 {
>>
>> pins-en {
>>
>>> + pinmux = <PINMUX_GPIO98__FUNC_GPIO98>;
>>> + output-low;
>>> + };
>>> + };
>>> + wifi_pins_pwrseq: wifipwrseq {
>>
>> Like this, that's unused.
>>
>> You do have a wifi_enable_pin in mt8186-corsola.dtsi though, so override
>> it.
>>
>>> + pins-wifi-enable {
>>> + pinmux = <PINMUX_GPIO51__FUNC_GPIO51>;
>>> + };
>>> + };
>>> +};
>>> +
>>> +&usb_c1 {
>>> + status = "disabled";
>>> +};
>>> +
>>> +&thermal_zones {
>>> + tboard1 {
>>> + polling-delay = <1000>; /* milliseconds */
>>> + polling-delay-passive = <0>; /* milliseconds */
>>> + thermal-sensors = <&tboard_thermistor1>;
>>> + };
>>> +
>>> + tboard2 {
>>> + polling-delay = <1000>; /* milliseconds */
>>> + polling-delay-passive = <0>; /* milliseconds */
>>> + thermal-sensors = <&tboard_thermistor2>;
>>> + };
>>> +};
>>> +
>>> +&wifi_pwrseq {
>>> + reset-gpios = <&pio 51 1>;
>>> +};
>>> +
>>> +en_pp6000_mipi_disp: &pp3300_disp_x {
>>
>> ....but pp6000 is not pp3300, so move the pp3300 to the relevant board dts
>> and define the pp6000 here, or names won't match.
>>
>>> + regulator-name = "en_pp6000_mipi_disp";
>>> + gpio = <&pio 153 GPIO_ACTIVE_HIGH>;
>>> + regulator-enable-ramp-delay = <3000>;
>>> + /delete-property/ regulator-boot-on;
>>> +};
>>
>> Regards,
>> Angelo
>>
>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 2/2] arm64: dts: mediatek: mt8186: Add Starmie device
[not found] ` <CAJrw_jnER6ozh+TiD=nw-DJWf78DKFy-PEVezv-H4ArTrXHS9A@mail.gmail.com>
2024-11-25 12:04 ` AngeloGioacchino Del Regno
@ 2024-11-25 12:04 ` AngeloGioacchino Del Regno
1 sibling, 0 replies; 10+ messages in thread
From: AngeloGioacchino Del Regno @ 2024-11-25 12:04 UTC (permalink / raw)
To: Wojciech Macek
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Matthias Brugger,
Chen-Yu Tsai, Rafal Milecki, Hsin-Yi Wang, Sean Wang, devicetree,
linux-kernel, linux-arm-kernel, linux-mediatek
Il 25/11/24 11:15, Wojciech Macek ha scritto:
> Sure, I will work on it. Thanks.
>
>>> +
>>> + compatible = "ilitek,ili9882t";
>
>> I can't find this compatible anywhere in any kernel driver. That won't
> work.
>
> Actually, the compat is defined in ./drivers/hid/i2c-hid/i2c-hid-of-elan.c
>
Oh, I typo'ed the compatible while grepping. Sorry, you're right about that.
Cheers,
Angelo
>
> Regards,
> Wojtek
>
> On Mon, Nov 25, 2024 at 10:05 AM AngeloGioacchino Del Regno <
> angelogioacchino.delregno@collabora.com> wrote:
>
>> Il 25/11/24 09:21, Wojciech Macek ha scritto:
>>> Add support for Starmie Chromebooks.
>>>
>>> Signed-off-by: Wojciech Macek <wmacek@chromium.org>
>>> ---
>>> Changelog v2-v1:
>>> - no change
>>>
>>> arch/arm64/boot/dts/mediatek/Makefile | 2 +
>>> .../mediatek/mt8186-corsola-starmie-sku0.dts | 29 ++
>>> .../mediatek/mt8186-corsola-starmie-sku1.dts | 46 ++
>>> .../dts/mediatek/mt8186-corsola-starmie.dtsi | 480 ++++++++++++++++++
>>> 4 files changed, 557 insertions(+)
>>> create mode 100644
>> arch/arm64/boot/dts/mediatek/mt8186-corsola-starmie-sku0.dts
>>> create mode 100644
>> arch/arm64/boot/dts/mediatek/mt8186-corsola-starmie-sku1.dts
>>> create mode 100644
>> arch/arm64/boot/dts/mediatek/mt8186-corsola-starmie.dtsi
>>>
>>> diff --git a/arch/arm64/boot/dts/mediatek/Makefile
>> b/arch/arm64/boot/dts/mediatek/Makefile
>>> index 8fd7b2bb7a159..2ee6266ddf43d 100644
>>> --- a/arch/arm64/boot/dts/mediatek/Makefile
>>> +++ b/arch/arm64/boot/dts/mediatek/Makefile
>>> @@ -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
>>> diff --git
>> a/arch/arm64/boot/dts/mediatek/mt8186-corsola-starmie-sku0.dts
>> b/arch/arm64/boot/dts/mediatek/mt8186-corsola-starmie-sku0.dts
>>> new file mode 100644
>>> index 0000000000000..ca0b8492bbef5
>>> --- /dev/null
>>> +++ b/arch/arm64/boot/dts/mediatek/mt8186-corsola-starmie-sku0.dts
>>> @@ -0,0 +1,29 @@
>>> +// 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";
>>> +};
>>> +
>>> +&i2c_tunnel {
>>> + /delete-node/ sbs-battery@b;
>>> +
>>> + battery: sbs-battery@f {
>>> + compatible = "sbs,sbs-battery";
>>> + reg = <0xf>;
>>> + sbs,i2c-retry-count = <2>;
>>> + sbs,poll-retry-count = <1>;
>>> + };
>>> +};
>>> diff --git
>> a/arch/arm64/boot/dts/mediatek/mt8186-corsola-starmie-sku1.dts
>> b/arch/arm64/boot/dts/mediatek/mt8186-corsola-starmie-sku1.dts
>>> new file mode 100644
>>> index 0000000000000..2ba4c083a58c6
>>> --- /dev/null
>>> +++ b/arch/arm64/boot/dts/mediatek/mt8186-corsola-starmie-sku1.dts
>>> @@ -0,0 +1,46 @@
>>> +// 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";
>>> +};
>>> +
>>> +&i2c1 {
>>> + /delete-node/ touchscreen@41;
>>> + touchscreen_himax: touchscreen@4f {
>>> + status = "okay";
>>
>> Okay is the default.
>>
>>> +
>>> + compatible = "hid-over-i2c";
>>> + reg = <0x4f>;
>>> + interrupt-parent = <&pio>;
>>> + interrupts = <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>;
>>> + };
>>> +};
>>> +
>>> +&i2c_tunnel {
>>> + /delete-node/ sbs-battery@b;
>>
>> Would status = "disabled" not work for sbs-battery@b?
>>
>>> +
>>> + battery: sbs-battery@f {
>>
>> You're defining sbs-battery@f in every starmie dts, you can move that to
>> the
>> starmie dtsi instead, so that you can avoid all the useless duplication.
>>
>>> + compatible = "sbs,sbs-battery";
>>> + reg = <0xf>;
>>> + sbs,i2c-retry-count = <2>;
>>> + sbs,poll-retry-count = <1>;
>>> + };
>>> +};
>>> diff --git a/arch/arm64/boot/dts/mediatek/mt8186-corsola-starmie.dtsi
>> b/arch/arm64/boot/dts/mediatek/mt8186-corsola-starmie.dtsi
>>> new file mode 100644
>>> index 0000000000000..28ac65d28143e
>>> --- /dev/null
>>> +++ b/arch/arm64/boot/dts/mediatek/mt8186-corsola-starmie.dtsi
>>> @@ -0,0 +1,480 @@
>>> +// SPDX-License-Identifier: (GPL-2.0 OR MIT)
>>> +/*
>>> + * Copyright 2023 Google LLC
>>> + */
>>> +
>>> +/dts-v1/;
>>> +#include "mt8186-corsola.dtsi"
>>> +
>>> +/delete-node/ &dsi_out;
>>
>> Instead of hacking in a delete-node, you can just change mt8186.dtsi at
>> this point,
>> or you can use the current dsi_out phandle. I would prefer that you do the
>> latter,
>> as it's going to be more convenient later when I'll have to migrate this
>> platform
>> to the full OF Graph for the display controller.
>>
>>> +/delete-node/ &keyboard_controller;
>>> +
>>> +/ {
>>> + 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 = <&pp6000_mipi_disp_150ma_fixed_pins>;
>>> + };
>>> +
>>> + 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>;
>>> + };
>>> +};
>>> +
>>> +&cros_ec {
>>> + cbas: cbas {
>>> + compatible = "google,cros-cbas";
>>> + };
>>> +
>>> + keyboard-controller {
>>> + compatible = "google,cros-ec-keyb-switches";
>>> + };
>>> +};
>>> +
>>> +&dsi0 {
>>> + status = "okay";
>>> + #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_pins_default>;
>>> + 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>;
>>> + };
>>> + };
>>> + };
>>> +
>>> + ports {
>>> + port {
>>> + dsi_out: endpoint {
>>> + remote-endpoint = <&panel_in>;
>>> + };
>>> + };
>>> + };
>>> +};
>>> +
>>> +&i2c0 {
>>> + status = "disabled";
>>> +};
>>> +
>>> +&i2c1 {
>>> + touchscreen: touchscreen@41 {
>>> + status = "okay";
>>
>> Status is okay by default.
>>
>>> +
>>> + compatible = "ilitek,ili9882t";
>>
>> I can't find this compatible anywhere in any kernel driver. That won't
>> work.
>>
>>> + reg = <0x41>;
>>> + interrupt-parent = <&pio>;
>>> + interrupts = <12 IRQ_TYPE_LEVEL_LOW>;
>>
>> interrupts-extended please
>>
>>> + pinctrl-names = "default";
>>> + pinctrl-0 = <&touchscreen_pins>;
>>> + panel = <&panel>;
>>> + reset-gpios = <&pio 60 GPIO_ACTIVE_LOW>;
>>> + vccio-supply = <&mt6366_vio18_reg>;
>>> + };
>>> +};
>>> +
>>> +&i2c2 {
>>> + status = "disabled";
>>> +};
>>> +
>>> +&i2c4 {
>>> + status = "disabled";
>>> +};
>>> +
>>> +&i2c5 {
>>> + clock-frequency = <400000>;
>>> +
>>> +};
>>> +
>>> +&mmc1_pins_default {
>>> + pins-clk {
>>> + drive-strength = <MTK_DRIVE_8mA>;
>>
>> Please stop using MTK_DRIVE_xxmA definitions. This is just <8>.
>>
>>> + };
>>> +
>>> + pins-cmd-dat {
>>> + drive-strength = <MTK_DRIVE_8mA>;
>>> + };
>>> +};
>>> +
>>> +&mmc1_pins_uhs {
>>> + pins-clk {
>>> + drive-strength = <MTK_DRIVE_8mA>;
>>> + };
>>> +
>>> + pins-cmd-dat {
>>> + drive-strength = <MTK_DRIVE_8mA>;
>>> + };
>>> +};
>>> +
>>> +&pen_insert {
>>> + wakeup-event-action = <EV_ACT_ANY>;
>>> +};
>>> +
>>> +&pio {
>>
>> ..snip..
>>
>>> +
>>> + dpi_pin_default: dpi-pin-default {
>>> + 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 = <MTK_DRIVE_10mA>;
>>
>> Please stop using MTK_DRIVE_xxmA definitions. This is <10>.
>>
>>
>>> + output-low;
>>> + };
>>> + };
>>> +
>>> + dpi_pin_func: dpi-pin-func {
>>> + 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 = <MTK_DRIVE_10mA>;
>>> + };
>>> + };
>>> +
>>> + edp_panel_fixed_pins: edp-panel-fixed-pins {
>>> + pins1 {
>>
>> I don't see where you're using this pin. Please don't add unused pins.
>>
>>> + pinmux = <PINMUX_GPIO153__FUNC_GPIO153>;
>>> + output-low;
>>> + };
>>> + };
>>> +
>>> + pp6000_mipi_disp_150ma_fixed_pins:
>> pp6000-mipi-disp-150ma-fixed-pins {
>>> + pins1 {
>>
>> pins-en {
>>
>>> + pinmux = <PINMUX_GPIO154__FUNC_GPIO154>;
>>> + output-low;
>>> + };
>>> + };
>>> +
>>> + panel_pins_default: panel-pins-default {
>>> + pins1 {
>>
>> pins-en {
>>
>>> + pinmux = <PINMUX_GPIO98__FUNC_GPIO98>;
>>> + output-low;
>>> + };
>>> + };
>>> + wifi_pins_pwrseq: wifipwrseq {
>>
>> Like this, that's unused.
>>
>> You do have a wifi_enable_pin in mt8186-corsola.dtsi though, so override
>> it.
>>
>>> + pins-wifi-enable {
>>> + pinmux = <PINMUX_GPIO51__FUNC_GPIO51>;
>>> + };
>>> + };
>>> +};
>>> +
>>> +&usb_c1 {
>>> + status = "disabled";
>>> +};
>>> +
>>> +&thermal_zones {
>>> + tboard1 {
>>> + polling-delay = <1000>; /* milliseconds */
>>> + polling-delay-passive = <0>; /* milliseconds */
>>> + thermal-sensors = <&tboard_thermistor1>;
>>> + };
>>> +
>>> + tboard2 {
>>> + polling-delay = <1000>; /* milliseconds */
>>> + polling-delay-passive = <0>; /* milliseconds */
>>> + thermal-sensors = <&tboard_thermistor2>;
>>> + };
>>> +};
>>> +
>>> +&wifi_pwrseq {
>>> + reset-gpios = <&pio 51 1>;
>>> +};
>>> +
>>> +en_pp6000_mipi_disp: &pp3300_disp_x {
>>
>> ....but pp6000 is not pp3300, so move the pp3300 to the relevant board dts
>> and define the pp6000 here, or names won't match.
>>
>>> + regulator-name = "en_pp6000_mipi_disp";
>>> + gpio = <&pio 153 GPIO_ACTIVE_HIGH>;
>>> + regulator-enable-ramp-delay = <3000>;
>>> + /delete-property/ regulator-boot-on;
>>> +};
>>
>> Regards,
>> Angelo
>>
>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 1/2] dt-bindings: arm: mediatek: Add MT8186 Starmie Chromebooks
2024-11-25 8:21 ` [PATCH v2 1/2] dt-bindings: arm: mediatek: Add MT8186 Starmie Chromebooks Wojciech Macek
2024-11-25 9:07 ` AngeloGioacchino Del Regno
@ 2024-11-25 18:32 ` Conor Dooley
2024-11-26 4:36 ` Chen-Yu Tsai
1 sibling, 1 reply; 10+ messages in thread
From: Conor Dooley @ 2024-11-25 18:32 UTC (permalink / raw)
To: Wojciech Macek
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Matthias Brugger,
AngeloGioacchino Del Regno, Chen-Yu Tsai, Rafal Milecki,
Hsin-Yi Wang, Sean Wang, devicetree, linux-kernel,
linux-arm-kernel, linux-mediatek
[-- Attachment #1: Type: text/plain, Size: 1809 bytes --]
On Mon, Nov 25, 2024 at 08:21:28AM +0000, Wojciech Macek wrote:
> Add an entry for the MT8186 based Starmie Chromebooks, also known as the
> ASUS Chromebook Enterprise CM30 Detachable (CM3001). The device is
> a tablet style chromebook.
>
> Signed-off-by: Wojciech Macek <wmacek@chromium.org>
> ---
>
> Changelog v2-v1:
> - Fixed items/const bidings description in mediatek.yaml
>
> Documentation/devicetree/bindings/arm/mediatek.yaml | 13 +++++++++++++
> 1 file changed, 13 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/arm/mediatek.yaml b/Documentation/devicetree/bindings/arm/mediatek.yaml
> index 1d4bb50fcd8d9..6191a5320c148 100644
> --- a/Documentation/devicetree/bindings/arm/mediatek.yaml
> +++ b/Documentation/devicetree/bindings/arm/mediatek.yaml
> @@ -263,6 +263,19 @@ properties:
> - const: google,steelix-sku196608
> - const: google,steelix
> - const: mediatek,mt8186
> + - description: Google Starmie (ASUS Chromebook Enterprise CM30 (CM3001))
> + items:
> + - const: google,starmie-sku0
> + - const: google,starmie-sku2
> + - const: google,starmie-sku3
Compatible order here is back to making little sense. Why is the oldest
SKU, in both cases, appearing first?
> + - const: google,starmie
> + - const: mediatek,mt8186
> + - description: Google Starmie (ASUS Chromebook Enterprise CM30 (CM3001))
> + items:
> + - const: google,starmie-sku1
> + - const: google,starmie-sku4
> + - const: google,starmie
> + - const: mediatek,mt8186
> - description: Google Steelix (Lenovo 300e Yoga Chromebook Gen 4)
> items:
> - enum:
> --
> 2.47.0.371.ga323438b13-goog
>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 1/2] dt-bindings: arm: mediatek: Add MT8186 Starmie Chromebooks
2024-11-25 18:32 ` Conor Dooley
@ 2024-11-26 4:36 ` Chen-Yu Tsai
2024-11-26 17:50 ` Conor Dooley
0 siblings, 1 reply; 10+ messages in thread
From: Chen-Yu Tsai @ 2024-11-26 4:36 UTC (permalink / raw)
To: Conor Dooley
Cc: Wojciech Macek, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Matthias Brugger, AngeloGioacchino Del Regno, Chen-Yu Tsai,
Rafal Milecki, Hsin-Yi Wang, Sean Wang, devicetree, linux-kernel,
linux-arm-kernel, linux-mediatek
On Tue, Nov 26, 2024 at 2:34 AM Conor Dooley <conor@kernel.org> wrote:
>
> On Mon, Nov 25, 2024 at 08:21:28AM +0000, Wojciech Macek wrote:
> > Add an entry for the MT8186 based Starmie Chromebooks, also known as the
> > ASUS Chromebook Enterprise CM30 Detachable (CM3001). The device is
> > a tablet style chromebook.
> >
> > Signed-off-by: Wojciech Macek <wmacek@chromium.org>
> > ---
> >
> > Changelog v2-v1:
> > - Fixed items/const bidings description in mediatek.yaml
> >
> > Documentation/devicetree/bindings/arm/mediatek.yaml | 13 +++++++++++++
> > 1 file changed, 13 insertions(+)
> >
> > diff --git a/Documentation/devicetree/bindings/arm/mediatek.yaml b/Documentation/devicetree/bindings/arm/mediatek.yaml
> > index 1d4bb50fcd8d9..6191a5320c148 100644
> > --- a/Documentation/devicetree/bindings/arm/mediatek.yaml
> > +++ b/Documentation/devicetree/bindings/arm/mediatek.yaml
> > @@ -263,6 +263,19 @@ properties:
> > - const: google,steelix-sku196608
> > - const: google,steelix
> > - const: mediatek,mt8186
> > + - description: Google Starmie (ASUS Chromebook Enterprise CM30 (CM3001))
> > + items:
> > + - const: google,starmie-sku0
> > + - const: google,starmie-sku2
> > + - const: google,starmie-sku3
>
> Compatible order here is back to making little sense. Why is the oldest
> SKU, in both cases, appearing first?
FWIW the SKU number has no particular ordering. They were released together.
SKU denotes different configurations (memory, storage, touchscreen and other
component options). OOTH revisions would actually have chronological meaning.
ChenYu
> > + - const: google,starmie
> > + - const: mediatek,mt8186
> > + - description: Google Starmie (ASUS Chromebook Enterprise CM30 (CM3001))
> > + items:
> > + - const: google,starmie-sku1
> > + - const: google,starmie-sku4
> > + - const: google,starmie
> > + - const: mediatek,mt8186
> > - description: Google Steelix (Lenovo 300e Yoga Chromebook Gen 4)
> > items:
> > - enum:
> > --
> > 2.47.0.371.ga323438b13-goog
> >
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 1/2] dt-bindings: arm: mediatek: Add MT8186 Starmie Chromebooks
2024-11-26 4:36 ` Chen-Yu Tsai
@ 2024-11-26 17:50 ` Conor Dooley
0 siblings, 0 replies; 10+ messages in thread
From: Conor Dooley @ 2024-11-26 17:50 UTC (permalink / raw)
To: Chen-Yu Tsai
Cc: Wojciech Macek, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Matthias Brugger, AngeloGioacchino Del Regno, Chen-Yu Tsai,
Rafal Milecki, Hsin-Yi Wang, Sean Wang, devicetree, linux-kernel,
linux-arm-kernel, linux-mediatek
[-- Attachment #1: Type: text/plain, Size: 1920 bytes --]
On Tue, Nov 26, 2024 at 12:36:08PM +0800, Chen-Yu Tsai wrote:
> On Tue, Nov 26, 2024 at 2:34 AM Conor Dooley <conor@kernel.org> wrote:
> >
> > On Mon, Nov 25, 2024 at 08:21:28AM +0000, Wojciech Macek wrote:
> > > Add an entry for the MT8186 based Starmie Chromebooks, also known as the
> > > ASUS Chromebook Enterprise CM30 Detachable (CM3001). The device is
> > > a tablet style chromebook.
> > >
> > > Signed-off-by: Wojciech Macek <wmacek@chromium.org>
> > > ---
> > >
> > > Changelog v2-v1:
> > > - Fixed items/const bidings description in mediatek.yaml
> > >
> > > Documentation/devicetree/bindings/arm/mediatek.yaml | 13 +++++++++++++
> > > 1 file changed, 13 insertions(+)
> > >
> > > diff --git a/Documentation/devicetree/bindings/arm/mediatek.yaml b/Documentation/devicetree/bindings/arm/mediatek.yaml
> > > index 1d4bb50fcd8d9..6191a5320c148 100644
> > > --- a/Documentation/devicetree/bindings/arm/mediatek.yaml
> > > +++ b/Documentation/devicetree/bindings/arm/mediatek.yaml
> > > @@ -263,6 +263,19 @@ properties:
> > > - const: google,steelix-sku196608
> > > - const: google,steelix
> > > - const: mediatek,mt8186
> > > + - description: Google Starmie (ASUS Chromebook Enterprise CM30 (CM3001))
> > > + items:
> > > + - const: google,starmie-sku0
> > > + - const: google,starmie-sku2
> > > + - const: google,starmie-sku3
> >
> > Compatible order here is back to making little sense. Why is the oldest
> > SKU, in both cases, appearing first?
>
> FWIW the SKU number has no particular ordering. They were released together.
> SKU denotes different configurations (memory, storage, touchscreen and other
> component options). OOTH revisions would actually have chronological meaning.
I see, that's fine then I suppose.
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Cheers,
Conor.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2024-11-26 17:50 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-25 8:21 [PATCH v2 0/2] Add Starmie Chromebook Wojciech Macek
2024-11-25 8:21 ` [PATCH v2 1/2] dt-bindings: arm: mediatek: Add MT8186 Starmie Chromebooks Wojciech Macek
2024-11-25 9:07 ` AngeloGioacchino Del Regno
2024-11-25 18:32 ` Conor Dooley
2024-11-26 4:36 ` Chen-Yu Tsai
2024-11-26 17:50 ` Conor Dooley
2024-11-25 8:21 ` [PATCH v2 2/2] arm64: dts: mediatek: mt8186: Add Starmie device Wojciech Macek
2024-11-25 9:05 ` AngeloGioacchino Del Regno
[not found] ` <CAJrw_jnER6ozh+TiD=nw-DJWf78DKFy-PEVezv-H4ArTrXHS9A@mail.gmail.com>
2024-11-25 12:04 ` AngeloGioacchino Del Regno
2024-11-25 12:04 ` AngeloGioacchino Del Regno
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).