123a6da79SAlexey Minnekhanov// SPDX-License-Identifier: GPL-2.0-only 223a6da79SAlexey Minnekhanov/* 323a6da79SAlexey Minnekhanov * Copyright (c) 2020, Alexey Minnekhanov <alexey.min@gmail.com> 4*262a8ad1SDang Huynh * Copyright (c) 2021, Dang Huynh <danct12@riseup.net> 523a6da79SAlexey Minnekhanov */ 623a6da79SAlexey Minnekhanov 723a6da79SAlexey Minnekhanov/dts-v1/; 823a6da79SAlexey Minnekhanov 923a6da79SAlexey Minnekhanov#include "sdm660.dtsi" 10*262a8ad1SDang Huynh#include "pm660.dtsi" 11*262a8ad1SDang Huynh#include "pm660l.dtsi" 1223a6da79SAlexey Minnekhanov 1323a6da79SAlexey Minnekhanov/ { 1423a6da79SAlexey Minnekhanov model = "Xiaomi Redmi Note 7"; 1523a6da79SAlexey Minnekhanov compatible = "xiaomi,lavender", "qcom,sdm660"; 16eaa744b1SArnaud Ferraris chassis-type = "handset"; 1723a6da79SAlexey Minnekhanov 1823a6da79SAlexey Minnekhanov aliases { 1923a6da79SAlexey Minnekhanov serial0 = &blsp1_uart2; 2023a6da79SAlexey Minnekhanov }; 2123a6da79SAlexey Minnekhanov 2223a6da79SAlexey Minnekhanov chosen { 2323a6da79SAlexey Minnekhanov stdout-path = "serial0:115200n8"; 2423a6da79SAlexey Minnekhanov }; 2523a6da79SAlexey Minnekhanov 26*262a8ad1SDang Huynh vph_pwr: vph-pwr-regulator { 27*262a8ad1SDang Huynh compatible = "regulator-fixed"; 28*262a8ad1SDang Huynh regulator-name = "vph_pwr"; 29*262a8ad1SDang Huynh regulator-min-microvolt = <3700000>; 30*262a8ad1SDang Huynh regulator-max-microvolt = <3700000>; 31*262a8ad1SDang Huynh 32*262a8ad1SDang Huynh regulator-always-on; 33*262a8ad1SDang Huynh regulator-boot-on; 34*262a8ad1SDang Huynh }; 35*262a8ad1SDang Huynh 3623a6da79SAlexey Minnekhanov reserved-memory { 3723a6da79SAlexey Minnekhanov #address-cells = <2>; 3823a6da79SAlexey Minnekhanov #size-cells = <2>; 3923a6da79SAlexey Minnekhanov ranges; 4023a6da79SAlexey Minnekhanov 4123a6da79SAlexey Minnekhanov ramoops@a0000000 { 4223a6da79SAlexey Minnekhanov compatible = "ramoops"; 4323a6da79SAlexey Minnekhanov reg = <0x0 0xa0000000 0x0 0x400000>; 4423a6da79SAlexey Minnekhanov console-size = <0x20000>; 4523a6da79SAlexey Minnekhanov record-size = <0x20000>; 4623a6da79SAlexey Minnekhanov ftrace-size = <0x0>; 4723a6da79SAlexey Minnekhanov pmsg-size = <0x20000>; 4823a6da79SAlexey Minnekhanov }; 4923a6da79SAlexey Minnekhanov }; 5023a6da79SAlexey Minnekhanov}; 5123a6da79SAlexey Minnekhanov 5223a6da79SAlexey Minnekhanov&blsp1_uart2 { 5323a6da79SAlexey Minnekhanov status = "okay"; 5423a6da79SAlexey Minnekhanov}; 5523a6da79SAlexey Minnekhanov 56*262a8ad1SDang Huynh&rpm_requests { 57*262a8ad1SDang Huynh pm660l-regulators { 58*262a8ad1SDang Huynh compatible = "qcom,rpm-pm660l-regulators"; 59*262a8ad1SDang Huynh 60*262a8ad1SDang Huynh vdd_s1-supply = <&vph_pwr>; 61*262a8ad1SDang Huynh vdd_s2-supply = <&vph_pwr>; 62*262a8ad1SDang Huynh vdd_s3_s4-supply = <&vph_pwr>; 63*262a8ad1SDang Huynh vdd_s5-supply = <&vph_pwr>; 64*262a8ad1SDang Huynh vdd_s6-supply = <&vph_pwr>; 65*262a8ad1SDang Huynh 66*262a8ad1SDang Huynh vdd_l1_l9_l10-supply = <&vreg_s2b_1p05>; 67*262a8ad1SDang Huynh vdd_l2-supply = <&vreg_bob>; 68*262a8ad1SDang Huynh vdd_l3_l5_l7_l8-supply = <&vreg_bob>; 69*262a8ad1SDang Huynh vdd_l4_l6-supply = <&vreg_bob>; 70*262a8ad1SDang Huynh vdd_bob-supply = <&vph_pwr>; 71*262a8ad1SDang Huynh 72*262a8ad1SDang Huynh vreg_s1b_1p125: s1 { 73*262a8ad1SDang Huynh regulator-min-microvolt = <1125000>; 74*262a8ad1SDang Huynh regulator-max-microvolt = <1125000>; 75*262a8ad1SDang Huynh regulator-enable-ramp-delay = <200>; 76*262a8ad1SDang Huynh }; 77*262a8ad1SDang Huynh 78*262a8ad1SDang Huynh vreg_s2b_1p05: s2 { 79*262a8ad1SDang Huynh regulator-min-microvolt = <1050000>; 80*262a8ad1SDang Huynh regulator-max-microvolt = <1050000>; 81*262a8ad1SDang Huynh regulator-enable-ramp-delay = <200>; 82*262a8ad1SDang Huynh }; 83*262a8ad1SDang Huynh 84*262a8ad1SDang Huynh /* LDOs */ 85*262a8ad1SDang Huynh vreg_l1b_0p925: l1 { 86*262a8ad1SDang Huynh regulator-min-microvolt = <800000>; 87*262a8ad1SDang Huynh regulator-max-microvolt = <925000>; 88*262a8ad1SDang Huynh regulator-enable-ramp-delay = <250>; 89*262a8ad1SDang Huynh regulator-allow-set-load; 90*262a8ad1SDang Huynh }; 91*262a8ad1SDang Huynh 92*262a8ad1SDang Huynh /* SDHCI 3.3V signal doesn't seem to be supported. */ 93*262a8ad1SDang Huynh vreg_l2b_2p95: l2 { 94*262a8ad1SDang Huynh regulator-min-microvolt = <1648000>; 95*262a8ad1SDang Huynh regulator-max-microvolt = <2696000>; 96*262a8ad1SDang Huynh regulator-enable-ramp-delay = <250>; 97*262a8ad1SDang Huynh regulator-allow-set-load; 98*262a8ad1SDang Huynh }; 99*262a8ad1SDang Huynh 100*262a8ad1SDang Huynh vreg_l3b_3p3: l3 { 101*262a8ad1SDang Huynh regulator-min-microvolt = <1700000>; 102*262a8ad1SDang Huynh regulator-max-microvolt = <3300000>; 103*262a8ad1SDang Huynh regulator-enable-ramp-delay = <250>; 104*262a8ad1SDang Huynh regulator-allow-set-load; 105*262a8ad1SDang Huynh }; 106*262a8ad1SDang Huynh 107*262a8ad1SDang Huynh vreg_l4b_2p95: l4 { 108*262a8ad1SDang Huynh regulator-min-microvolt = <2944000>; 109*262a8ad1SDang Huynh regulator-max-microvolt = <2952000>; 110*262a8ad1SDang Huynh regulator-enable-ramp-delay = <250>; 111*262a8ad1SDang Huynh 112*262a8ad1SDang Huynh regulator-min-microamp = <200>; 113*262a8ad1SDang Huynh regulator-max-microamp = <600000>; 114*262a8ad1SDang Huynh regulator-system-load = <570000>; 115*262a8ad1SDang Huynh regulator-allow-set-load; 116*262a8ad1SDang Huynh }; 117*262a8ad1SDang Huynh 118*262a8ad1SDang Huynh /* 119*262a8ad1SDang Huynh * Downstream specifies a range of 1721-3600mV, 120*262a8ad1SDang Huynh * but the only assigned consumers are SDHCI2 VMMC 121*262a8ad1SDang Huynh * and Coresight QPDI that both request pinned 2.95V. 122*262a8ad1SDang Huynh * Tighten the range to 1.8-3.328 (closest to 3.3) to 123*262a8ad1SDang Huynh * make the mmc driver happy. 124*262a8ad1SDang Huynh */ 125*262a8ad1SDang Huynh vreg_l5b_2p95: l5 { 126*262a8ad1SDang Huynh regulator-min-microvolt = <1800000>; 127*262a8ad1SDang Huynh regulator-max-microvolt = <3328000>; 128*262a8ad1SDang Huynh regulator-enable-ramp-delay = <250>; 129*262a8ad1SDang Huynh regulator-allow-set-load; 130*262a8ad1SDang Huynh regulator-system-load = <800000>; 131*262a8ad1SDang Huynh }; 132*262a8ad1SDang Huynh 133*262a8ad1SDang Huynh vreg_l7b_3p125: l7 { 134*262a8ad1SDang Huynh regulator-min-microvolt = <2700000>; 135*262a8ad1SDang Huynh regulator-max-microvolt = <3125000>; 136*262a8ad1SDang Huynh regulator-enable-ramp-delay = <250>; 137*262a8ad1SDang Huynh }; 138*262a8ad1SDang Huynh 139*262a8ad1SDang Huynh vreg_l8b_3p3: l8 { 140*262a8ad1SDang Huynh regulator-min-microvolt = <3200000>; 141*262a8ad1SDang Huynh regulator-max-microvolt = <3400000>; 142*262a8ad1SDang Huynh regulator-enable-ramp-delay = <250>; 143*262a8ad1SDang Huynh }; 144*262a8ad1SDang Huynh 145*262a8ad1SDang Huynh vreg_bob: bob { 146*262a8ad1SDang Huynh regulator-min-microvolt = <3300000>; 147*262a8ad1SDang Huynh regulator-max-microvolt = <3600000>; 148*262a8ad1SDang Huynh regulator-enable-ramp-delay = <500>; 149*262a8ad1SDang Huynh }; 150*262a8ad1SDang Huynh }; 151*262a8ad1SDang Huynh 152*262a8ad1SDang Huynh pm660-regulators { 153*262a8ad1SDang Huynh compatible = "qcom,rpm-pm660-regulators"; 154*262a8ad1SDang Huynh 155*262a8ad1SDang Huynh vdd_s1-supply = <&vph_pwr>; 156*262a8ad1SDang Huynh vdd_s2-supply = <&vph_pwr>; 157*262a8ad1SDang Huynh vdd_s3-supply = <&vph_pwr>; 158*262a8ad1SDang Huynh vdd_s4-supply = <&vph_pwr>; 159*262a8ad1SDang Huynh vdd_s5-supply = <&vph_pwr>; 160*262a8ad1SDang Huynh vdd_s6-supply = <&vph_pwr>; 161*262a8ad1SDang Huynh 162*262a8ad1SDang Huynh vdd_l1_l6_l7-supply = <&vreg_s5a_1p35>; 163*262a8ad1SDang Huynh vdd_l2_l3-supply = <&vreg_s2b_1p05>; 164*262a8ad1SDang Huynh vdd_l5-supply = <&vreg_s2b_1p05>; 165*262a8ad1SDang Huynh vdd_l8_l9_l10_l11_l12_l13_l14-supply = <&vreg_s4a_2p04>; 166*262a8ad1SDang Huynh vdd_l15_l16_l17_l18_l19-supply = <&vreg_bob>; 167*262a8ad1SDang Huynh 168*262a8ad1SDang Huynh /* 169*262a8ad1SDang Huynh * S1A (FTAPC0), S2A (FTAPC1), S3A (HFAPC1) are managed 170*262a8ad1SDang Huynh * by the Core Power Reduction hardened (CPRh) and the 171*262a8ad1SDang Huynh * Operating State Manager (OSM) HW automatically. 172*262a8ad1SDang Huynh */ 173*262a8ad1SDang Huynh 174*262a8ad1SDang Huynh vreg_s4a_2p04: s4 { 175*262a8ad1SDang Huynh regulator-min-microvolt = <1805000>; 176*262a8ad1SDang Huynh regulator-max-microvolt = <2040000>; 177*262a8ad1SDang Huynh regulator-enable-ramp-delay = <200>; 178*262a8ad1SDang Huynh regulator-always-on; 179*262a8ad1SDang Huynh }; 180*262a8ad1SDang Huynh 181*262a8ad1SDang Huynh vreg_s5a_1p35: s5 { 182*262a8ad1SDang Huynh regulator-min-microvolt = <1224000>; 183*262a8ad1SDang Huynh regulator-max-microvolt = <1350000>; 184*262a8ad1SDang Huynh regulator-enable-ramp-delay = <200>; 185*262a8ad1SDang Huynh }; 186*262a8ad1SDang Huynh 187*262a8ad1SDang Huynh vreg_s6a_0p87: s6 { 188*262a8ad1SDang Huynh regulator-min-microvolt = <504000>; 189*262a8ad1SDang Huynh regulator-max-microvolt = <992000>; 190*262a8ad1SDang Huynh regulator-enable-ramp-delay = <150>; 191*262a8ad1SDang Huynh }; 192*262a8ad1SDang Huynh 193*262a8ad1SDang Huynh /* LDOs */ 194*262a8ad1SDang Huynh vreg_l1a_1p225: l1 { 195*262a8ad1SDang Huynh regulator-min-microvolt = <1150000>; 196*262a8ad1SDang Huynh regulator-max-microvolt = <1250000>; 197*262a8ad1SDang Huynh regulator-enable-ramp-delay = <250>; 198*262a8ad1SDang Huynh regulator-allow-set-load; 199*262a8ad1SDang Huynh }; 200*262a8ad1SDang Huynh 201*262a8ad1SDang Huynh vreg_l2a_1p0: l2 { 202*262a8ad1SDang Huynh regulator-min-microvolt = <950000>; 203*262a8ad1SDang Huynh regulator-max-microvolt = <1010000>; 204*262a8ad1SDang Huynh regulator-enable-ramp-delay = <250>; 205*262a8ad1SDang Huynh }; 206*262a8ad1SDang Huynh 207*262a8ad1SDang Huynh vreg_l3a_1p0: l3 { 208*262a8ad1SDang Huynh regulator-min-microvolt = <950000>; 209*262a8ad1SDang Huynh regulator-max-microvolt = <1010000>; 210*262a8ad1SDang Huynh regulator-enable-ramp-delay = <250>; 211*262a8ad1SDang Huynh }; 212*262a8ad1SDang Huynh 213*262a8ad1SDang Huynh vreg_l5a_0p848: l5 { 214*262a8ad1SDang Huynh regulator-min-microvolt = <525000>; 215*262a8ad1SDang Huynh regulator-max-microvolt = <950000>; 216*262a8ad1SDang Huynh regulator-enable-ramp-delay = <250>; 217*262a8ad1SDang Huynh }; 218*262a8ad1SDang Huynh 219*262a8ad1SDang Huynh vreg_l6a_1p3: l6 { 220*262a8ad1SDang Huynh regulator-min-microvolt = <1200000>; 221*262a8ad1SDang Huynh regulator-max-microvolt = <1370000>; 222*262a8ad1SDang Huynh regulator-allow-set-load; 223*262a8ad1SDang Huynh regulator-enable-ramp-delay = <250>; 224*262a8ad1SDang Huynh }; 225*262a8ad1SDang Huynh 226*262a8ad1SDang Huynh vreg_l7a_1p2: l7 { 227*262a8ad1SDang Huynh regulator-min-microvolt = <1200000>; 228*262a8ad1SDang Huynh regulator-max-microvolt = <1200000>; 229*262a8ad1SDang Huynh regulator-enable-ramp-delay = <250>; 230*262a8ad1SDang Huynh }; 231*262a8ad1SDang Huynh 232*262a8ad1SDang Huynh vreg_l8a_1p8: l8 { 233*262a8ad1SDang Huynh regulator-min-microvolt = <1750000>; 234*262a8ad1SDang Huynh regulator-max-microvolt = <1800000>; 235*262a8ad1SDang Huynh regulator-enable-ramp-delay = <250>; 236*262a8ad1SDang Huynh regulator-system-load = <325000>; 237*262a8ad1SDang Huynh regulator-allow-set-load; 238*262a8ad1SDang Huynh }; 239*262a8ad1SDang Huynh 240*262a8ad1SDang Huynh vreg_l9a_1p8: l9 { 241*262a8ad1SDang Huynh regulator-min-microvolt = <1750000>; 242*262a8ad1SDang Huynh regulator-max-microvolt = <1900000>; 243*262a8ad1SDang Huynh regulator-enable-ramp-delay = <250>; 244*262a8ad1SDang Huynh regulator-allow-set-load; 245*262a8ad1SDang Huynh }; 246*262a8ad1SDang Huynh 247*262a8ad1SDang Huynh vreg_l10a_1p8: l10 { 248*262a8ad1SDang Huynh regulator-min-microvolt = <1780000>; 249*262a8ad1SDang Huynh regulator-max-microvolt = <1950000>; 250*262a8ad1SDang Huynh regulator-enable-ramp-delay = <250>; 251*262a8ad1SDang Huynh regulator-allow-set-load; 252*262a8ad1SDang Huynh }; 253*262a8ad1SDang Huynh 254*262a8ad1SDang Huynh vreg_l11a_1p8: l11 { 255*262a8ad1SDang Huynh regulator-min-microvolt = <1780000>; 256*262a8ad1SDang Huynh regulator-max-microvolt = <1950000>; 257*262a8ad1SDang Huynh regulator-enable-ramp-delay = <250>; 258*262a8ad1SDang Huynh }; 259*262a8ad1SDang Huynh 260*262a8ad1SDang Huynh vreg_l12a_1p8: l12 { 261*262a8ad1SDang Huynh regulator-min-microvolt = <1780000>; 262*262a8ad1SDang Huynh regulator-max-microvolt = <1950000>; 263*262a8ad1SDang Huynh regulator-enable-ramp-delay = <250>; 264*262a8ad1SDang Huynh }; 265*262a8ad1SDang Huynh 266*262a8ad1SDang Huynh /* This gives power to the LPDDR4: never turn it off! */ 267*262a8ad1SDang Huynh vreg_l13a_1p8: l13 { 268*262a8ad1SDang Huynh regulator-min-microvolt = <1780000>; 269*262a8ad1SDang Huynh regulator-max-microvolt = <1950000>; 270*262a8ad1SDang Huynh regulator-enable-ramp-delay = <250>; 271*262a8ad1SDang Huynh regulator-boot-on; 272*262a8ad1SDang Huynh regulator-always-on; 273*262a8ad1SDang Huynh }; 274*262a8ad1SDang Huynh 275*262a8ad1SDang Huynh vreg_l14a_1p8: l14 { 276*262a8ad1SDang Huynh regulator-min-microvolt = <1710000>; 277*262a8ad1SDang Huynh regulator-max-microvolt = <1900000>; 278*262a8ad1SDang Huynh regulator-enable-ramp-delay = <250>; 279*262a8ad1SDang Huynh }; 280*262a8ad1SDang Huynh 281*262a8ad1SDang Huynh vreg_l15a_1p8: l15 { 282*262a8ad1SDang Huynh regulator-min-microvolt = <1650000>; 283*262a8ad1SDang Huynh regulator-max-microvolt = <2950000>; 284*262a8ad1SDang Huynh regulator-enable-ramp-delay = <250>; 285*262a8ad1SDang Huynh }; 286*262a8ad1SDang Huynh 287*262a8ad1SDang Huynh vreg_l16a_2p7: l16 { 288*262a8ad1SDang Huynh regulator-min-microvolt = <2800000>; 289*262a8ad1SDang Huynh regulator-max-microvolt = <2800000>; 290*262a8ad1SDang Huynh regulator-enable-ramp-delay = <250>; 291*262a8ad1SDang Huynh regulator-always-on; 292*262a8ad1SDang Huynh }; 293*262a8ad1SDang Huynh 294*262a8ad1SDang Huynh vreg_l17a_1p8: l17 { 295*262a8ad1SDang Huynh regulator-min-microvolt = <1648000>; 296*262a8ad1SDang Huynh regulator-max-microvolt = <2952000>; 297*262a8ad1SDang Huynh regulator-enable-ramp-delay = <250>; 298*262a8ad1SDang Huynh }; 299*262a8ad1SDang Huynh 300*262a8ad1SDang Huynh vreg_l19a_3p3: l19 { 301*262a8ad1SDang Huynh regulator-min-microvolt = <3312000>; 302*262a8ad1SDang Huynh regulator-max-microvolt = <3400000>; 303*262a8ad1SDang Huynh regulator-enable-ramp-delay = <250>; 304*262a8ad1SDang Huynh regulator-allow-set-load; 305*262a8ad1SDang Huynh }; 306*262a8ad1SDang Huynh }; 307*262a8ad1SDang Huynh}; 308*262a8ad1SDang Huynh 30923a6da79SAlexey Minnekhanov&tlmm { 31023a6da79SAlexey Minnekhanov gpio-reserved-ranges = <8 4>; 31123a6da79SAlexey Minnekhanov}; 312