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 108 #address-cells = <1>; 109 #size-cells = <0>; 110 111 led@0 { 112 reg = <0>; 113 led-max-microamp = <5000>; 114 function = LED_FUNCTION_INDICATOR; 115 color = <LED_COLOR_ID_WHITE>; 116 }; 117 }; 118}; 119 120&i2c_3 { 121 status = "okay"; 122 123 touchscreen@38 { 124 compatible = "edt,edt-ft5406"; 125 reg = <0x38>; 126 127 interrupt-parent = <&tlmm>; 128 interrupts = <65 IRQ_TYPE_EDGE_FALLING>; 129 130 pinctrl-names = "default"; 131 pinctrl-0 = <&ts_int_default>; 132 133 reset-gpios = <&tlmm 64 GPIO_ACTIVE_LOW>; 134 135 vcc-supply = <&pm8953_l10>; 136 137 touchscreen-size-x = <1080>; 138 touchscreen-size-y = <1920>; 139 }; 140}; 141 142&pm8953_resin { 143 linux,code = <KEY_VOLUMEDOWN>; 144 status = "okay"; 145}; 146 147&pmi8950_wled { 148 qcom,num-strings = <2>; 149 qcom,external-pfet; 150 qcom,cabc; 151 152 status = "okay"; 153}; 154 155&rpm_requests { 156 regulators { 157 compatible = "qcom,rpm-pm8953-regulators"; 158 159 vdd_s1-supply = <&vph_pwr>; 160 vdd_s2-supply = <&vph_pwr>; 161 vdd_s3-supply = <&vph_pwr>; 162 vdd_s4-supply = <&vph_pwr>; 163 vdd_s5-supply = <&vph_pwr>; 164 vdd_s6-supply = <&vph_pwr>; 165 vdd_s7-supply = <&vph_pwr>; 166 vdd_l1-supply = <&pm8953_s3>; 167 vdd_l2_l3-supply = <&pm8953_s3>; 168 vdd_l4_l5_l6_l7_l16_l19-supply = <&pm8953_s4>; 169 vdd_l8_l11_l12_l13_l14_l15-supply = <&vph_pwr>; 170 vdd_l9_l10_l17_l18_l22-supply = <&vph_pwr>; 171 172 pm8953_s1: s1 { 173 regulator-min-microvolt = <870000>; 174 regulator-max-microvolt = <1156000>; 175 }; 176 177 pm8953_s3: s3 { 178 regulator-min-microvolt = <1224000>; 179 regulator-max-microvolt = <1224000>; 180 }; 181 182 pm8953_s4: s4 { 183 regulator-min-microvolt = <1900000>; 184 regulator-max-microvolt = <2050000>; 185 }; 186 187 pm8953_l1: l1 { 188 regulator-min-microvolt = <1000000>; 189 regulator-max-microvolt = <1000000>; 190 }; 191 192 pm8953_l2: l2 { 193 regulator-min-microvolt = <1200000>; 194 regulator-max-microvolt = <1225000>; 195 }; 196 197 pm8953_l3: l3 { 198 regulator-min-microvolt = <925000>; 199 regulator-max-microvolt = <925000>; 200 }; 201 202 pm8953_l5: l5 { 203 regulator-min-microvolt = <1800000>; 204 regulator-max-microvolt = <1800000>; 205 }; 206 207 pm8953_l6: l6 { 208 regulator-min-microvolt = <1800000>; 209 regulator-max-microvolt = <1800000>; 210 }; 211 212 pm8953_l7: l7 { 213 regulator-min-microvolt = <1800000>; 214 regulator-max-microvolt = <1900000>; 215 }; 216 217 pm8953_l8: l8 { 218 regulator-min-microvolt = <2900000>; 219 regulator-max-microvolt = <2900000>; 220 }; 221 222 pm8953_l9: l9 { 223 regulator-min-microvolt = <3300000>; 224 regulator-max-microvolt = <3300000>; 225 }; 226 227 pm8953_l10:l10 { 228 regulator-min-microvolt = <2850000>; 229 regulator-max-microvolt = <2850000>; 230 }; 231 232 pm8953_l11: l11 { 233 regulator-min-microvolt = <2950000>; 234 regulator-max-microvolt = <2950000>; 235 }; 236 237 pm8953_l12: l12 { 238 regulator-min-microvolt = <1800000>; 239 regulator-max-microvolt = <2950000>; 240 }; 241 242 pm8953_l13: l13 { 243 regulator-min-microvolt = <3125000>; 244 regulator-max-microvolt = <3125000>; 245 }; 246 247 pm8953_l16: l16 { 248 regulator-min-microvolt = <1800000>; 249 regulator-max-microvolt = <1800000>; 250 }; 251 252 pm8953_l17: l17 { 253 regulator-min-microvolt = <2750000>; 254 regulator-max-microvolt = <2850000>; 255 }; 256 257 pm8953_l19: l19 { 258 regulator-min-microvolt = <1200000>; 259 regulator-max-microvolt = <1350000>; 260 }; 261 262 pm8953_l22: l22 { 263 regulator-min-microvolt = <2800000>; 264 regulator-max-microvolt = <2800000>; 265 }; 266 267 pm8953_l23: l23 { 268 regulator-min-microvolt = <1200000>; 269 regulator-max-microvolt = <1225000>; 270 }; 271 }; 272}; 273 274&sdhc_1 { 275 vmmc-supply = <&pm8953_l8>; 276 vqmmc-supply = <&pm8953_l5>; 277 278 status = "okay"; 279}; 280 281&sdhc_2 { 282 vmmc-supply = <&pm8953_l11>; 283 vqmmc-supply = <&pm8953_l12>; 284 285 cd-gpios = <&tlmm 133 GPIO_ACTIVE_HIGH>; 286 287 pinctrl-names = "default", "sleep"; 288 pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>; 289 pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>; 290 291 status = "okay"; 292}; 293 294&tlmm { 295 gpio-reserved-ranges = <0 4>, <16 4>, <135 4>; 296 297 gpio_hall_sensor_default: gpio-hall-sensor-state { 298 pins = "gpio44"; 299 function = "gpio"; 300 drive-strength = <2>; 301 bias-pull-up; 302 }; 303 304 ts_int_default: ts-int-default-state { 305 pins = "gpio65"; 306 function = "gpio"; 307 drive-strength = <2>; 308 bias-pull-up; 309 }; 310}; 311 312&uart_0 { 313 pinctrl-names = "default"; 314 pinctrl-0 = <&uart_console_active>; 315 316 status = "okay"; 317}; 318 319&usb3 { 320 status = "okay"; 321}; 322 323&usb3_dwc3 { 324 dr_mode = "peripheral"; 325}; 326