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