/*
* Spreadtrum SC2731 PMIC dts file
*
* Copyright (C) 2018, Spreadtrum Communications Inc.
*
* SPDX-License-Identifier: (GPL-2.0+ OR MIT)
*/
&adi_bus {
sc2731_pmic: pmic@0 {
compatible = "sprd,sc2731";
reg = <0>;
spi-max-frequency = <26000000>;
interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
interrupt-controller;
#interrupt-cells = <1>;
#address-cells = <1>;
#size-cells = <0>;
charger@0 {
compatible = "sprd,sc2731-charger";
reg = <0x0>;
monitored-battery = <&bat>;
};
led-controller@200 {
compatible = "sprd,sc2731-bltc";
reg = <0x200>;
#address-cells = <1>;
#size-cells = <0>;
led@0 {
label = "red";
reg = <0x0>;
};
led@1 {
label = "green";
reg = <0x1>;
};
led@2 {
label = "blue";
reg = <0x2>;
};
};
rtc@280 {
compatible = "sprd,sc2731-rtc";
reg = <0x280>;
interrupt-parent = <&sc2731_pmic>;
interrupts = <2>;
};
pmic_eic: gpio@300 {
compatible = "sprd,sc2731-eic";
reg = <0x300>;
interrupt-parent = <&sc2731_pmic>;
interrupts = <5>;
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;
};
efuse@380 {
compatible = "sprd,sc2731-efuse";
reg = <0x380>;
#address-cells = <1>;
#size-cells = <1>;
hwlocks = <&hwlock 12>;
fgu_calib: calib@6 {
reg = <0x6 0x2>;
bits = <0 9>;
};
adc_big_scale: calib@24 {
reg = <0x24 0x2>;
};
adc_small_scale: calib@26 {
reg = <0x26 0x2>;
};
};
pmic_adc: adc@480 {
compatible = "sprd,sc2731-adc";
reg = <0x480>;
interrupt-parent = <&sc2731_pmic>;
interrupts = <0>;
#io-channel-cells = <1>;
hwlocks = <&hwlock 4>;
nvmem-cell-names = "big_scale_calib", "small_scale_calib";
nvmem-cells = <&adc_big_scale>, <&adc_small_scale>;
};
fgu@a00 {
compatible = "sprd,sc2731-fgu";
reg = <0xa00>;
bat-detect-gpio = <&pmic_eic 9 GPIO_ACTIVE_HIGH>;
io-channels = <&pmic_adc 3>, <&pmic_adc 6>;
io-channel-names = "bat-temp", "charge-vol";
monitored-battery = <&bat>;
nvmem-cell-names = "fgu_calib";
nvmem-cells = <&fgu_calib>;
interrupt-parent = <&sc2731_pmic>;
interrupts = <4>;
};
vibrator@ec8 {
compatible = "sprd,sc2731-vibrator";
reg = <0xec8>;
};
regulators {
compatible = "sprd,sc2731-regulator";
vddarm0: BUCK_CPU0 {
regulator-name = "vddarm0";
regulator-min-microvolt = <400000>;
regulator-max-microvolt = <1996875>;
regulator-ramp-delay = <25000>;
regulator-always-on;
};
vddarm1: BUCK_CPU1 {
regulator-name = "vddarm1";
regulator-min-microvolt = <400000>;
regulator-max-microvolt = <1996875>;
regulator-ramp-delay = <25000>;
regulator-always-on;
};
dcdcrf: BUCK_RF {
regulator-name = "dcdcrf";
regulator-min-microvolt = <600000>;
regulator-max-microvolt = <2196875>;
regulator-ramp-delay = <25000>;
regulator-enable-ramp-delay = <100>;
regulator-always-on;
};
vddcama0: LDO_CAMA0 {
regulator-name = "vddcama0";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <3750000>;
regulator-enable-ramp-delay = <100>;
};
vddcama1: LDO_CAMA1 {
regulator-name = "vddcama1";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <3750000>;
regulator-enable-ramp-delay = <100>;
regulator-ramp-delay = <25000>;
};
vddcammot: LDO_CAMMOT {
regulator-name = "vddcammot";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <3750000>;
regulator-enable-ramp-delay = <100>;
regulator-ramp-delay = <25000>;
};
vddvldo: LDO_VLDO {
regulator-name = "vddvldo";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <3750000>;
regulator-enable-ramp-delay = <100>;
regulator-ramp-delay = <25000>;
};
vddemmccore: LDO_EMMCCORE {
regulator-name = "vddemmccore";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <3750000>;
regulator-enable-ramp-delay = <100>;
regulator-ramp-delay = <25000>;
regulator-boot-on;
};
vddsdcore: LDO_SDCORE {
regulator-name = "vddsdcore";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <3750000>;
regulator-enable-ramp-delay = <100>;
regulator-ramp-delay = <25000>;
};
vddsdio: LDO_SDIO {
regulator-name = "vddsdio";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <3750000>;
regulator-enable-ramp-delay = <100>;
regulator-ramp-delay = <25000>;
};
vddwifipa: LDO_WIFIPA {
regulator-name = "vddwifipa";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <3750000>;
regulator-enable-ramp-delay = <100>;
regulator-ramp-delay = <25000>;
};
vddusb33: LDO_USB33 {
regulator-name = "vddusb33";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <3750000>;
regulator-enable-ramp-delay = <100>;
regulator-ramp-delay = <25000>;
};
vddcamd0: LDO_CAMD0 {
regulator-name = "vddcamd0";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1793750>;
regulator-enable-ramp-delay = <100>;
regulator-ramp-delay = <25000>;
};
vddcamd1: LDO_CAMD1 {
regulator-name = "vddcamd1";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1793750>;
regulator-enable-ramp-delay = <100>;
regulator-ramp-delay = <25000>;
};
vddcon: LDO_CON {
regulator-name = "vddcon";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1793750>;
regulator-enable-ramp-delay = <100>;
regulator-ramp-delay = <25000>;
};
vddcamio: LDO_CAMIO {
regulator-name = "vddcamio";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1793750>;
regulator-enable-ramp-delay = <100>;
regulator-ramp-delay = <25000>;
};
vddsram: LDO_SRAM {
regulator-name = "vddsram";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1793750>;
regulator-enable-ramp-delay = <100>;
regulator-ramp-delay = <25000>;
regulator-always-on;
};
};
};
};