1// SPDX-License-Identifier: GPL-2.0-only 2 3/dts-v1/; 4 5#include "msm8916-pm8916.dtsi" 6 7#include <dt-bindings/gpio/gpio.h> 8#include <dt-bindings/input/input.h> 9#include <dt-bindings/interrupt-controller/irq.h> 10 11/* 12 * NOTE: The original firmware from Acer can only boot 32-bit kernels. 13 * To boot this device tree using arm64 it is necessary to flash 64-bit 14 * TZ/HYP firmware (e.g. taken from the DragonBoard 410c). 15 * See https://wiki.postmarketos.org/wiki/Acer_Iconia_Talk_S_(acer-a1-724) 16 * for suggested installation instructions. 17 */ 18 19/ { 20 model = "Acer Iconia Talk S A1-724"; 21 compatible = "acer,a1-724", "qcom,msm8916"; 22 chassis-type = "tablet"; 23 24 aliases { 25 serial0 = &blsp_uart2; 26 }; 27 28 chosen { 29 stdout-path = "serial0"; 30 }; 31 32 gpio-keys { 33 compatible = "gpio-keys"; 34 35 pinctrl-names = "default"; 36 pinctrl-0 = <&gpio_keys_default>; 37 38 label = "GPIO Buttons"; 39 40 button-volume-up { 41 label = "Volume Up"; 42 gpios = <&tlmm 107 GPIO_ACTIVE_LOW>; 43 linux,code = <KEY_VOLUMEUP>; 44 }; 45 }; 46 47 usb_id: usb-id { 48 compatible = "linux,extcon-usb-gpio"; 49 id-gpio = <&tlmm 110 GPIO_ACTIVE_HIGH>; 50 pinctrl-names = "default"; 51 pinctrl-0 = <&usb_id_default>; 52 }; 53}; 54 55&blsp_i2c2 { 56 status = "okay"; 57 58 accelerometer@10 { 59 compatible = "bosch,bmc150_accel"; 60 reg = <0x10>; 61 interrupt-parent = <&tlmm>; 62 interrupts = <115 IRQ_TYPE_EDGE_RISING>; 63 64 vdd-supply = <&pm8916_l17>; 65 vddio-supply = <&pm8916_l6>; 66 67 pinctrl-names = "default"; 68 pinctrl-0 = <&accel_int_default>; 69 70 mount-matrix = "0", "-1", "0", 71 "-1", "0", "0", 72 "0", "0", "1"; 73 }; 74 75 magnetometer@12 { 76 compatible = "bosch,bmc150_magn"; 77 reg = <0x12>; 78 79 vdd-supply = <&pm8916_l17>; 80 vddio-supply = <&pm8916_l6>; 81 }; 82}; 83 84&blsp_i2c5 { 85 status = "okay"; 86 87 touchscreen@38 { 88 /* Actually ft5446 */ 89 compatible = "edt,edt-ft5406"; 90 reg = <0x38>; 91 92 interrupt-parent = <&tlmm>; 93 interrupts = <13 IRQ_TYPE_LEVEL_LOW>; 94 95 reset-gpios = <&tlmm 12 GPIO_ACTIVE_LOW>; 96 97 vcc-supply = <&pm8916_l16>; 98 iovcc-supply = <&pm8916_l6>; 99 100 touchscreen-size-x = <720>; 101 touchscreen-size-y = <1280>; 102 103 pinctrl-names = "default"; 104 pinctrl-0 = <&touchscreen_default>; 105 }; 106}; 107 108&blsp_uart2 { 109 status = "okay"; 110}; 111 112&pm8916_resin { 113 linux,code = <KEY_VOLUMEDOWN>; 114 status = "okay"; 115}; 116 117&pm8916_rpm_regulators { 118 pm8916_l16: l16 { 119 regulator-min-microvolt = <2900000>; 120 regulator-max-microvolt = <2900000>; 121 }; 122 123 pm8916_l17: l17 { 124 regulator-min-microvolt = <2850000>; 125 regulator-max-microvolt = <2850000>; 126 }; 127}; 128 129&pm8916_vib { 130 status = "okay"; 131}; 132 133&sdhc_1 { 134 pinctrl-names = "default", "sleep"; 135 pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>; 136 pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>; 137 138 status = "okay"; 139}; 140 141&sdhc_2 { 142 pinctrl-names = "default", "sleep"; 143 pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on>; 144 pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off>; 145 146 cd-gpios = <&tlmm 38 GPIO_ACTIVE_HIGH>; 147 148 status = "okay"; 149}; 150 151&usb { 152 extcon = <&usb_id>, <&usb_id>; 153 status = "okay"; 154}; 155 156&usb_hs_phy { 157 extcon = <&usb_id>; 158}; 159 160&wcnss { 161 status = "okay"; 162}; 163 164&wcnss_iris { 165 compatible = "qcom,wcn3620"; 166}; 167 168&tlmm { 169 accel_int_default: accel-int-default-state { 170 pins = "gpio115"; 171 function = "gpio"; 172 173 drive-strength = <2>; 174 bias-disable; 175 }; 176 177 gpio_keys_default: gpio-keys-default-state { 178 pins = "gpio107"; 179 function = "gpio"; 180 181 drive-strength = <2>; 182 bias-pull-up; 183 }; 184 185 touchscreen_default: touchscreen-default-state { 186 reset-pins { 187 pins = "gpio12"; 188 function = "gpio"; 189 drive-strength = <2>; 190 bias-disable; 191 }; 192 193 touchscreen-pins { 194 pins = "gpio13"; 195 function = "gpio"; 196 drive-strength = <2>; 197 bias-pull-up; 198 }; 199 }; 200 201 usb_id_default: usb-id-default-state { 202 pins = "gpio110"; 203 function = "gpio"; 204 205 drive-strength = <8>; 206 bias-pull-up; 207 }; 208}; 209