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