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 = &blsp1_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 = <&msmgpio 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 = <&msmgpio 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 = <&msmgpio>; 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 = <&msmgpio>; 93 interrupts = <13 IRQ_TYPE_LEVEL_LOW>; 94 95 reset-gpios = <&msmgpio 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&blsp1_uart2 { 109 status = "okay"; 110}; 111 112&pm8916_resin { 113 linux,code = <KEY_VOLUMEDOWN>; 114 status = "okay"; 115}; 116 117&pm8916_vib { 118 status = "okay"; 119}; 120 121&sdhc_1 { 122 pinctrl-names = "default", "sleep"; 123 pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>; 124 pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>; 125 126 status = "okay"; 127}; 128 129&sdhc_2 { 130 pinctrl-names = "default", "sleep"; 131 pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on>; 132 pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off>; 133 134 cd-gpios = <&msmgpio 38 GPIO_ACTIVE_HIGH>; 135 136 status = "okay"; 137}; 138 139&usb { 140 extcon = <&usb_id>, <&usb_id>; 141 status = "okay"; 142}; 143 144&usb_hs_phy { 145 extcon = <&usb_id>; 146}; 147 148&wcnss { 149 status = "okay"; 150}; 151 152&wcnss_iris { 153 compatible = "qcom,wcn3620"; 154}; 155 156&smd_rpm_regulators { 157 vdd_l1_l2_l3-supply = <&pm8916_s3>; 158 vdd_l4_l5_l6-supply = <&pm8916_s4>; 159 vdd_l7-supply = <&pm8916_s4>; 160 161 s3 { 162 regulator-min-microvolt = <1200000>; 163 regulator-max-microvolt = <1300000>; 164 }; 165 166 s4 { 167 regulator-min-microvolt = <1800000>; 168 regulator-max-microvolt = <2100000>; 169 }; 170 171 l1 { 172 regulator-min-microvolt = <1225000>; 173 regulator-max-microvolt = <1225000>; 174 }; 175 176 l2 { 177 regulator-min-microvolt = <1200000>; 178 regulator-max-microvolt = <1200000>; 179 }; 180 181 l4 { 182 regulator-min-microvolt = <2050000>; 183 regulator-max-microvolt = <2050000>; 184 }; 185 186 l5 { 187 regulator-min-microvolt = <1800000>; 188 regulator-max-microvolt = <1800000>; 189 }; 190 191 l6 { 192 regulator-min-microvolt = <1800000>; 193 regulator-max-microvolt = <1800000>; 194 }; 195 196 l7 { 197 regulator-min-microvolt = <1800000>; 198 regulator-max-microvolt = <1800000>; 199 }; 200 201 l8 { 202 regulator-min-microvolt = <2850000>; 203 regulator-max-microvolt = <2900000>; 204 }; 205 206 l9 { 207 regulator-min-microvolt = <3300000>; 208 regulator-max-microvolt = <3300000>; 209 }; 210 211 l10 { 212 regulator-min-microvolt = <2700000>; 213 regulator-max-microvolt = <2800000>; 214 }; 215 216 l11 { 217 regulator-min-microvolt = <1800000>; 218 regulator-max-microvolt = <2950000>; 219 regulator-system-load = <200000>; 220 regulator-allow-set-load; 221 }; 222 223 l12 { 224 regulator-min-microvolt = <1800000>; 225 regulator-max-microvolt = <2950000>; 226 }; 227 228 l13 { 229 regulator-min-microvolt = <3075000>; 230 regulator-max-microvolt = <3075000>; 231 }; 232 233 l14 { 234 regulator-min-microvolt = <1800000>; 235 regulator-max-microvolt = <3300000>; 236 }; 237 238 l15 { 239 regulator-min-microvolt = <1800000>; 240 regulator-max-microvolt = <3300000>; 241 }; 242 243 l16 { 244 regulator-min-microvolt = <2900000>; 245 regulator-max-microvolt = <2900000>; 246 }; 247 248 l17 { 249 regulator-min-microvolt = <2850000>; 250 regulator-max-microvolt = <2850000>; 251 }; 252 253 l18 { 254 regulator-min-microvolt = <2700000>; 255 regulator-max-microvolt = <2700000>; 256 }; 257}; 258 259&msmgpio { 260 accel_int_default: accel-int-default-state { 261 pins = "gpio115"; 262 function = "gpio"; 263 264 drive-strength = <2>; 265 bias-disable; 266 }; 267 268 gpio_keys_default: gpio-keys-default-state { 269 pins = "gpio107"; 270 function = "gpio"; 271 272 drive-strength = <2>; 273 bias-pull-up; 274 }; 275 276 touchscreen_default: touchscreen-default-state { 277 reset-pins { 278 pins = "gpio12"; 279 function = "gpio"; 280 drive-strength = <2>; 281 bias-disable; 282 }; 283 284 touchscreen-pins { 285 pins = "gpio13"; 286 function = "gpio"; 287 drive-strength = <2>; 288 bias-pull-up; 289 }; 290 }; 291 292 usb_id_default: usb-id-default-state { 293 pins = "gpio110"; 294 function = "gpio"; 295 296 drive-strength = <8>; 297 bias-pull-up; 298 }; 299}; 300