1 // SPDX-License-Identifier: GPL-2.0-only 1 // SPDX-License-Identifier: GPL-2.0-only 2 2 3 /dts-v1/; 3 /dts-v1/; 4 4 5 #include "msm8916-pm8916.dtsi" 5 #include "msm8916-pm8916.dtsi" 6 #include "msm8916-modem-qdsp6.dtsi" 6 #include "msm8916-modem-qdsp6.dtsi" 7 7 8 #include <dt-bindings/gpio/gpio.h> 8 #include <dt-bindings/gpio/gpio.h> 9 #include <dt-bindings/input/input.h> 9 #include <dt-bindings/input/input.h> 10 #include <dt-bindings/interrupt-controller/irq 10 #include <dt-bindings/interrupt-controller/irq.h> 11 #include <dt-bindings/leds/common.h> 11 #include <dt-bindings/leds/common.h> 12 12 13 /* 13 /* 14 * NOTE: The original firmware from Acer can o 14 * NOTE: The original firmware from Acer can only boot 32-bit kernels. 15 * To boot this device tree using arm64 it is 15 * To boot this device tree using arm64 it is necessary to flash 64-bit 16 * TZ/HYP firmware (e.g. taken from the Dragon 16 * TZ/HYP firmware (e.g. taken from the DragonBoard 410c). 17 * See https://wiki.postmarketos.org/wiki/Acer 17 * See https://wiki.postmarketos.org/wiki/Acer_Iconia_Talk_S_(acer-a1-724) 18 * for suggested installation instructions. 18 * for suggested installation instructions. 19 */ 19 */ 20 20 21 / { 21 / { 22 model = "Acer Iconia Talk S A1-724"; 22 model = "Acer Iconia Talk S A1-724"; 23 compatible = "acer,a1-724", "qcom,msm8 23 compatible = "acer,a1-724", "qcom,msm8916"; 24 chassis-type = "tablet"; 24 chassis-type = "tablet"; 25 25 26 aliases { 26 aliases { 27 mmc0 = &sdhc_1; /* eMMC */ 27 mmc0 = &sdhc_1; /* eMMC */ 28 mmc1 = &sdhc_2; /* SD card */ 28 mmc1 = &sdhc_2; /* SD card */ 29 serial0 = &blsp_uart2; 29 serial0 = &blsp_uart2; 30 }; 30 }; 31 31 32 chosen { 32 chosen { 33 stdout-path = "serial0"; 33 stdout-path = "serial0"; 34 }; 34 }; 35 35 36 gpio-keys { 36 gpio-keys { 37 compatible = "gpio-keys"; 37 compatible = "gpio-keys"; 38 38 39 pinctrl-names = "default"; 39 pinctrl-names = "default"; 40 pinctrl-0 = <&gpio_keys_defaul 40 pinctrl-0 = <&gpio_keys_default>; 41 41 42 label = "GPIO Buttons"; 42 label = "GPIO Buttons"; 43 43 44 button-volume-up { 44 button-volume-up { 45 label = "Volume Up"; 45 label = "Volume Up"; 46 gpios = <&tlmm 107 GPI 46 gpios = <&tlmm 107 GPIO_ACTIVE_LOW>; 47 linux,code = <KEY_VOLU 47 linux,code = <KEY_VOLUMEUP>; 48 }; 48 }; 49 }; 49 }; 50 50 51 usb_id: usb-id { 51 usb_id: usb-id { 52 compatible = "linux,extcon-usb 52 compatible = "linux,extcon-usb-gpio"; 53 id-gpios = <&tlmm 110 GPIO_ACT 53 id-gpios = <&tlmm 110 GPIO_ACTIVE_HIGH>; 54 pinctrl-names = "default"; 54 pinctrl-names = "default"; 55 pinctrl-0 = <&usb_id_default>; 55 pinctrl-0 = <&usb_id_default>; 56 }; 56 }; 57 }; 57 }; 58 58 59 &blsp_i2c2 { 59 &blsp_i2c2 { 60 status = "okay"; 60 status = "okay"; 61 61 62 accelerometer@10 { 62 accelerometer@10 { 63 compatible = "bosch,bmc150_acc 63 compatible = "bosch,bmc150_accel"; 64 reg = <0x10>; 64 reg = <0x10>; 65 interrupt-parent = <&tlmm>; 65 interrupt-parent = <&tlmm>; 66 interrupts = <115 IRQ_TYPE_EDG 66 interrupts = <115 IRQ_TYPE_EDGE_RISING>; 67 67 68 vdd-supply = <&pm8916_l17>; 68 vdd-supply = <&pm8916_l17>; 69 vddio-supply = <&pm8916_l6>; 69 vddio-supply = <&pm8916_l6>; 70 70 71 pinctrl-names = "default"; 71 pinctrl-names = "default"; 72 pinctrl-0 = <&accel_int_defaul 72 pinctrl-0 = <&accel_int_default>; 73 73 74 mount-matrix = "0", "-1", "0", 74 mount-matrix = "0", "-1", "0", 75 "-1", "0", "0", 75 "-1", "0", "0", 76 "0", "0", "1"; 76 "0", "0", "1"; 77 }; 77 }; 78 78 79 magnetometer@12 { 79 magnetometer@12 { 80 compatible = "bosch,bmc150_mag 80 compatible = "bosch,bmc150_magn"; 81 reg = <0x12>; 81 reg = <0x12>; 82 82 83 vdd-supply = <&pm8916_l17>; 83 vdd-supply = <&pm8916_l17>; 84 vddio-supply = <&pm8916_l6>; 84 vddio-supply = <&pm8916_l6>; 85 }; 85 }; 86 }; 86 }; 87 87 88 &blsp_i2c4 { 88 &blsp_i2c4 { 89 status = "okay"; 89 status = "okay"; 90 90 91 led-controller@30 { 91 led-controller@30 { 92 compatible = "kinetic,ktd2026" 92 compatible = "kinetic,ktd2026"; 93 reg = <0x30>; 93 reg = <0x30>; 94 #address-cells = <1>; 94 #address-cells = <1>; 95 #size-cells = <0>; 95 #size-cells = <0>; 96 96 97 led@0 { 97 led@0 { 98 reg = <0>; 98 reg = <0>; 99 function = LED_FUNCTIO 99 function = LED_FUNCTION_STATUS; 100 color = <LED_COLOR_ID_ 100 color = <LED_COLOR_ID_RED>; 101 }; 101 }; 102 102 103 led@1 { 103 led@1 { 104 reg = <1>; 104 reg = <1>; 105 function = LED_FUNCTIO 105 function = LED_FUNCTION_STATUS; 106 color = <LED_COLOR_ID_ 106 color = <LED_COLOR_ID_GREEN>; 107 }; 107 }; 108 }; 108 }; 109 }; 109 }; 110 110 111 &blsp_i2c5 { 111 &blsp_i2c5 { 112 status = "okay"; 112 status = "okay"; 113 113 114 touchscreen@38 { 114 touchscreen@38 { 115 /* Actually ft5446 */ 115 /* Actually ft5446 */ 116 compatible = "edt,edt-ft5406"; 116 compatible = "edt,edt-ft5406"; 117 reg = <0x38>; 117 reg = <0x38>; 118 118 119 interrupt-parent = <&tlmm>; 119 interrupt-parent = <&tlmm>; 120 interrupts = <13 IRQ_TYPE_LEVE 120 interrupts = <13 IRQ_TYPE_LEVEL_LOW>; 121 121 122 reset-gpios = <&tlmm 12 GPIO_A 122 reset-gpios = <&tlmm 12 GPIO_ACTIVE_LOW>; 123 123 124 vcc-supply = <&pm8916_l16>; 124 vcc-supply = <&pm8916_l16>; 125 iovcc-supply = <&pm8916_l6>; 125 iovcc-supply = <&pm8916_l6>; 126 126 127 touchscreen-size-x = <720>; 127 touchscreen-size-x = <720>; 128 touchscreen-size-y = <1280>; 128 touchscreen-size-y = <1280>; 129 129 130 pinctrl-names = "default"; 130 pinctrl-names = "default"; 131 pinctrl-0 = <&touchscreen_defa 131 pinctrl-0 = <&touchscreen_default>; 132 }; 132 }; 133 }; 133 }; 134 134 135 &blsp_uart2 { 135 &blsp_uart2 { 136 status = "okay"; 136 status = "okay"; 137 }; 137 }; 138 138 139 &mpss_mem { 139 &mpss_mem { 140 reg = <0x0 0x86800000 0x0 0x4500000>; 140 reg = <0x0 0x86800000 0x0 0x4500000>; 141 }; 141 }; 142 142 143 &pm8916_codec { 143 &pm8916_codec { 144 qcom,micbias-lvl = <2800>; 144 qcom,micbias-lvl = <2800>; 145 qcom,mbhc-vthreshold-low = <150 237 45 145 qcom,mbhc-vthreshold-low = <150 237 450 500 590>; 146 qcom,mbhc-vthreshold-high = <150 237 4 146 qcom,mbhc-vthreshold-high = <150 237 450 500 590>; 147 qcom,hphl-jack-type-normally-open; 147 qcom,hphl-jack-type-normally-open; 148 }; 148 }; 149 149 150 &pm8916_resin { 150 &pm8916_resin { 151 linux,code = <KEY_VOLUMEDOWN>; 151 linux,code = <KEY_VOLUMEDOWN>; 152 status = "okay"; 152 status = "okay"; 153 }; 153 }; 154 154 155 &pm8916_rpm_regulators { 155 &pm8916_rpm_regulators { 156 pm8916_l16: l16 { 156 pm8916_l16: l16 { 157 regulator-min-microvolt = <290 157 regulator-min-microvolt = <2900000>; 158 regulator-max-microvolt = <290 158 regulator-max-microvolt = <2900000>; 159 }; 159 }; 160 160 161 pm8916_l17: l17 { 161 pm8916_l17: l17 { 162 regulator-min-microvolt = <285 162 regulator-min-microvolt = <2850000>; 163 regulator-max-microvolt = <285 163 regulator-max-microvolt = <2850000>; 164 }; 164 }; 165 }; 165 }; 166 166 167 &pm8916_vib { 167 &pm8916_vib { 168 status = "okay"; 168 status = "okay"; 169 }; 169 }; 170 170 171 &sdhc_1 { 171 &sdhc_1 { 172 status = "okay"; 172 status = "okay"; 173 }; 173 }; 174 174 175 &sdhc_2 { 175 &sdhc_2 { 176 pinctrl-names = "default", "sleep"; 176 pinctrl-names = "default", "sleep"; 177 pinctrl-0 = <&sdc2_default &sdc2_cd_de 177 pinctrl-0 = <&sdc2_default &sdc2_cd_default>; 178 pinctrl-1 = <&sdc2_sleep &sdc2_cd_defa 178 pinctrl-1 = <&sdc2_sleep &sdc2_cd_default>; 179 179 180 cd-gpios = <&tlmm 38 GPIO_ACTIVE_HIGH> 180 cd-gpios = <&tlmm 38 GPIO_ACTIVE_HIGH>; 181 181 182 status = "okay"; 182 status = "okay"; 183 }; 183 }; 184 184 185 &sound { 185 &sound { 186 model = "acer-a1-724"; 186 model = "acer-a1-724"; 187 audio-routing = 187 audio-routing = 188 "DMIC1", "MIC BIAS External1", 188 "DMIC1", "MIC BIAS External1", 189 "DMIC1", "Digital Mic1", 189 "DMIC1", "Digital Mic1", 190 "AMIC2", "MIC BIAS Internal2", 190 "AMIC2", "MIC BIAS Internal2", 191 "DMIC2", "MIC BIAS External1", 191 "DMIC2", "MIC BIAS External1", 192 "DMIC2", "Digital Mic2"; 192 "DMIC2", "Digital Mic2"; 193 193 194 pinctrl-0 = <&cdc_pdm_default &sec_mi2 194 pinctrl-0 = <&cdc_pdm_default &sec_mi2s_default &pri_mi2s_mclk_default &cdc_dmic_default>; 195 pinctrl-1 = <&cdc_pdm_sleep &sec_mi2s_ 195 pinctrl-1 = <&cdc_pdm_sleep &sec_mi2s_sleep &pri_mi2s_mclk_sleep &cdc_dmic_sleep>; 196 pinctrl-names = "default", "sleep"; 196 pinctrl-names = "default", "sleep"; 197 }; 197 }; 198 198 199 &usb { 199 &usb { 200 extcon = <&usb_id>, <&usb_id>; 200 extcon = <&usb_id>, <&usb_id>; 201 status = "okay"; 201 status = "okay"; 202 }; 202 }; 203 203 204 &usb_hs_phy { 204 &usb_hs_phy { 205 extcon = <&usb_id>; 205 extcon = <&usb_id>; 206 }; 206 }; 207 207 208 &venus { 208 &venus { 209 status = "okay"; 209 status = "okay"; 210 }; 210 }; 211 211 212 &venus_mem { 212 &venus_mem { 213 status = "okay"; 213 status = "okay"; 214 }; 214 }; 215 215 216 &wcnss { 216 &wcnss { 217 status = "okay"; 217 status = "okay"; 218 }; 218 }; 219 219 220 &wcnss_iris { 220 &wcnss_iris { 221 compatible = "qcom,wcn3620"; 221 compatible = "qcom,wcn3620"; 222 }; 222 }; 223 223 224 &wcnss_mem { 224 &wcnss_mem { 225 status = "okay"; 225 status = "okay"; 226 }; 226 }; 227 227 228 &tlmm { 228 &tlmm { 229 accel_int_default: accel-int-default-s 229 accel_int_default: accel-int-default-state { 230 pins = "gpio115"; 230 pins = "gpio115"; 231 function = "gpio"; 231 function = "gpio"; 232 232 233 drive-strength = <2>; 233 drive-strength = <2>; 234 bias-disable; 234 bias-disable; 235 }; 235 }; 236 236 237 gpio_keys_default: gpio-keys-default-s 237 gpio_keys_default: gpio-keys-default-state { 238 pins = "gpio107"; 238 pins = "gpio107"; 239 function = "gpio"; 239 function = "gpio"; 240 240 241 drive-strength = <2>; 241 drive-strength = <2>; 242 bias-pull-up; 242 bias-pull-up; 243 }; 243 }; 244 244 245 sdc2_cd_default: sdc2-cd-default-state 245 sdc2_cd_default: sdc2-cd-default-state { 246 pins = "gpio38"; 246 pins = "gpio38"; 247 function = "gpio"; 247 function = "gpio"; 248 drive-strength = <2>; 248 drive-strength = <2>; 249 bias-disable; 249 bias-disable; 250 }; 250 }; 251 251 252 touchscreen_default: touchscreen-defau 252 touchscreen_default: touchscreen-default-state { 253 reset-pins { 253 reset-pins { 254 pins = "gpio12"; 254 pins = "gpio12"; 255 function = "gpio"; 255 function = "gpio"; 256 drive-strength = <2>; 256 drive-strength = <2>; 257 bias-disable; 257 bias-disable; 258 }; 258 }; 259 259 260 touchscreen-pins { 260 touchscreen-pins { 261 pins = "gpio13"; 261 pins = "gpio13"; 262 function = "gpio"; 262 function = "gpio"; 263 drive-strength = <2>; 263 drive-strength = <2>; 264 bias-pull-up; 264 bias-pull-up; 265 }; 265 }; 266 }; 266 }; 267 267 268 usb_id_default: usb-id-default-state { 268 usb_id_default: usb-id-default-state { 269 pins = "gpio110"; 269 pins = "gpio110"; 270 function = "gpio"; 270 function = "gpio"; 271 271 272 drive-strength = <8>; 272 drive-strength = <8>; 273 bias-pull-up; 273 bias-pull-up; 274 }; 274 }; 275 }; 275 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.