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