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