Hi Hsin-Yi, Thank you for the patch. On 15/3/21 12:41, Hsin-Yi Wang wrote: > Damu is known as ASUS Chromebook Flip CM3. > > Signed-off-by: Hsin-Yi Wang <hsinyi@xxxxxxxxxxxx> > --- > v1->v2: fix pp3300_panel regulator property > --- > arch/arm64/boot/dts/mediatek/Makefile | 1 + > .../mediatek/mt8183-kukui-jacuzzi-damu.dts | 35 ++ > .../dts/mediatek/mt8183-kukui-jacuzzi.dtsi | 482 ++++++++++++++++++ > 3 files changed, 518 insertions(+) > create mode 100644 arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-damu.dts > create mode 100644 arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi.dtsi > > diff --git a/arch/arm64/boot/dts/mediatek/Makefile b/arch/arm64/boot/dts/mediatek/Makefile > index deba27ab7657..554105d2c389 100644 > --- a/arch/arm64/boot/dts/mediatek/Makefile > +++ b/arch/arm64/boot/dts/mediatek/Makefile > @@ -13,6 +13,7 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += mt8173-elm-hana.dtb > dtb-$(CONFIG_ARCH_MEDIATEK) += mt8173-elm-hana-rev7.dtb > dtb-$(CONFIG_ARCH_MEDIATEK) += mt8173-evb.dtb > dtb-$(CONFIG_ARCH_MEDIATEK) += mt8183-evb.dtb > +dtb-$(CONFIG_ARCH_MEDIATEK) += mt8183-kukui-jacuzzi-damu.dtb > dtb-$(CONFIG_ARCH_MEDIATEK) += mt8183-kukui-krane-sku0.dtb > dtb-$(CONFIG_ARCH_MEDIATEK) += mt8183-kukui-krane-sku176.dtb > dtb-$(CONFIG_ARCH_MEDIATEK) += mt8192-evb.dtb > diff --git a/arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-damu.dts b/arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-damu.dts > new file mode 100644 > index 000000000000..d697336440d1 > --- /dev/null > +++ b/arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-damu.dts > @@ -0,0 +1,35 @@ > +// SPDX-License-Identifier: (GPL-2.0 OR MIT) > +/* > + * Copyright 2021 Google LLC > + */ > + > +/dts-v1/; > +#include "mt8183-kukui-jacuzzi.dtsi" > + > +/ { > + model = "Google damu board"; > + compatible = "google,damu", "mediatek,mt8183"; > +}; > + > +&cpu_thermal { > + sustainable-power = <4500>; /* milliwatts */ > +}; This node is not upstream for MT8183, so fails to build, you should remove this. > + > +&touchscreen { > + status = "okay"; > + > + compatible = "hid-over-i2c"; > + reg = <0x10>; > + interrupt-parent = <&pio>; > + interrupts = <155 IRQ_TYPE_LEVEL_LOW>; > + pinctrl-names = "default"; > + pinctrl-0 = <&touchscreen_pins>; > + > + post-power-on-delay-ms = <10>; > + hid-descr-addr = <0x0001>; > +}; > + > +&qca_wifi { > + qcom,ath10k-calibration-variant = "GO_DAMU"; > +}; > + > diff --git a/arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi.dtsi b/arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi.dtsi > new file mode 100644 > index 000000000000..d8826c82bcda > --- /dev/null > +++ b/arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi.dtsi > @@ -0,0 +1,482 @@ > +// SPDX-License-Identifier: (GPL-2.0 OR MIT) > +/* > + * Copyright 2021 Google LLC > + */ > + > +#include "mt8183-kukui.dtsi" > + > +/ { > + panel: panel { > + compatible = "auo,b116xw03"; > + power-supply = <&pp3300_panel>; > + ddc-i2c-bus = <&i2c4>; > + backlight = <&backlight_lcd0>; > + > + port { > + panel_in: endpoint { > + remote-endpoint = <&anx7625_out>; > + }; > + }; > + }; > + > + pp1200_mipibrdg: pp1200-mipibrdg { > + compatible = "regulator-fixed"; > + regulator-name = "pp1200_mipibrdg"; > + pinctrl-names = "default"; > + pinctrl-0 = <&pp1200_mipibrdg_en>; > + > + enable-active-high; > + regulator-boot-on; > + > + gpio = <&pio 54 GPIO_ACTIVE_HIGH>; > + }; > + > + pp1800_mipibrdg: pp1800-mipibrdg { > + compatible = "regulator-fixed"; > + regulator-name = "pp1800_mipibrdg"; > + pinctrl-names = "default"; > + pinctrl-0 = <&pp1800_lcd_en>; > + > + enable-active-high; > + regulator-boot-on; > + > + gpio = <&pio 36 GPIO_ACTIVE_HIGH>; > + }; > + > + pp3300_panel: pp3300-panel { > + compatible = "regulator-fixed"; > + regulator-name = "pp3300_panel"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + pinctrl-names = "default"; > + pinctrl-0 = <&pp3300_panel_pins>; > + > + enable-active-high; > + regulator-boot-on; > + > + gpio = <&pio 35 GPIO_ACTIVE_HIGH>; > + }; > + > + vddio_mipibrdg: vddio-mipibrdg { > + compatible = "regulator-fixed"; > + regulator-name = "vddio_mipibrdg"; > + pinctrl-names = "default"; > + pinctrl-0 = <&vddio_mipibrdg_en>; > + > + enable-active-high; > + regulator-boot-on; > + > + gpio = <&pio 37 GPIO_ACTIVE_HIGH>; > + }; > + > + volume_buttons: volume-buttons { > + compatible = "gpio-keys"; > + pinctrl-names = "default"; > + pinctrl-0 = <&volume_button_pins>; > + > + volume_down { > + label = "Volume Down"; > + linux,code = <KEY_VOLUMEDOWN>; > + debounce-interval = <100>; > + > + gpios = <&pio 6 GPIO_ACTIVE_LOW>; > + }; > + > + volume_up { > + label = "Volume Up"; > + linux,code = <KEY_VOLUMEUP>; > + debounce-interval = <100>; > + > + gpios = <&pio 5 GPIO_ACTIVE_LOW>; > + }; > + }; > +}; > + > +&cros_ec { > + cros_ec_pwm: ec-pwm { I don't see this being used, so remove for now. > + compatible = "google,cros-ec-pwm"; > + #pwm-cells = <1>; > + status = "disabled"; > + }; > +}; > + > +&dsi0 { > + status = "okay"; > + /delete-node/panel@0; > + ports { > + port { > + dsi_out: endpoint { > + remote-endpoint = <&anx7625_in>; > + }; > + }; > + }; > +}; > + > +&i2c0 { > + status = "okay"; > + > + touchscreen: touchscreen@10 { > + compatible = "elan,ekth3500"; > + reg = <0x10>; > + > + pinctrl-names = "default"; > + pinctrl-0 = <&touchscreen_pins>; > + > + interrupts-extended = <&pio 155 IRQ_TYPE_LEVEL_LOW>; > + > + reset-gpios = <&pio 156 GPIO_ACTIVE_LOW>; > + }; > +}; > + > +&i2c2 { > + pinctrl-names = "default"; > + pinctrl-0 = <&i2c2_pins>; > + status = "okay"; > + clock-frequency = <400000>; > + > + trackpad@15 { > + compatible = "elan,ekth3000"; > + reg = <0x15>; > + > + pinctrl-names = "default"; > + pinctrl-0 = <&trackpad_pins>; > + > + interrupts-extended = <&pio 7 IRQ_TYPE_LEVEL_LOW>; > + > + wakeup-source; > + }; > +}; > + > +&i2c4 { > + pinctrl-names = "default"; > + pinctrl-0 = <&i2c4_pins>; > + status = "okay"; > + clock-frequency = <100000>; > + > + anx_bridge: anx7625@58 { > + compatible = "analogix,anx7625"; > + reg = <0x58>; > + pinctrl-names = "default"; > + pinctrl-0 = <&anx7625_pins>; > + panel_flags = <1>; > + enable-gpios = <&pio 45 GPIO_ACTIVE_HIGH>; > + reset-gpios = <&pio 73 GPIO_ACTIVE_HIGH>; > + vdd10-supply = <&pp1200_mipibrdg>; > + vdd18-supply = <&pp1800_mipibrdg>; > + vdd33-supply = <&vddio_mipibrdg>; > + > + #address-cells = <1>; > + #size-cells = <0>; > + port@0 { > + reg = <0>; > + > + anx7625_in: endpoint { > + remote-endpoint = <&dsi_out>; > + }; > + }; > + > + port@1 { > + reg = <1>; > + > + anx7625_out: endpoint { > + remote-endpoint = <&panel_in>; > + }; > + }; > + }; > +}; > + > +&i2c_tunnel { > + google,remote-bus = <2>; > +}; > + > +&pio { > + /* 192 lines */ > + gpio-line-names = > + "SPI_AP_EC_CS_L", > + "SPI_AP_EC_MOSI", > + "SPI_AP_EC_CLK", > + "I2S3_DO", > + "USB_PD_INT_ODL", > + "", > + "", > + "", > + "", > + "IT6505_HPD_L", > + "I2S3_TDM_D3", > + "SOC_I2C6_1V8_SCL", > + "SOC_I2C6_1V8_SDA", > + "DPI_D0", > + "DPI_D1", > + "DPI_D2", > + "DPI_D3", > + "DPI_D4", > + "DPI_D5", > + "DPI_D6", > + "DPI_D7", > + "DPI_D8", > + "DPI_D9", > + "DPI_D10", > + "DPI_D11", > + "DPI_HSYNC", > + "DPI_VSYNC", > + "DPI_DE", > + "DPI_CK", > + "AP_MSDC1_CLK", > + "AP_MSDC1_DAT3", > + "AP_MSDC1_CMD", > + "AP_MSDC1_DAT0", > + "AP_MSDC1_DAT2", > + "AP_MSDC1_DAT1", > + "", > + "", > + "", > + "", > + "", > + "", > + "OTG_EN", > + "DRVBUS", > + "DISP_PWM", > + "DSI_TE", > + "LCM_RST_1V8", > + "AP_CTS_WIFI_RTS", > + "AP_RTS_WIFI_CTS", > + "SOC_I2C5_1V8_SCL", > + "SOC_I2C5_1V8_SDA", > + "SOC_I2C3_1V8_SCL", > + "SOC_I2C3_1V8_SDA", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "SOC_I2C1_1V8_SDA", > + "SOC_I2C0_1V8_SDA", > + "SOC_I2C0_1V8_SCL", > + "SOC_I2C1_1V8_SCL", > + "AP_SPI_H1_MISO", > + "AP_SPI_H1_CS_L", > + "AP_SPI_H1_MOSI", > + "AP_SPI_H1_CLK", > + "I2S5_BCK", > + "I2S5_LRCK", > + "I2S5_DO", > + "BOOTBLOCK_EN_L", > + "MT8183_KPCOL0", > + "SPI_AP_EC_MISO", > + "UART_DBG_TX_AP_RX", > + "UART_AP_TX_DBG_RX", > + "I2S2_MCK", > + "I2S2_BCK", > + "CLK_5M_WCAM", > + "CLK_2M_UCAM", > + "I2S2_LRCK", > + "I2S2_DI", > + "SOC_I2C2_1V8_SCL", > + "SOC_I2C2_1V8_SDA", > + "SOC_I2C4_1V8_SCL", > + "SOC_I2C4_1V8_SDA", > + "", > + "SCL8", > + "SDA8", > + "FCAM_PWDN_L", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "I2S_PMIC", > + "I2S_PMIC", > + "I2S_PMIC", > + "I2S_PMIC", > + "I2S_PMIC", > + "I2S_PMIC", > + "I2S_PMIC", > + "I2S_PMIC", > + "", > + "", > + "", > + "", > + "", > + "", > + /* > + * AP_FLASH_WP_L is crossystem ABI. Rev1 schematics > + * call it BIOS_FLASH_WP_R_L. > + */ > + "AP_FLASH_WP_L", > + "EC_AP_INT_ODL", > + "IT6505_INT_ODL", > + "H1_INT_OD_L", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "AP_SPI_FLASH_MISO", > + "AP_SPI_FLASH_CS_L", > + "AP_SPI_FLASH_MOSI", > + "AP_SPI_FLASH_CLK", > + "DA7219_IRQ", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + "", > + ""; > + > + pp1200_mipibrdg_en: pp1200-mipibrdg-en { > + pins1 { > + pinmux = <PINMUX_GPIO54__FUNC_GPIO54>; > + output-low; > + }; > + }; > + > + pp1800_lcd_en: pp1800-lcd-en { > + pins1 { > + pinmux = <PINMUX_GPIO36__FUNC_GPIO36>; > + output-low; > + }; > + }; > + > + pp3300_panel_pins: pp3300-panel-pins { > + panel_3v3_enable: panel-3v3-enable { > + pinmux = <PINMUX_GPIO35__FUNC_GPIO35>; > + output-low; > + }; > + }; > + > + ppvarp_lcd_en: ppvarp-lcd-en { > + pins1 { > + pinmux = <PINMUX_GPIO66__FUNC_GPIO66>; > + output-low; > + }; > + }; > + > + ppvarn_lcd_en: ppvarn-lcd-en { > + pins1 { > + pinmux = <PINMUX_GPIO166__FUNC_GPIO166>; > + output-low; > + }; > + }; > + > + anx7625_pins: anx7625-pins { > + pins1 { > + pinmux = <PINMUX_GPIO45__FUNC_GPIO45>, > + <PINMUX_GPIO73__FUNC_GPIO73>; > + output-low; > + }; > + pins2 { > + pinmux = <PINMUX_GPIO4__FUNC_GPIO4>; > + input-enable; > + bias-pull-up; > + }; > + }; > + > + touchscreen_pins: touchscreen-pins { > + touch_int_odl { > + pinmux = <PINMUX_GPIO155__FUNC_GPIO155>; > + input-enable; > + bias-pull-up; > + }; > + > + touch_rst_l { > + pinmux = <PINMUX_GPIO156__FUNC_GPIO156>; > + output-high; > + }; > + }; > + > + trackpad_pins: trackpad-pins { > + trackpad_int { > + pinmux = <PINMUX_GPIO7__FUNC_GPIO7>; > + input-enable; > + bias-disable; /* pulled externally */ > + }; > + }; > + > + vddio_mipibrdg_en: vddio-mipibrdg-en { > + pins1 { > + pinmux = <PINMUX_GPIO37__FUNC_GPIO37>; > + output-low; > + }; > + }; > + > + volume_button_pins: volume-button-pins { > + voldn-btn-odl { > + pinmux = <PINMUX_GPIO6__FUNC_GPIO6>; > + input-enable; > + bias-pull-up; > + }; > + > + volup-btn-odl { > + pinmux = <PINMUX_GPIO5__FUNC_GPIO5>; > + input-enable; > + bias-pull-up; > + }; > + }; > +}; > + >