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 mmc0 = &sdhc_1; /* eMMC */ 26 mmc1 = &sdhc_2; /* SD card */ 27 serial0 = &blsp_uart2; 28 }; 29 30 chosen { 31 stdout-path = "serial0"; 32 }; 33 34 gpio-keys { 35 compatible = "gpio-keys"; 36 37 pinctrl-names = "default"; 38 pinctrl-0 = <&gpio_keys_default>; 39 40 label = "GPIO Buttons"; 41 42 button-volume-up { 43 label = "Volume Up"; 44 gpios = <&tlmm 107 GPIO_ACTIVE_LOW>; 45 linux,code = <KEY_VOLUMEUP>; 46 }; 47 }; 48 49 usb_id: usb-id { 50 compatible = "linux,extcon-usb-gpio"; 51 id-gpios = <&tlmm 110 GPIO_ACTIVE_HIGH>; 52 pinctrl-names = "default"; 53 pinctrl-0 = <&usb_id_default>; 54 }; 55}; 56 57&blsp_i2c2 { 58 status = "okay"; 59 60 accelerometer@10 { 61 compatible = "bosch,bmc150_accel"; 62 reg = <0x10>; 63 interrupt-parent = <&tlmm>; 64 interrupts = <115 IRQ_TYPE_EDGE_RISING>; 65 66 vdd-supply = <&pm8916_l17>; 67 vddio-supply = <&pm8916_l6>; 68 69 pinctrl-names = "default"; 70 pinctrl-0 = <&accel_int_default>; 71 72 mount-matrix = "0", "-1", "0", 73 "-1", "0", "0", 74 "0", "0", "1"; 75 }; 76 77 magnetometer@12 { 78 compatible = "bosch,bmc150_magn"; 79 reg = <0x12>; 80 81 vdd-supply = <&pm8916_l17>; 82 vddio-supply = <&pm8916_l6>; 83 }; 84}; 85 86&blsp_i2c5 { 87 status = "okay"; 88 89 touchscreen@38 { 90 /* Actually ft5446 */ 91 compatible = "edt,edt-ft5406"; 92 reg = <0x38>; 93 94 interrupt-parent = <&tlmm>; 95 interrupts = <13 IRQ_TYPE_LEVEL_LOW>; 96 97 reset-gpios = <&tlmm 12 GPIO_ACTIVE_LOW>; 98 99 vcc-supply = <&pm8916_l16>; 100 iovcc-supply = <&pm8916_l6>; 101 102 touchscreen-size-x = <720>; 103 touchscreen-size-y = <1280>; 104 105 pinctrl-names = "default"; 106 pinctrl-0 = <&touchscreen_default>; 107 }; 108}; 109 110&blsp_uart2 { 111 status = "okay"; 112}; 113 114&pm8916_resin { 115 linux,code = <KEY_VOLUMEDOWN>; 116 status = "okay"; 117}; 118 119&pm8916_rpm_regulators { 120 pm8916_l16: l16 { 121 regulator-min-microvolt = <2900000>; 122 regulator-max-microvolt = <2900000>; 123 }; 124 125 pm8916_l17: l17 { 126 regulator-min-microvolt = <2850000>; 127 regulator-max-microvolt = <2850000>; 128 }; 129}; 130 131&pm8916_vib { 132 status = "okay"; 133}; 134 135&sdhc_1 { 136 status = "okay"; 137}; 138 139&sdhc_2 { 140 pinctrl-names = "default", "sleep"; 141 pinctrl-0 = <&sdc2_default &sdc2_cd_default>; 142 pinctrl-1 = <&sdc2_sleep &sdc2_cd_default>; 143 144 cd-gpios = <&tlmm 38 GPIO_ACTIVE_HIGH>; 145 146 status = "okay"; 147}; 148 149&usb { 150 extcon = <&usb_id>, <&usb_id>; 151 status = "okay"; 152}; 153 154&usb_hs_phy { 155 extcon = <&usb_id>; 156}; 157 158&wcnss { 159 status = "okay"; 160}; 161 162&wcnss_iris { 163 compatible = "qcom,wcn3620"; 164}; 165 166&tlmm { 167 accel_int_default: accel-int-default-state { 168 pins = "gpio115"; 169 function = "gpio"; 170 171 drive-strength = <2>; 172 bias-disable; 173 }; 174 175 gpio_keys_default: gpio-keys-default-state { 176 pins = "gpio107"; 177 function = "gpio"; 178 179 drive-strength = <2>; 180 bias-pull-up; 181 }; 182 183 sdc2_cd_default: sdc2-cd-default-state { 184 pins = "gpio38"; 185 function = "gpio"; 186 drive-strength = <2>; 187 bias-disable; 188 }; 189 190 touchscreen_default: touchscreen-default-state { 191 reset-pins { 192 pins = "gpio12"; 193 function = "gpio"; 194 drive-strength = <2>; 195 bias-disable; 196 }; 197 198 touchscreen-pins { 199 pins = "gpio13"; 200 function = "gpio"; 201 drive-strength = <2>; 202 bias-pull-up; 203 }; 204 }; 205 206 usb_id_default: usb-id-default-state { 207 pins = "gpio110"; 208 function = "gpio"; 209 210 drive-strength = <8>; 211 bias-pull-up; 212 }; 213}; 214