[PATCH v2 2/2] arm64: dts: mt8183: Add kukui-jacuzzi-damu board

Enric Balletbo i Serra enric.balletbo at collabora.com
Wed Mar 17 15:03:58 GMT 2021


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 at chromium.org>
> ---
> 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 at 0;
> +	ports {
> +		port {
> +			dsi_out: endpoint {
> +				remote-endpoint = <&anx7625_in>;
> +			};
> +		};
> +	};
> +};
> +
> +&i2c0 {
> +	status = "okay";
> +
> +	touchscreen: touchscreen at 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 at 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 at 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 at 0 {
> +			reg = <0>;
> +
> +			anx7625_in: endpoint {
> +				remote-endpoint = <&dsi_out>;
> +			};
> +		};
> +
> +		port at 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;
> +		};
> +	};
> +};
> +
> 



More information about the linux-arm-kernel mailing list