xref: /openbmc/linux/arch/arm64/boot/dts/qcom/msm8916-acer-a1-724.dts (revision c900529f3d9161bfde5cca0754f83b4d3c3e0220)
10fbf49b3SLin, Meng-Bo// SPDX-License-Identifier: GPL-2.0-only
20fbf49b3SLin, Meng-Bo
30fbf49b3SLin, Meng-Bo/dts-v1/;
40fbf49b3SLin, Meng-Bo
50fbf49b3SLin, Meng-Bo#include "msm8916-pm8916.dtsi"
60fbf49b3SLin, Meng-Bo
70fbf49b3SLin, Meng-Bo#include <dt-bindings/gpio/gpio.h>
80fbf49b3SLin, Meng-Bo#include <dt-bindings/input/input.h>
985e0a0f8SLin, Meng-Bo#include <dt-bindings/interrupt-controller/irq.h>
100fbf49b3SLin, Meng-Bo
110fbf49b3SLin, Meng-Bo/*
120fbf49b3SLin, Meng-Bo * NOTE: The original firmware from Acer can only boot 32-bit kernels.
130fbf49b3SLin, Meng-Bo * To boot this device tree using arm64 it is necessary to flash 64-bit
140fbf49b3SLin, Meng-Bo * TZ/HYP firmware (e.g. taken from the DragonBoard 410c).
150fbf49b3SLin, Meng-Bo * See https://wiki.postmarketos.org/wiki/Acer_Iconia_Talk_S_(acer-a1-724)
160fbf49b3SLin, Meng-Bo * for suggested installation instructions.
170fbf49b3SLin, Meng-Bo */
180fbf49b3SLin, Meng-Bo
190fbf49b3SLin, Meng-Bo/ {
200fbf49b3SLin, Meng-Bo	model = "Acer Iconia Talk S A1-724";
210fbf49b3SLin, Meng-Bo	compatible = "acer,a1-724", "qcom,msm8916";
220fbf49b3SLin, Meng-Bo	chassis-type = "tablet";
230fbf49b3SLin, Meng-Bo
240fbf49b3SLin, Meng-Bo	aliases {
25154f23a8SStephan Gerhold		mmc0 = &sdhc_1; /* eMMC */
26154f23a8SStephan Gerhold		mmc1 = &sdhc_2; /* SD card */
27c310ca82SStephan Gerhold		serial0 = &blsp_uart2;
280fbf49b3SLin, Meng-Bo	};
290fbf49b3SLin, Meng-Bo
300fbf49b3SLin, Meng-Bo	chosen {
310fbf49b3SLin, Meng-Bo		stdout-path = "serial0";
320fbf49b3SLin, Meng-Bo	};
330fbf49b3SLin, Meng-Bo
340fbf49b3SLin, Meng-Bo	gpio-keys {
350fbf49b3SLin, Meng-Bo		compatible = "gpio-keys";
360fbf49b3SLin, Meng-Bo
370fbf49b3SLin, Meng-Bo		pinctrl-names = "default";
380fbf49b3SLin, Meng-Bo		pinctrl-0 = <&gpio_keys_default>;
390fbf49b3SLin, Meng-Bo
400fbf49b3SLin, Meng-Bo		label = "GPIO Buttons";
410fbf49b3SLin, Meng-Bo
420fbf49b3SLin, Meng-Bo		button-volume-up {
430fbf49b3SLin, Meng-Bo			label = "Volume Up";
4441e22c2fSStephan Gerhold			gpios = <&tlmm 107 GPIO_ACTIVE_LOW>;
450fbf49b3SLin, Meng-Bo			linux,code = <KEY_VOLUMEUP>;
460fbf49b3SLin, Meng-Bo		};
470fbf49b3SLin, Meng-Bo	};
480fbf49b3SLin, Meng-Bo
490fbf49b3SLin, Meng-Bo	usb_id: usb-id {
500fbf49b3SLin, Meng-Bo		compatible = "linux,extcon-usb-gpio";
51*f6485041SAlexander Stein		id-gpios = <&tlmm 110 GPIO_ACTIVE_HIGH>;
520fbf49b3SLin, Meng-Bo		pinctrl-names = "default";
530fbf49b3SLin, Meng-Bo		pinctrl-0 = <&usb_id_default>;
540fbf49b3SLin, Meng-Bo	};
550fbf49b3SLin, Meng-Bo};
560fbf49b3SLin, Meng-Bo
5785e0a0f8SLin, Meng-Bo&blsp_i2c2 {
5885e0a0f8SLin, Meng-Bo	status = "okay";
5985e0a0f8SLin, Meng-Bo
6085e0a0f8SLin, Meng-Bo	accelerometer@10 {
6185e0a0f8SLin, Meng-Bo		compatible = "bosch,bmc150_accel";
6285e0a0f8SLin, Meng-Bo		reg = <0x10>;
6341e22c2fSStephan Gerhold		interrupt-parent = <&tlmm>;
6485e0a0f8SLin, Meng-Bo		interrupts = <115 IRQ_TYPE_EDGE_RISING>;
6585e0a0f8SLin, Meng-Bo
6685e0a0f8SLin, Meng-Bo		vdd-supply = <&pm8916_l17>;
6785e0a0f8SLin, Meng-Bo		vddio-supply = <&pm8916_l6>;
6885e0a0f8SLin, Meng-Bo
6985e0a0f8SLin, Meng-Bo		pinctrl-names = "default";
7085e0a0f8SLin, Meng-Bo		pinctrl-0 = <&accel_int_default>;
7185e0a0f8SLin, Meng-Bo
7285e0a0f8SLin, Meng-Bo		mount-matrix = "0", "-1", "0",
7385e0a0f8SLin, Meng-Bo			       "-1", "0", "0",
7485e0a0f8SLin, Meng-Bo			       "0", "0", "1";
7585e0a0f8SLin, Meng-Bo	};
7685e0a0f8SLin, Meng-Bo
7785e0a0f8SLin, Meng-Bo	magnetometer@12 {
7885e0a0f8SLin, Meng-Bo		compatible = "bosch,bmc150_magn";
7985e0a0f8SLin, Meng-Bo		reg = <0x12>;
8085e0a0f8SLin, Meng-Bo
8185e0a0f8SLin, Meng-Bo		vdd-supply = <&pm8916_l17>;
8285e0a0f8SLin, Meng-Bo		vddio-supply = <&pm8916_l6>;
8385e0a0f8SLin, Meng-Bo	};
8485e0a0f8SLin, Meng-Bo};
8585e0a0f8SLin, Meng-Bo
867b8847e9SLin, Meng-Bo&blsp_i2c5 {
877b8847e9SLin, Meng-Bo	status = "okay";
887b8847e9SLin, Meng-Bo
897b8847e9SLin, Meng-Bo	touchscreen@38 {
907b8847e9SLin, Meng-Bo		/* Actually ft5446 */
917b8847e9SLin, Meng-Bo		compatible = "edt,edt-ft5406";
927b8847e9SLin, Meng-Bo		reg = <0x38>;
937b8847e9SLin, Meng-Bo
9441e22c2fSStephan Gerhold		interrupt-parent = <&tlmm>;
957b8847e9SLin, Meng-Bo		interrupts = <13 IRQ_TYPE_LEVEL_LOW>;
967b8847e9SLin, Meng-Bo
9741e22c2fSStephan Gerhold		reset-gpios = <&tlmm 12 GPIO_ACTIVE_LOW>;
987b8847e9SLin, Meng-Bo
997b8847e9SLin, Meng-Bo		vcc-supply = <&pm8916_l16>;
1007b8847e9SLin, Meng-Bo		iovcc-supply = <&pm8916_l6>;
1017b8847e9SLin, Meng-Bo
1027b8847e9SLin, Meng-Bo		touchscreen-size-x = <720>;
1037b8847e9SLin, Meng-Bo		touchscreen-size-y = <1280>;
1047b8847e9SLin, Meng-Bo
1057b8847e9SLin, Meng-Bo		pinctrl-names = "default";
1067b8847e9SLin, Meng-Bo		pinctrl-0 = <&touchscreen_default>;
1077b8847e9SLin, Meng-Bo	};
1087b8847e9SLin, Meng-Bo};
1097b8847e9SLin, Meng-Bo
110c310ca82SStephan Gerhold&blsp_uart2 {
1110fbf49b3SLin, Meng-Bo	status = "okay";
1120fbf49b3SLin, Meng-Bo};
1130fbf49b3SLin, Meng-Bo
1140fbf49b3SLin, Meng-Bo&pm8916_resin {
1150fbf49b3SLin, Meng-Bo	linux,code = <KEY_VOLUMEDOWN>;
1160fbf49b3SLin, Meng-Bo	status = "okay";
1170fbf49b3SLin, Meng-Bo};
1180fbf49b3SLin, Meng-Bo
119b0a8f16aSStephan Gerhold&pm8916_rpm_regulators {
120b0a8f16aSStephan Gerhold	pm8916_l16: l16 {
121b0a8f16aSStephan Gerhold		regulator-min-microvolt = <2900000>;
122b0a8f16aSStephan Gerhold		regulator-max-microvolt = <2900000>;
123b0a8f16aSStephan Gerhold	};
124b0a8f16aSStephan Gerhold
125b0a8f16aSStephan Gerhold	pm8916_l17: l17 {
126b0a8f16aSStephan Gerhold		regulator-min-microvolt = <2850000>;
127b0a8f16aSStephan Gerhold		regulator-max-microvolt = <2850000>;
128b0a8f16aSStephan Gerhold	};
129b0a8f16aSStephan Gerhold};
130b0a8f16aSStephan Gerhold
1310fbf49b3SLin, Meng-Bo&pm8916_vib {
1320fbf49b3SLin, Meng-Bo	status = "okay";
1330fbf49b3SLin, Meng-Bo};
1340fbf49b3SLin, Meng-Bo
1350fbf49b3SLin, Meng-Bo&sdhc_1 {
1360fbf49b3SLin, Meng-Bo	status = "okay";
1370fbf49b3SLin, Meng-Bo};
1380fbf49b3SLin, Meng-Bo
1390fbf49b3SLin, Meng-Bo&sdhc_2 {
1400fbf49b3SLin, Meng-Bo	pinctrl-names = "default", "sleep";
141c943e4c5SStephan Gerhold	pinctrl-0 = <&sdc2_default &sdc2_cd_default>;
142c943e4c5SStephan Gerhold	pinctrl-1 = <&sdc2_sleep &sdc2_cd_default>;
1430fbf49b3SLin, Meng-Bo
14441e22c2fSStephan Gerhold	cd-gpios = <&tlmm 38 GPIO_ACTIVE_HIGH>;
1450fbf49b3SLin, Meng-Bo
1460fbf49b3SLin, Meng-Bo	status = "okay";
1470fbf49b3SLin, Meng-Bo};
1480fbf49b3SLin, Meng-Bo
1490fbf49b3SLin, Meng-Bo&usb {
1500fbf49b3SLin, Meng-Bo	extcon = <&usb_id>, <&usb_id>;
1510fbf49b3SLin, Meng-Bo	status = "okay";
1520fbf49b3SLin, Meng-Bo};
1530fbf49b3SLin, Meng-Bo
1540fbf49b3SLin, Meng-Bo&usb_hs_phy {
1550fbf49b3SLin, Meng-Bo	extcon = <&usb_id>;
1560fbf49b3SLin, Meng-Bo};
1570fbf49b3SLin, Meng-Bo
15832444424SStephan Gerhold&wcnss {
15932444424SStephan Gerhold	status = "okay";
16032444424SStephan Gerhold};
16132444424SStephan Gerhold
16232444424SStephan Gerhold&wcnss_iris {
16332444424SStephan Gerhold	compatible = "qcom,wcn3620";
16432444424SStephan Gerhold};
16532444424SStephan Gerhold
16641e22c2fSStephan Gerhold&tlmm {
16785e0a0f8SLin, Meng-Bo	accel_int_default: accel-int-default-state {
16885e0a0f8SLin, Meng-Bo		pins = "gpio115";
16985e0a0f8SLin, Meng-Bo		function = "gpio";
17085e0a0f8SLin, Meng-Bo
17185e0a0f8SLin, Meng-Bo		drive-strength = <2>;
17285e0a0f8SLin, Meng-Bo		bias-disable;
17385e0a0f8SLin, Meng-Bo	};
17485e0a0f8SLin, Meng-Bo
1750fbf49b3SLin, Meng-Bo	gpio_keys_default: gpio-keys-default-state {
1760fbf49b3SLin, Meng-Bo		pins = "gpio107";
1770fbf49b3SLin, Meng-Bo		function = "gpio";
1780fbf49b3SLin, Meng-Bo
1790fbf49b3SLin, Meng-Bo		drive-strength = <2>;
1800fbf49b3SLin, Meng-Bo		bias-pull-up;
1810fbf49b3SLin, Meng-Bo	};
1820fbf49b3SLin, Meng-Bo
183dfbda20dSStephan Gerhold	sdc2_cd_default: sdc2-cd-default-state {
184dfbda20dSStephan Gerhold		pins = "gpio38";
185dfbda20dSStephan Gerhold		function = "gpio";
186dfbda20dSStephan Gerhold		drive-strength = <2>;
187dfbda20dSStephan Gerhold		bias-disable;
188dfbda20dSStephan Gerhold	};
189dfbda20dSStephan Gerhold
1907b8847e9SLin, Meng-Bo	touchscreen_default: touchscreen-default-state {
1917b8847e9SLin, Meng-Bo		reset-pins {
1927b8847e9SLin, Meng-Bo			pins = "gpio12";
1937b8847e9SLin, Meng-Bo			function = "gpio";
1947b8847e9SLin, Meng-Bo			drive-strength = <2>;
1957b8847e9SLin, Meng-Bo			bias-disable;
1967b8847e9SLin, Meng-Bo		};
1977b8847e9SLin, Meng-Bo
1987b8847e9SLin, Meng-Bo		touchscreen-pins {
1997b8847e9SLin, Meng-Bo			pins = "gpio13";
2007b8847e9SLin, Meng-Bo			function = "gpio";
2017b8847e9SLin, Meng-Bo			drive-strength = <2>;
2027b8847e9SLin, Meng-Bo			bias-pull-up;
2037b8847e9SLin, Meng-Bo		};
2047b8847e9SLin, Meng-Bo	};
2057b8847e9SLin, Meng-Bo
2060fbf49b3SLin, Meng-Bo	usb_id_default: usb-id-default-state {
2070fbf49b3SLin, Meng-Bo		pins = "gpio110";
2080fbf49b3SLin, Meng-Bo		function = "gpio";
2090fbf49b3SLin, Meng-Bo
2100fbf49b3SLin, Meng-Bo		drive-strength = <8>;
2110fbf49b3SLin, Meng-Bo		bias-pull-up;
2120fbf49b3SLin, Meng-Bo	};
2130fbf49b3SLin, Meng-Bo};
214