1*4882a593Smuzhiyun// SPDX-License-Identifier: (GPL-2.0 OR MIT) 2*4882a593Smuzhiyun/* 3*4882a593Smuzhiyun * Copyright (c) 2020 MediaTek Inc. 4*4882a593Smuzhiyun */ 5*4882a593Smuzhiyun 6*4882a593Smuzhiyun&pwrap { 7*4882a593Smuzhiyun pmic: mt6358 { 8*4882a593Smuzhiyun compatible = "mediatek,mt6358"; 9*4882a593Smuzhiyun interrupt-controller; 10*4882a593Smuzhiyun interrupt-parent = <&pio>; 11*4882a593Smuzhiyun interrupts = <182 IRQ_TYPE_LEVEL_HIGH>; 12*4882a593Smuzhiyun #interrupt-cells = <2>; 13*4882a593Smuzhiyun 14*4882a593Smuzhiyun mt6358codec: mt6358codec { 15*4882a593Smuzhiyun compatible = "mediatek,mt6358-sound"; 16*4882a593Smuzhiyun }; 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun mt6358regulator: mt6358regulator { 19*4882a593Smuzhiyun compatible = "mediatek,mt6358-regulator"; 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun mt6358_vdram1_reg: buck_vdram1 { 22*4882a593Smuzhiyun regulator-name = "vdram1"; 23*4882a593Smuzhiyun regulator-min-microvolt = <500000>; 24*4882a593Smuzhiyun regulator-max-microvolt = <2087500>; 25*4882a593Smuzhiyun regulator-ramp-delay = <12500>; 26*4882a593Smuzhiyun regulator-enable-ramp-delay = <0>; 27*4882a593Smuzhiyun regulator-always-on; 28*4882a593Smuzhiyun regulator-allowed-modes = <0 1>; 29*4882a593Smuzhiyun }; 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun mt6358_vcore_reg: buck_vcore { 32*4882a593Smuzhiyun regulator-name = "vcore"; 33*4882a593Smuzhiyun regulator-min-microvolt = <500000>; 34*4882a593Smuzhiyun regulator-max-microvolt = <1293750>; 35*4882a593Smuzhiyun regulator-ramp-delay = <6250>; 36*4882a593Smuzhiyun regulator-enable-ramp-delay = <200>; 37*4882a593Smuzhiyun regulator-always-on; 38*4882a593Smuzhiyun regulator-allowed-modes = <0 1>; 39*4882a593Smuzhiyun }; 40*4882a593Smuzhiyun 41*4882a593Smuzhiyun mt6358_vpa_reg: buck_vpa { 42*4882a593Smuzhiyun regulator-name = "vpa"; 43*4882a593Smuzhiyun regulator-min-microvolt = <500000>; 44*4882a593Smuzhiyun regulator-max-microvolt = <3650000>; 45*4882a593Smuzhiyun regulator-ramp-delay = <50000>; 46*4882a593Smuzhiyun regulator-enable-ramp-delay = <250>; 47*4882a593Smuzhiyun regulator-allowed-modes = <0 1>; 48*4882a593Smuzhiyun }; 49*4882a593Smuzhiyun 50*4882a593Smuzhiyun mt6358_vproc11_reg: buck_vproc11 { 51*4882a593Smuzhiyun regulator-name = "vproc11"; 52*4882a593Smuzhiyun regulator-min-microvolt = <500000>; 53*4882a593Smuzhiyun regulator-max-microvolt = <1293750>; 54*4882a593Smuzhiyun regulator-ramp-delay = <6250>; 55*4882a593Smuzhiyun regulator-enable-ramp-delay = <200>; 56*4882a593Smuzhiyun regulator-always-on; 57*4882a593Smuzhiyun regulator-allowed-modes = <0 1>; 58*4882a593Smuzhiyun }; 59*4882a593Smuzhiyun 60*4882a593Smuzhiyun mt6358_vproc12_reg: buck_vproc12 { 61*4882a593Smuzhiyun regulator-name = "vproc12"; 62*4882a593Smuzhiyun regulator-min-microvolt = <500000>; 63*4882a593Smuzhiyun regulator-max-microvolt = <1293750>; 64*4882a593Smuzhiyun regulator-ramp-delay = <6250>; 65*4882a593Smuzhiyun regulator-enable-ramp-delay = <200>; 66*4882a593Smuzhiyun regulator-always-on; 67*4882a593Smuzhiyun regulator-allowed-modes = <0 1>; 68*4882a593Smuzhiyun }; 69*4882a593Smuzhiyun 70*4882a593Smuzhiyun mt6358_vgpu_reg: buck_vgpu { 71*4882a593Smuzhiyun regulator-name = "vgpu"; 72*4882a593Smuzhiyun regulator-min-microvolt = <500000>; 73*4882a593Smuzhiyun regulator-max-microvolt = <1293750>; 74*4882a593Smuzhiyun regulator-ramp-delay = <6250>; 75*4882a593Smuzhiyun regulator-enable-ramp-delay = <200>; 76*4882a593Smuzhiyun regulator-allowed-modes = <0 1>; 77*4882a593Smuzhiyun }; 78*4882a593Smuzhiyun 79*4882a593Smuzhiyun mt6358_vs2_reg: buck_vs2 { 80*4882a593Smuzhiyun regulator-name = "vs2"; 81*4882a593Smuzhiyun regulator-min-microvolt = <500000>; 82*4882a593Smuzhiyun regulator-max-microvolt = <2087500>; 83*4882a593Smuzhiyun regulator-ramp-delay = <12500>; 84*4882a593Smuzhiyun regulator-enable-ramp-delay = <0>; 85*4882a593Smuzhiyun regulator-always-on; 86*4882a593Smuzhiyun }; 87*4882a593Smuzhiyun 88*4882a593Smuzhiyun mt6358_vmodem_reg: buck_vmodem { 89*4882a593Smuzhiyun regulator-name = "vmodem"; 90*4882a593Smuzhiyun regulator-min-microvolt = <500000>; 91*4882a593Smuzhiyun regulator-max-microvolt = <1293750>; 92*4882a593Smuzhiyun regulator-ramp-delay = <6250>; 93*4882a593Smuzhiyun regulator-enable-ramp-delay = <900>; 94*4882a593Smuzhiyun regulator-always-on; 95*4882a593Smuzhiyun regulator-allowed-modes = <0 1>; 96*4882a593Smuzhiyun }; 97*4882a593Smuzhiyun 98*4882a593Smuzhiyun mt6358_vs1_reg: buck_vs1 { 99*4882a593Smuzhiyun regulator-name = "vs1"; 100*4882a593Smuzhiyun regulator-min-microvolt = <1000000>; 101*4882a593Smuzhiyun regulator-max-microvolt = <2587500>; 102*4882a593Smuzhiyun regulator-ramp-delay = <12500>; 103*4882a593Smuzhiyun regulator-enable-ramp-delay = <0>; 104*4882a593Smuzhiyun regulator-always-on; 105*4882a593Smuzhiyun }; 106*4882a593Smuzhiyun 107*4882a593Smuzhiyun mt6358_vdram2_reg: ldo_vdram2 { 108*4882a593Smuzhiyun regulator-name = "vdram2"; 109*4882a593Smuzhiyun regulator-min-microvolt = <600000>; 110*4882a593Smuzhiyun regulator-max-microvolt = <1800000>; 111*4882a593Smuzhiyun regulator-enable-ramp-delay = <3300>; 112*4882a593Smuzhiyun }; 113*4882a593Smuzhiyun 114*4882a593Smuzhiyun mt6358_vsim1_reg: ldo_vsim1 { 115*4882a593Smuzhiyun regulator-name = "vsim1"; 116*4882a593Smuzhiyun regulator-min-microvolt = <1700000>; 117*4882a593Smuzhiyun regulator-max-microvolt = <3100000>; 118*4882a593Smuzhiyun regulator-enable-ramp-delay = <540>; 119*4882a593Smuzhiyun }; 120*4882a593Smuzhiyun 121*4882a593Smuzhiyun mt6358_vibr_reg: ldo_vibr { 122*4882a593Smuzhiyun regulator-name = "vibr"; 123*4882a593Smuzhiyun regulator-min-microvolt = <1200000>; 124*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 125*4882a593Smuzhiyun regulator-enable-ramp-delay = <60>; 126*4882a593Smuzhiyun }; 127*4882a593Smuzhiyun 128*4882a593Smuzhiyun mt6358_vrf12_reg: ldo_vrf12 { 129*4882a593Smuzhiyun compatible = "regulator-fixed"; 130*4882a593Smuzhiyun regulator-name = "vrf12"; 131*4882a593Smuzhiyun regulator-min-microvolt = <1200000>; 132*4882a593Smuzhiyun regulator-max-microvolt = <1200000>; 133*4882a593Smuzhiyun regulator-enable-ramp-delay = <120>; 134*4882a593Smuzhiyun }; 135*4882a593Smuzhiyun 136*4882a593Smuzhiyun mt6358_vio18_reg: ldo_vio18 { 137*4882a593Smuzhiyun compatible = "regulator-fixed"; 138*4882a593Smuzhiyun regulator-name = "vio18"; 139*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 140*4882a593Smuzhiyun regulator-max-microvolt = <1800000>; 141*4882a593Smuzhiyun regulator-enable-ramp-delay = <2700>; 142*4882a593Smuzhiyun regulator-always-on; 143*4882a593Smuzhiyun }; 144*4882a593Smuzhiyun 145*4882a593Smuzhiyun mt6358_vusb_reg: ldo_vusb { 146*4882a593Smuzhiyun regulator-name = "vusb"; 147*4882a593Smuzhiyun regulator-min-microvolt = <3000000>; 148*4882a593Smuzhiyun regulator-max-microvolt = <3100000>; 149*4882a593Smuzhiyun regulator-enable-ramp-delay = <270>; 150*4882a593Smuzhiyun regulator-always-on; 151*4882a593Smuzhiyun }; 152*4882a593Smuzhiyun 153*4882a593Smuzhiyun mt6358_vcamio_reg: ldo_vcamio { 154*4882a593Smuzhiyun compatible = "regulator-fixed"; 155*4882a593Smuzhiyun regulator-name = "vcamio"; 156*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 157*4882a593Smuzhiyun regulator-max-microvolt = <1800000>; 158*4882a593Smuzhiyun regulator-enable-ramp-delay = <325>; 159*4882a593Smuzhiyun }; 160*4882a593Smuzhiyun 161*4882a593Smuzhiyun mt6358_vcamd_reg: ldo_vcamd { 162*4882a593Smuzhiyun regulator-name = "vcamd"; 163*4882a593Smuzhiyun regulator-min-microvolt = <900000>; 164*4882a593Smuzhiyun regulator-max-microvolt = <1800000>; 165*4882a593Smuzhiyun regulator-enable-ramp-delay = <325>; 166*4882a593Smuzhiyun }; 167*4882a593Smuzhiyun 168*4882a593Smuzhiyun mt6358_vcn18_reg: ldo_vcn18 { 169*4882a593Smuzhiyun compatible = "regulator-fixed"; 170*4882a593Smuzhiyun regulator-name = "vcn18"; 171*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 172*4882a593Smuzhiyun regulator-max-microvolt = <1800000>; 173*4882a593Smuzhiyun regulator-enable-ramp-delay = <270>; 174*4882a593Smuzhiyun }; 175*4882a593Smuzhiyun 176*4882a593Smuzhiyun mt6358_vfe28_reg: ldo_vfe28 { 177*4882a593Smuzhiyun compatible = "regulator-fixed"; 178*4882a593Smuzhiyun regulator-name = "vfe28"; 179*4882a593Smuzhiyun regulator-min-microvolt = <2800000>; 180*4882a593Smuzhiyun regulator-max-microvolt = <2800000>; 181*4882a593Smuzhiyun regulator-enable-ramp-delay = <270>; 182*4882a593Smuzhiyun }; 183*4882a593Smuzhiyun 184*4882a593Smuzhiyun mt6358_vsram_proc11_reg: ldo_vsram_proc11 { 185*4882a593Smuzhiyun regulator-name = "vsram_proc11"; 186*4882a593Smuzhiyun regulator-min-microvolt = <500000>; 187*4882a593Smuzhiyun regulator-max-microvolt = <1293750>; 188*4882a593Smuzhiyun regulator-ramp-delay = <6250>; 189*4882a593Smuzhiyun regulator-enable-ramp-delay = <240>; 190*4882a593Smuzhiyun regulator-always-on; 191*4882a593Smuzhiyun }; 192*4882a593Smuzhiyun 193*4882a593Smuzhiyun mt6358_vcn28_reg: ldo_vcn28 { 194*4882a593Smuzhiyun compatible = "regulator-fixed"; 195*4882a593Smuzhiyun regulator-name = "vcn28"; 196*4882a593Smuzhiyun regulator-min-microvolt = <2800000>; 197*4882a593Smuzhiyun regulator-max-microvolt = <2800000>; 198*4882a593Smuzhiyun regulator-enable-ramp-delay = <270>; 199*4882a593Smuzhiyun }; 200*4882a593Smuzhiyun 201*4882a593Smuzhiyun mt6358_vsram_others_reg: ldo_vsram_others { 202*4882a593Smuzhiyun regulator-name = "vsram_others"; 203*4882a593Smuzhiyun regulator-min-microvolt = <500000>; 204*4882a593Smuzhiyun regulator-max-microvolt = <1293750>; 205*4882a593Smuzhiyun regulator-ramp-delay = <6250>; 206*4882a593Smuzhiyun regulator-enable-ramp-delay = <240>; 207*4882a593Smuzhiyun regulator-always-on; 208*4882a593Smuzhiyun }; 209*4882a593Smuzhiyun 210*4882a593Smuzhiyun mt6358_vsram_gpu_reg: ldo_vsram_gpu { 211*4882a593Smuzhiyun regulator-name = "vsram_gpu"; 212*4882a593Smuzhiyun regulator-min-microvolt = <500000>; 213*4882a593Smuzhiyun regulator-max-microvolt = <1293750>; 214*4882a593Smuzhiyun regulator-ramp-delay = <6250>; 215*4882a593Smuzhiyun regulator-enable-ramp-delay = <240>; 216*4882a593Smuzhiyun }; 217*4882a593Smuzhiyun 218*4882a593Smuzhiyun mt6358_vxo22_reg: ldo_vxo22 { 219*4882a593Smuzhiyun compatible = "regulator-fixed"; 220*4882a593Smuzhiyun regulator-name = "vxo22"; 221*4882a593Smuzhiyun regulator-min-microvolt = <2200000>; 222*4882a593Smuzhiyun regulator-max-microvolt = <2200000>; 223*4882a593Smuzhiyun regulator-enable-ramp-delay = <120>; 224*4882a593Smuzhiyun regulator-always-on; 225*4882a593Smuzhiyun }; 226*4882a593Smuzhiyun 227*4882a593Smuzhiyun mt6358_vefuse_reg: ldo_vefuse { 228*4882a593Smuzhiyun regulator-name = "vefuse"; 229*4882a593Smuzhiyun regulator-min-microvolt = <1700000>; 230*4882a593Smuzhiyun regulator-max-microvolt = <1900000>; 231*4882a593Smuzhiyun regulator-enable-ramp-delay = <270>; 232*4882a593Smuzhiyun }; 233*4882a593Smuzhiyun 234*4882a593Smuzhiyun mt6358_vaux18_reg: ldo_vaux18 { 235*4882a593Smuzhiyun compatible = "regulator-fixed"; 236*4882a593Smuzhiyun regulator-name = "vaux18"; 237*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 238*4882a593Smuzhiyun regulator-max-microvolt = <1800000>; 239*4882a593Smuzhiyun regulator-enable-ramp-delay = <270>; 240*4882a593Smuzhiyun }; 241*4882a593Smuzhiyun 242*4882a593Smuzhiyun mt6358_vmch_reg: ldo_vmch { 243*4882a593Smuzhiyun regulator-name = "vmch"; 244*4882a593Smuzhiyun regulator-min-microvolt = <2900000>; 245*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 246*4882a593Smuzhiyun regulator-enable-ramp-delay = <60>; 247*4882a593Smuzhiyun }; 248*4882a593Smuzhiyun 249*4882a593Smuzhiyun mt6358_vbif28_reg: ldo_vbif28 { 250*4882a593Smuzhiyun compatible = "regulator-fixed"; 251*4882a593Smuzhiyun regulator-name = "vbif28"; 252*4882a593Smuzhiyun regulator-min-microvolt = <2800000>; 253*4882a593Smuzhiyun regulator-max-microvolt = <2800000>; 254*4882a593Smuzhiyun regulator-enable-ramp-delay = <270>; 255*4882a593Smuzhiyun }; 256*4882a593Smuzhiyun 257*4882a593Smuzhiyun mt6358_vsram_proc12_reg: ldo_vsram_proc12 { 258*4882a593Smuzhiyun regulator-name = "vsram_proc12"; 259*4882a593Smuzhiyun regulator-min-microvolt = <500000>; 260*4882a593Smuzhiyun regulator-max-microvolt = <1293750>; 261*4882a593Smuzhiyun regulator-ramp-delay = <6250>; 262*4882a593Smuzhiyun regulator-enable-ramp-delay = <240>; 263*4882a593Smuzhiyun regulator-always-on; 264*4882a593Smuzhiyun }; 265*4882a593Smuzhiyun 266*4882a593Smuzhiyun mt6358_vcama1_reg: ldo_vcama1 { 267*4882a593Smuzhiyun regulator-name = "vcama1"; 268*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 269*4882a593Smuzhiyun regulator-max-microvolt = <3000000>; 270*4882a593Smuzhiyun regulator-enable-ramp-delay = <325>; 271*4882a593Smuzhiyun }; 272*4882a593Smuzhiyun 273*4882a593Smuzhiyun mt6358_vemc_reg: ldo_vemc { 274*4882a593Smuzhiyun regulator-name = "vemc"; 275*4882a593Smuzhiyun regulator-min-microvolt = <2900000>; 276*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 277*4882a593Smuzhiyun regulator-enable-ramp-delay = <60>; 278*4882a593Smuzhiyun }; 279*4882a593Smuzhiyun 280*4882a593Smuzhiyun mt6358_vio28_reg: ldo_vio28 { 281*4882a593Smuzhiyun compatible = "regulator-fixed"; 282*4882a593Smuzhiyun regulator-name = "vio28"; 283*4882a593Smuzhiyun regulator-min-microvolt = <2800000>; 284*4882a593Smuzhiyun regulator-max-microvolt = <2800000>; 285*4882a593Smuzhiyun regulator-enable-ramp-delay = <270>; 286*4882a593Smuzhiyun }; 287*4882a593Smuzhiyun 288*4882a593Smuzhiyun mt6358_va12_reg: ldo_va12 { 289*4882a593Smuzhiyun compatible = "regulator-fixed"; 290*4882a593Smuzhiyun regulator-name = "va12"; 291*4882a593Smuzhiyun regulator-min-microvolt = <1200000>; 292*4882a593Smuzhiyun regulator-max-microvolt = <1200000>; 293*4882a593Smuzhiyun regulator-enable-ramp-delay = <270>; 294*4882a593Smuzhiyun regulator-always-on; 295*4882a593Smuzhiyun }; 296*4882a593Smuzhiyun 297*4882a593Smuzhiyun mt6358_vrf18_reg: ldo_vrf18 { 298*4882a593Smuzhiyun compatible = "regulator-fixed"; 299*4882a593Smuzhiyun regulator-name = "vrf18"; 300*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 301*4882a593Smuzhiyun regulator-max-microvolt = <1800000>; 302*4882a593Smuzhiyun regulator-enable-ramp-delay = <120>; 303*4882a593Smuzhiyun }; 304*4882a593Smuzhiyun 305*4882a593Smuzhiyun mt6358_vcn33_bt_reg: ldo_vcn33_bt { 306*4882a593Smuzhiyun regulator-name = "vcn33_bt"; 307*4882a593Smuzhiyun regulator-min-microvolt = <3300000>; 308*4882a593Smuzhiyun regulator-max-microvolt = <3500000>; 309*4882a593Smuzhiyun regulator-enable-ramp-delay = <270>; 310*4882a593Smuzhiyun }; 311*4882a593Smuzhiyun 312*4882a593Smuzhiyun mt6358_vcn33_wifi_reg: ldo_vcn33_wifi { 313*4882a593Smuzhiyun regulator-name = "vcn33_wifi"; 314*4882a593Smuzhiyun regulator-min-microvolt = <3300000>; 315*4882a593Smuzhiyun regulator-max-microvolt = <3500000>; 316*4882a593Smuzhiyun regulator-enable-ramp-delay = <270>; 317*4882a593Smuzhiyun }; 318*4882a593Smuzhiyun 319*4882a593Smuzhiyun mt6358_vcama2_reg: ldo_vcama2 { 320*4882a593Smuzhiyun regulator-name = "vcama2"; 321*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 322*4882a593Smuzhiyun regulator-max-microvolt = <3000000>; 323*4882a593Smuzhiyun regulator-enable-ramp-delay = <325>; 324*4882a593Smuzhiyun }; 325*4882a593Smuzhiyun 326*4882a593Smuzhiyun mt6358_vmc_reg: ldo_vmc { 327*4882a593Smuzhiyun regulator-name = "vmc"; 328*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 329*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 330*4882a593Smuzhiyun regulator-enable-ramp-delay = <60>; 331*4882a593Smuzhiyun }; 332*4882a593Smuzhiyun 333*4882a593Smuzhiyun mt6358_vldo28_reg: ldo_vldo28 { 334*4882a593Smuzhiyun regulator-name = "vldo28"; 335*4882a593Smuzhiyun regulator-min-microvolt = <2800000>; 336*4882a593Smuzhiyun regulator-max-microvolt = <3000000>; 337*4882a593Smuzhiyun regulator-enable-ramp-delay = <270>; 338*4882a593Smuzhiyun }; 339*4882a593Smuzhiyun 340*4882a593Smuzhiyun mt6358_vaud28_reg: ldo_vaud28 { 341*4882a593Smuzhiyun compatible = "regulator-fixed"; 342*4882a593Smuzhiyun regulator-name = "vaud28"; 343*4882a593Smuzhiyun regulator-min-microvolt = <2800000>; 344*4882a593Smuzhiyun regulator-max-microvolt = <2800000>; 345*4882a593Smuzhiyun regulator-enable-ramp-delay = <270>; 346*4882a593Smuzhiyun }; 347*4882a593Smuzhiyun 348*4882a593Smuzhiyun mt6358_vsim2_reg: ldo_vsim2 { 349*4882a593Smuzhiyun regulator-name = "vsim2"; 350*4882a593Smuzhiyun regulator-min-microvolt = <1700000>; 351*4882a593Smuzhiyun regulator-max-microvolt = <3100000>; 352*4882a593Smuzhiyun regulator-enable-ramp-delay = <540>; 353*4882a593Smuzhiyun }; 354*4882a593Smuzhiyun }; 355*4882a593Smuzhiyun 356*4882a593Smuzhiyun mt6358rtc: mt6358rtc { 357*4882a593Smuzhiyun compatible = "mediatek,mt6358-rtc"; 358*4882a593Smuzhiyun }; 359*4882a593Smuzhiyun }; 360*4882a593Smuzhiyun}; 361