1// SPDX-License-Identifier: BSD-3-Clause 2/* 3 * Copyright (c) 2022, Danila Tikhonov <JIaxyga@protonmail.com> 4 * Copyright (c) 2022, Anton Bambura <jenneron@protonmail.com> 5 */ 6/dts-v1/; 7 8#include "msm8953.dtsi" 9#include "pm8953.dtsi" 10#include "pmi8950.dtsi" 11#include <dt-bindings/leds/common.h> 12 13/delete-node/ &adsp_fw_mem; 14/delete-node/ &qseecom_mem; 15/delete-node/ &wcnss_fw_mem; 16 17/ { 18 model = "Xiaomi Mi A1"; 19 compatible = "xiaomi,tissot", "qcom,msm8953"; 20 chassis-type = "handset"; 21 qcom,msm-id = <293 0>; 22 qcom,board-id = <0x1000b 0x00>; 23 24 gpio-keys { 25 compatible = "gpio-keys"; 26 27 pinctrl-names = "default"; 28 pinctrl-0 = <&gpio_key_default>, <&gpio_hall_sensor_default>; 29 30 event-hall-sensor { 31 label = "Hall Effect Sensor"; 32 gpios = <&tlmm 44 GPIO_ACTIVE_LOW>; 33 linux,input-type = <EV_SW>; 34 linux,code = <SW_LID>; 35 linux,can-disable; 36 }; 37 38 key-volume-up { 39 label = "Volume Up"; 40 gpios = <&tlmm 85 GPIO_ACTIVE_LOW>; 41 linux,code = <KEY_VOLUMEUP>; 42 }; 43 }; 44 45 reserved-memory { 46 qseecom_mem: qseecom@84a00000 { 47 reg = <0x0 0x84a00000 0x0 0x1900000>; 48 no-map; 49 }; 50 51 adsp_fw_mem: adsp@8d600000 { 52 reg = <0x0 0x8d600000 0x0 0x1200000>; 53 no-map; 54 }; 55 56 wcnss_fw_mem: wcnss@8e800000 { 57 reg = <0x0 0x8e800000 0x0 0x700000>; 58 no-map; 59 }; 60 61 ramoops@9ff00000 { 62 compatible = "ramoops"; 63 reg = <0x0 0x9ff00000 0x0 0x00100000>; 64 record-size = <0x1000>; 65 console-size = <0x80000>; 66 ftrace-size = <0x1000>; 67 pmsg-size = <0x8000>; 68 }; 69 }; 70 71 vph_pwr: vph-pwr-regulator { 72 compatible = "regulator-fixed"; 73 regulator-name = "vph_pwr"; 74 regulator-always-on; 75 regulator-boot-on; 76 }; 77}; 78 79&hsusb_phy { 80 vdd-supply = <&pm8953_l3>; 81 vdda-pll-supply = <&pm8953_l7>; 82 vdda-phy-dpdm-supply = <&pm8953_l13>; 83 84 status = "okay"; 85}; 86 87&i2c_2 { 88 status = "okay"; 89 90 max98927_codec: audio-codec@3a { 91 compatible = "maxim,max98927"; 92 reg = <0x3a>; 93 94 reset-gpios = <&tlmm 86 GPIO_ACTIVE_LOW>; 95 96 vmon-slot-no = <1>; 97 imon-slot-no = <1>; 98 99 #sound-dai-cells = <0>; 100 }; 101 102 led-controller@45 { 103 compatible = "awinic,aw2013"; 104 reg = <0x45>; 105 106 vcc-supply = <&pm8953_l10>; 107 vio-supply = <&pm8953_l5>; 108 109 #address-cells = <1>; 110 #size-cells = <0>; 111 112 led@0 { 113 reg = <0>; 114 led-max-microamp = <5000>; 115 function = LED_FUNCTION_INDICATOR; 116 color = <LED_COLOR_ID_WHITE>; 117 }; 118 }; 119}; 120 121&i2c_3 { 122 status = "okay"; 123 124 touchscreen@38 { 125 compatible = "edt,edt-ft5406"; 126 reg = <0x38>; 127 128 interrupt-parent = <&tlmm>; 129 interrupts = <65 IRQ_TYPE_EDGE_FALLING>; 130 131 pinctrl-names = "default"; 132 pinctrl-0 = <&ts_int_default>; 133 134 reset-gpios = <&tlmm 64 GPIO_ACTIVE_LOW>; 135 136 vcc-supply = <&pm8953_l10>; 137 138 touchscreen-size-x = <1080>; 139 touchscreen-size-y = <1920>; 140 }; 141}; 142 143&pm8953_resin { 144 linux,code = <KEY_VOLUMEDOWN>; 145 status = "okay"; 146}; 147 148&pmi8950_wled { 149 qcom,num-strings = <2>; 150 qcom,external-pfet; 151 qcom,cabc; 152 153 status = "okay"; 154}; 155 156&rpm_requests { 157 regulators { 158 compatible = "qcom,rpm-pm8953-regulators"; 159 160 vdd_s1-supply = <&vph_pwr>; 161 vdd_s2-supply = <&vph_pwr>; 162 vdd_s3-supply = <&vph_pwr>; 163 vdd_s4-supply = <&vph_pwr>; 164 vdd_s5-supply = <&vph_pwr>; 165 vdd_s6-supply = <&vph_pwr>; 166 vdd_s7-supply = <&vph_pwr>; 167 vdd_l1-supply = <&pm8953_s3>; 168 vdd_l2_l3-supply = <&pm8953_s3>; 169 vdd_l4_l5_l6_l7_l16_l19-supply = <&pm8953_s4>; 170 vdd_l8_l11_l12_l13_l14_l15-supply = <&vph_pwr>; 171 vdd_l9_l10_l17_l18_l22-supply = <&vph_pwr>; 172 173 pm8953_s1: s1 { 174 regulator-min-microvolt = <870000>; 175 regulator-max-microvolt = <1156000>; 176 }; 177 178 pm8953_s3: s3 { 179 regulator-min-microvolt = <1224000>; 180 regulator-max-microvolt = <1224000>; 181 }; 182 183 pm8953_s4: s4 { 184 regulator-min-microvolt = <1900000>; 185 regulator-max-microvolt = <2050000>; 186 }; 187 188 pm8953_l1: l1 { 189 regulator-min-microvolt = <1000000>; 190 regulator-max-microvolt = <1000000>; 191 }; 192 193 pm8953_l2: l2 { 194 regulator-min-microvolt = <1200000>; 195 regulator-max-microvolt = <1225000>; 196 }; 197 198 pm8953_l3: l3 { 199 regulator-min-microvolt = <925000>; 200 regulator-max-microvolt = <925000>; 201 }; 202 203 pm8953_l5: l5 { 204 regulator-min-microvolt = <1800000>; 205 regulator-max-microvolt = <1800000>; 206 }; 207 208 pm8953_l6: l6 { 209 regulator-min-microvolt = <1800000>; 210 regulator-max-microvolt = <1800000>; 211 }; 212 213 pm8953_l7: l7 { 214 regulator-min-microvolt = <1800000>; 215 regulator-max-microvolt = <1900000>; 216 }; 217 218 pm8953_l8: l8 { 219 regulator-min-microvolt = <2900000>; 220 regulator-max-microvolt = <2900000>; 221 }; 222 223 pm8953_l9: l9 { 224 regulator-min-microvolt = <3300000>; 225 regulator-max-microvolt = <3300000>; 226 }; 227 228 pm8953_l10:l10 { 229 regulator-min-microvolt = <2850000>; 230 regulator-max-microvolt = <2850000>; 231 }; 232 233 pm8953_l11: l11 { 234 regulator-min-microvolt = <2950000>; 235 regulator-max-microvolt = <2950000>; 236 }; 237 238 pm8953_l12: l12 { 239 regulator-min-microvolt = <1800000>; 240 regulator-max-microvolt = <2950000>; 241 }; 242 243 pm8953_l13: l13 { 244 regulator-min-microvolt = <3125000>; 245 regulator-max-microvolt = <3125000>; 246 }; 247 248 pm8953_l16: l16 { 249 regulator-min-microvolt = <1800000>; 250 regulator-max-microvolt = <1800000>; 251 }; 252 253 pm8953_l17: l17 { 254 regulator-min-microvolt = <2750000>; 255 regulator-max-microvolt = <2850000>; 256 }; 257 258 pm8953_l19: l19 { 259 regulator-min-microvolt = <1200000>; 260 regulator-max-microvolt = <1350000>; 261 }; 262 263 pm8953_l22: l22 { 264 regulator-min-microvolt = <2800000>; 265 regulator-max-microvolt = <2800000>; 266 }; 267 268 pm8953_l23: l23 { 269 regulator-min-microvolt = <1200000>; 270 regulator-max-microvolt = <1225000>; 271 }; 272 }; 273}; 274 275&sdhc_1 { 276 vmmc-supply = <&pm8953_l8>; 277 vqmmc-supply = <&pm8953_l5>; 278 279 status = "okay"; 280}; 281 282&sdhc_2 { 283 vmmc-supply = <&pm8953_l11>; 284 vqmmc-supply = <&pm8953_l12>; 285 286 cd-gpios = <&tlmm 133 GPIO_ACTIVE_HIGH>; 287 288 pinctrl-names = "default", "sleep"; 289 pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>; 290 pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>; 291 292 status = "okay"; 293}; 294 295&tlmm { 296 gpio-reserved-ranges = <0 4>, <16 4>, <135 4>; 297 298 gpio_hall_sensor_default: gpio-hall-sensor-state { 299 pins = "gpio44"; 300 function = "gpio"; 301 drive-strength = <2>; 302 bias-pull-up; 303 }; 304 305 ts_int_default: ts-int-default-state { 306 pins = "gpio65"; 307 function = "gpio"; 308 drive-strength = <2>; 309 bias-pull-up; 310 }; 311}; 312 313&uart_0 { 314 pinctrl-names = "default"; 315 pinctrl-0 = <&uart_console_active>; 316 317 status = "okay"; 318}; 319 320&usb3 { 321 status = "okay"; 322}; 323 324&usb3_dwc3 { 325 /delete-property/ usb-role-switch; 326 dr_mode = "peripheral"; 327}; 328