1*4882a593Smuzhiyun/* 2*4882a593Smuzhiyun * Spreadtrum SC2731 PMIC dts file 3*4882a593Smuzhiyun * 4*4882a593Smuzhiyun * Copyright (C) 2018, Spreadtrum Communications Inc. 5*4882a593Smuzhiyun * 6*4882a593Smuzhiyun * SPDX-License-Identifier: (GPL-2.0+ OR MIT) 7*4882a593Smuzhiyun */ 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun&adi_bus { 10*4882a593Smuzhiyun sc2731_pmic: pmic@0 { 11*4882a593Smuzhiyun compatible = "sprd,sc2731"; 12*4882a593Smuzhiyun reg = <0>; 13*4882a593Smuzhiyun spi-max-frequency = <26000000>; 14*4882a593Smuzhiyun interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; 15*4882a593Smuzhiyun interrupt-controller; 16*4882a593Smuzhiyun #interrupt-cells = <1>; 17*4882a593Smuzhiyun #address-cells = <1>; 18*4882a593Smuzhiyun #size-cells = <0>; 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun charger@0 { 21*4882a593Smuzhiyun compatible = "sprd,sc2731-charger"; 22*4882a593Smuzhiyun reg = <0x0>; 23*4882a593Smuzhiyun monitored-battery = <&bat>; 24*4882a593Smuzhiyun }; 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun led-controller@200 { 27*4882a593Smuzhiyun compatible = "sprd,sc2731-bltc"; 28*4882a593Smuzhiyun reg = <0x200>; 29*4882a593Smuzhiyun #address-cells = <1>; 30*4882a593Smuzhiyun #size-cells = <0>; 31*4882a593Smuzhiyun 32*4882a593Smuzhiyun led@0 { 33*4882a593Smuzhiyun label = "red"; 34*4882a593Smuzhiyun reg = <0x0>; 35*4882a593Smuzhiyun }; 36*4882a593Smuzhiyun 37*4882a593Smuzhiyun led@1 { 38*4882a593Smuzhiyun label = "green"; 39*4882a593Smuzhiyun reg = <0x1>; 40*4882a593Smuzhiyun }; 41*4882a593Smuzhiyun 42*4882a593Smuzhiyun led@2 { 43*4882a593Smuzhiyun label = "blue"; 44*4882a593Smuzhiyun reg = <0x2>; 45*4882a593Smuzhiyun }; 46*4882a593Smuzhiyun }; 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun rtc@280 { 49*4882a593Smuzhiyun compatible = "sprd,sc2731-rtc"; 50*4882a593Smuzhiyun reg = <0x280>; 51*4882a593Smuzhiyun interrupt-parent = <&sc2731_pmic>; 52*4882a593Smuzhiyun interrupts = <2>; 53*4882a593Smuzhiyun }; 54*4882a593Smuzhiyun 55*4882a593Smuzhiyun pmic_eic: gpio@300 { 56*4882a593Smuzhiyun compatible = "sprd,sc2731-eic"; 57*4882a593Smuzhiyun reg = <0x300>; 58*4882a593Smuzhiyun interrupt-parent = <&sc2731_pmic>; 59*4882a593Smuzhiyun interrupts = <5>; 60*4882a593Smuzhiyun gpio-controller; 61*4882a593Smuzhiyun #gpio-cells = <2>; 62*4882a593Smuzhiyun interrupt-controller; 63*4882a593Smuzhiyun #interrupt-cells = <2>; 64*4882a593Smuzhiyun }; 65*4882a593Smuzhiyun 66*4882a593Smuzhiyun efuse@380 { 67*4882a593Smuzhiyun compatible = "sprd,sc2731-efuse"; 68*4882a593Smuzhiyun reg = <0x380>; 69*4882a593Smuzhiyun #address-cells = <1>; 70*4882a593Smuzhiyun #size-cells = <1>; 71*4882a593Smuzhiyun hwlocks = <&hwlock 12>; 72*4882a593Smuzhiyun 73*4882a593Smuzhiyun fgu_calib: calib@6 { 74*4882a593Smuzhiyun reg = <0x6 0x2>; 75*4882a593Smuzhiyun bits = <0 9>; 76*4882a593Smuzhiyun }; 77*4882a593Smuzhiyun 78*4882a593Smuzhiyun adc_big_scale: calib@24 { 79*4882a593Smuzhiyun reg = <0x24 0x2>; 80*4882a593Smuzhiyun }; 81*4882a593Smuzhiyun 82*4882a593Smuzhiyun adc_small_scale: calib@26 { 83*4882a593Smuzhiyun reg = <0x26 0x2>; 84*4882a593Smuzhiyun }; 85*4882a593Smuzhiyun }; 86*4882a593Smuzhiyun 87*4882a593Smuzhiyun pmic_adc: adc@480 { 88*4882a593Smuzhiyun compatible = "sprd,sc2731-adc"; 89*4882a593Smuzhiyun reg = <0x480>; 90*4882a593Smuzhiyun interrupt-parent = <&sc2731_pmic>; 91*4882a593Smuzhiyun interrupts = <0>; 92*4882a593Smuzhiyun #io-channel-cells = <1>; 93*4882a593Smuzhiyun hwlocks = <&hwlock 4>; 94*4882a593Smuzhiyun nvmem-cell-names = "big_scale_calib", "small_scale_calib"; 95*4882a593Smuzhiyun nvmem-cells = <&adc_big_scale>, <&adc_small_scale>; 96*4882a593Smuzhiyun }; 97*4882a593Smuzhiyun 98*4882a593Smuzhiyun fgu@a00 { 99*4882a593Smuzhiyun compatible = "sprd,sc2731-fgu"; 100*4882a593Smuzhiyun reg = <0xa00>; 101*4882a593Smuzhiyun bat-detect-gpio = <&pmic_eic 9 GPIO_ACTIVE_HIGH>; 102*4882a593Smuzhiyun io-channels = <&pmic_adc 3>, <&pmic_adc 6>; 103*4882a593Smuzhiyun io-channel-names = "bat-temp", "charge-vol"; 104*4882a593Smuzhiyun monitored-battery = <&bat>; 105*4882a593Smuzhiyun nvmem-cell-names = "fgu_calib"; 106*4882a593Smuzhiyun nvmem-cells = <&fgu_calib>; 107*4882a593Smuzhiyun interrupt-parent = <&sc2731_pmic>; 108*4882a593Smuzhiyun interrupts = <4>; 109*4882a593Smuzhiyun }; 110*4882a593Smuzhiyun 111*4882a593Smuzhiyun vibrator@ec8 { 112*4882a593Smuzhiyun compatible = "sprd,sc2731-vibrator"; 113*4882a593Smuzhiyun reg = <0xec8>; 114*4882a593Smuzhiyun }; 115*4882a593Smuzhiyun 116*4882a593Smuzhiyun regulators { 117*4882a593Smuzhiyun compatible = "sprd,sc2731-regulator"; 118*4882a593Smuzhiyun 119*4882a593Smuzhiyun vddarm0: BUCK_CPU0 { 120*4882a593Smuzhiyun regulator-name = "vddarm0"; 121*4882a593Smuzhiyun regulator-min-microvolt = <400000>; 122*4882a593Smuzhiyun regulator-max-microvolt = <1996875>; 123*4882a593Smuzhiyun regulator-ramp-delay = <25000>; 124*4882a593Smuzhiyun regulator-always-on; 125*4882a593Smuzhiyun }; 126*4882a593Smuzhiyun 127*4882a593Smuzhiyun vddarm1: BUCK_CPU1 { 128*4882a593Smuzhiyun regulator-name = "vddarm1"; 129*4882a593Smuzhiyun regulator-min-microvolt = <400000>; 130*4882a593Smuzhiyun regulator-max-microvolt = <1996875>; 131*4882a593Smuzhiyun regulator-ramp-delay = <25000>; 132*4882a593Smuzhiyun regulator-always-on; 133*4882a593Smuzhiyun }; 134*4882a593Smuzhiyun 135*4882a593Smuzhiyun dcdcrf: BUCK_RF { 136*4882a593Smuzhiyun regulator-name = "dcdcrf"; 137*4882a593Smuzhiyun regulator-min-microvolt = <600000>; 138*4882a593Smuzhiyun regulator-max-microvolt = <2196875>; 139*4882a593Smuzhiyun regulator-ramp-delay = <25000>; 140*4882a593Smuzhiyun regulator-enable-ramp-delay = <100>; 141*4882a593Smuzhiyun regulator-always-on; 142*4882a593Smuzhiyun }; 143*4882a593Smuzhiyun 144*4882a593Smuzhiyun vddcama0: LDO_CAMA0 { 145*4882a593Smuzhiyun regulator-name = "vddcama0"; 146*4882a593Smuzhiyun regulator-min-microvolt = <1200000>; 147*4882a593Smuzhiyun regulator-max-microvolt = <3750000>; 148*4882a593Smuzhiyun regulator-enable-ramp-delay = <100>; 149*4882a593Smuzhiyun }; 150*4882a593Smuzhiyun 151*4882a593Smuzhiyun vddcama1: LDO_CAMA1 { 152*4882a593Smuzhiyun regulator-name = "vddcama1"; 153*4882a593Smuzhiyun regulator-min-microvolt = <1200000>; 154*4882a593Smuzhiyun regulator-max-microvolt = <3750000>; 155*4882a593Smuzhiyun regulator-enable-ramp-delay = <100>; 156*4882a593Smuzhiyun regulator-ramp-delay = <25000>; 157*4882a593Smuzhiyun }; 158*4882a593Smuzhiyun 159*4882a593Smuzhiyun vddcammot: LDO_CAMMOT { 160*4882a593Smuzhiyun regulator-name = "vddcammot"; 161*4882a593Smuzhiyun regulator-min-microvolt = <1200000>; 162*4882a593Smuzhiyun regulator-max-microvolt = <3750000>; 163*4882a593Smuzhiyun regulator-enable-ramp-delay = <100>; 164*4882a593Smuzhiyun regulator-ramp-delay = <25000>; 165*4882a593Smuzhiyun }; 166*4882a593Smuzhiyun 167*4882a593Smuzhiyun vddvldo: LDO_VLDO { 168*4882a593Smuzhiyun regulator-name = "vddvldo"; 169*4882a593Smuzhiyun regulator-min-microvolt = <1200000>; 170*4882a593Smuzhiyun regulator-max-microvolt = <3750000>; 171*4882a593Smuzhiyun regulator-enable-ramp-delay = <100>; 172*4882a593Smuzhiyun regulator-ramp-delay = <25000>; 173*4882a593Smuzhiyun }; 174*4882a593Smuzhiyun 175*4882a593Smuzhiyun vddemmccore: LDO_EMMCCORE { 176*4882a593Smuzhiyun regulator-name = "vddemmccore"; 177*4882a593Smuzhiyun regulator-min-microvolt = <1200000>; 178*4882a593Smuzhiyun regulator-max-microvolt = <3750000>; 179*4882a593Smuzhiyun regulator-enable-ramp-delay = <100>; 180*4882a593Smuzhiyun regulator-ramp-delay = <25000>; 181*4882a593Smuzhiyun regulator-boot-on; 182*4882a593Smuzhiyun }; 183*4882a593Smuzhiyun 184*4882a593Smuzhiyun vddsdcore: LDO_SDCORE { 185*4882a593Smuzhiyun regulator-name = "vddsdcore"; 186*4882a593Smuzhiyun regulator-min-microvolt = <1200000>; 187*4882a593Smuzhiyun regulator-max-microvolt = <3750000>; 188*4882a593Smuzhiyun regulator-enable-ramp-delay = <100>; 189*4882a593Smuzhiyun regulator-ramp-delay = <25000>; 190*4882a593Smuzhiyun }; 191*4882a593Smuzhiyun 192*4882a593Smuzhiyun vddsdio: LDO_SDIO { 193*4882a593Smuzhiyun regulator-name = "vddsdio"; 194*4882a593Smuzhiyun regulator-min-microvolt = <1200000>; 195*4882a593Smuzhiyun regulator-max-microvolt = <3750000>; 196*4882a593Smuzhiyun regulator-enable-ramp-delay = <100>; 197*4882a593Smuzhiyun regulator-ramp-delay = <25000>; 198*4882a593Smuzhiyun }; 199*4882a593Smuzhiyun 200*4882a593Smuzhiyun vddwifipa: LDO_WIFIPA { 201*4882a593Smuzhiyun regulator-name = "vddwifipa"; 202*4882a593Smuzhiyun regulator-min-microvolt = <1200000>; 203*4882a593Smuzhiyun regulator-max-microvolt = <3750000>; 204*4882a593Smuzhiyun regulator-enable-ramp-delay = <100>; 205*4882a593Smuzhiyun regulator-ramp-delay = <25000>; 206*4882a593Smuzhiyun }; 207*4882a593Smuzhiyun 208*4882a593Smuzhiyun vddusb33: LDO_USB33 { 209*4882a593Smuzhiyun regulator-name = "vddusb33"; 210*4882a593Smuzhiyun regulator-min-microvolt = <1200000>; 211*4882a593Smuzhiyun regulator-max-microvolt = <3750000>; 212*4882a593Smuzhiyun regulator-enable-ramp-delay = <100>; 213*4882a593Smuzhiyun regulator-ramp-delay = <25000>; 214*4882a593Smuzhiyun }; 215*4882a593Smuzhiyun 216*4882a593Smuzhiyun vddcamd0: LDO_CAMD0 { 217*4882a593Smuzhiyun regulator-name = "vddcamd0"; 218*4882a593Smuzhiyun regulator-min-microvolt = <1000000>; 219*4882a593Smuzhiyun regulator-max-microvolt = <1793750>; 220*4882a593Smuzhiyun regulator-enable-ramp-delay = <100>; 221*4882a593Smuzhiyun regulator-ramp-delay = <25000>; 222*4882a593Smuzhiyun }; 223*4882a593Smuzhiyun 224*4882a593Smuzhiyun vddcamd1: LDO_CAMD1 { 225*4882a593Smuzhiyun regulator-name = "vddcamd1"; 226*4882a593Smuzhiyun regulator-min-microvolt = <1000000>; 227*4882a593Smuzhiyun regulator-max-microvolt = <1793750>; 228*4882a593Smuzhiyun regulator-enable-ramp-delay = <100>; 229*4882a593Smuzhiyun regulator-ramp-delay = <25000>; 230*4882a593Smuzhiyun }; 231*4882a593Smuzhiyun 232*4882a593Smuzhiyun vddcon: LDO_CON { 233*4882a593Smuzhiyun regulator-name = "vddcon"; 234*4882a593Smuzhiyun regulator-min-microvolt = <1000000>; 235*4882a593Smuzhiyun regulator-max-microvolt = <1793750>; 236*4882a593Smuzhiyun regulator-enable-ramp-delay = <100>; 237*4882a593Smuzhiyun regulator-ramp-delay = <25000>; 238*4882a593Smuzhiyun }; 239*4882a593Smuzhiyun 240*4882a593Smuzhiyun vddcamio: LDO_CAMIO { 241*4882a593Smuzhiyun regulator-name = "vddcamio"; 242*4882a593Smuzhiyun regulator-min-microvolt = <1000000>; 243*4882a593Smuzhiyun regulator-max-microvolt = <1793750>; 244*4882a593Smuzhiyun regulator-enable-ramp-delay = <100>; 245*4882a593Smuzhiyun regulator-ramp-delay = <25000>; 246*4882a593Smuzhiyun }; 247*4882a593Smuzhiyun 248*4882a593Smuzhiyun vddsram: LDO_SRAM { 249*4882a593Smuzhiyun regulator-name = "vddsram"; 250*4882a593Smuzhiyun regulator-min-microvolt = <1000000>; 251*4882a593Smuzhiyun regulator-max-microvolt = <1793750>; 252*4882a593Smuzhiyun regulator-enable-ramp-delay = <100>; 253*4882a593Smuzhiyun regulator-ramp-delay = <25000>; 254*4882a593Smuzhiyun regulator-always-on; 255*4882a593Smuzhiyun }; 256*4882a593Smuzhiyun }; 257*4882a593Smuzhiyun }; 258*4882a593Smuzhiyun}; 259