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