Add new device nodes for Spreadtrum SC9860 platform
Subsystems (2)
v2 cover Add new device nodes for Spreadtrum SC9860 platform
This patch set adds charger and fuel gauge device nodes for Spreadtrum SC2731 PMIC, it also removes redundant irq trigger setting for PMIC devices and adds nvmem cells for ADC to calibrate the ADC channel scales.
Moreover we also remove the wildcard compatible string.
Changes from v1:
- Remove wildcard compatible string.
Baolin Wang (5):
arm64: dts: sprd: Remove PMIC INTC irq trigger type
arm64: dts: sprd: Add ADC calibration support
arm64: dts: sprd: Add SC2731 charger device
arm64: dts: sprd: Add SC27XX fuel gauge device
arm64: dts: sprd: Remove wildcard compatible string
arch/arm64/boot/dts/sprd/sc2731.dtsi | 56 +++++++++++++++++++++++------ arch/arm64/boot/dts/sprd/sp9860g-1h10.dts | 16 +++++++++ 2 files changed, 61 insertions(+), 11 deletions(-)
Signature · 1 line
1.7.9.5
PATCH v2 1/5 arm64: dts: sprd: Remove PMIC INTC irq trigger type
The Spreadtrum PMIC INTC controller has no registers to set trigger type, since it is always high level trigger as default. So remove its child devices' irq trigger type setting and change #interrupt-cells to 1.
--- arch/arm64/boot/dts/sprd/sc2731.dtsi | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
arch/arm64/boot/dts/sprd/sc2731.dtsi +4 -4
@@ -13,7 +13,7 @@ spi-max-frequency = <26000000>; interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; interrupt-controller; - #interrupt-cells = <2>; + #interrupt-cells = <1>; #address-cells = <1>; #size-cells = <0>;
@@ -43,14 +43,14 @@ compatible = "sprd,sc27xx-rtc", "sprd,sc2731-rtc"; reg = <0x280>; interrupt-parent = <&sc2731_pmic>; - interrupts = <2 IRQ_TYPE_LEVEL_HIGH>; + interrupts = <2>; }; pmic_eic: gpio@300 { compatible = "sprd,sc27xx-eic"; reg = <0x300>; interrupt-parent = <&sc2731_pmic>; - interrupts = <5 IRQ_TYPE_LEVEL_HIGH>; + interrupts = <5>; gpio-controller; #gpio-cells = <2>; interrupt-controller;
@@ -69,7 +69,7 @@ compatible = "sprd,sc27xx-adc", "sprd,sc2731-adc"; reg = <0x480>; interrupt-parent = <&sc2731_pmic>; - interrupts = <0 IRQ_TYPE_LEVEL_HIGH>; + interrupts = <0>; #io-channel-cells = <1>; hwlocks = <&hwlock 4>; };
Signature · 1 line
1.7.9.5
PATCH v2 2/5 arm64: dts: sprd: Add ADC calibration support
In reply to Baolin WangThis patch adds phandles to the calibration cells provided by the Efuse device, which is used to calibrate the ADC channel scales.
--- arch/arm64/boot/dts/sprd/sc2731.dtsi | 10 ++++++++++ 1 file changed, 10 insertions(+)
arch/arm64/boot/dts/sprd/sc2731.dtsi +10 -0
@@ -63,6 +63,14 @@ #address-cells = <1>; #size-cells = <1>; hwlocks = <&hwlock 12>; + + adc_big_scale: calib@24 { + reg = <0x24 0x2>; + }; + + adc_small_scale: calib@26 { + reg = <0x26 0x2>; + }; }; pmic_adc: adc@480 {
@@ -72,6 +80,8 @@ 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>; }; vibrator@ec8 {
Signature · 1 line
1.7.9.5
PATCH v2 3/5 arm64: dts: sprd: Add SC2731 charger device
In reply to Baolin WangAdd charger device node and related battery node for SC2731 PMIC.
--- arch/arm64/boot/dts/sprd/sc2731.dtsi | 6 ++++++ arch/arm64/boot/dts/sprd/sp9860g-1h10.dts | 16 ++++++++++++++++ 2 files changed, 22 insertions(+)
arch/arm64/boot/dts/sprd/sc2731.dtsi +6 -0
@@ -17,6 +17,12 @@ #address-cells = <1>; #size-cells = <0>; + charger@0 { + compatible = "sprd,sc2731-charger"; + reg = <0x0>; + monitored-battery = <&bat>; + }; + led-controller@200 { compatible = "sprd,sc27xx-bltc", "sprd,sc2731-bltc"; reg = <0x200>;
arch/arm64/boot/dts/sprd/sp9860g-1h10.dts +16 -0
@@ -41,6 +41,22 @@ #size-cells = <2>; ranges; }; + + bat: battery { + compatible = "simple-battery"; + charge-full-design-microamp-hours = <1900000>; + charge-term-current-microamp = <120000>; + constant_charge_voltage_max_microvolt = <4350000>; + internal-resistance-micro-ohms = <250000>; + ocv-capacity-celsius = <20>; + ocv-capacity-table-0 = <4185000 100>, <4113000 95>, <4066000 90>, + <4022000 85>, <3983000 80>, <3949000 75>, + <3917000 70>, <3889000 65>, <3864000 60>, + <3835000 55>, <3805000 50>, <3787000 45>, + <3777000 40>, <3773000 35>, <3770000 30>, + <3765000 25>, <3752000 20>, <3724000 15>, + <3680000 10>, <3605000 5>, <3400000 0>; + }; }; &uart0 {
Signature · 1 line
1.7.9.5
PATCH v2 4/5 arm64: dts: sprd: Add SC27XX fuel gauge device
In reply to Baolin WangAdd Spreadtrum SC27XX fuel gauge device node to calculate the battery capacity.
--- arch/arm64/boot/dts/sprd/sc2731.dtsi | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+)
arch/arm64/boot/dts/sprd/sc2731.dtsi +18 -0
@@ -70,6 +70,11 @@ #size-cells = <1>; hwlocks = <&hwlock 12>; + fgu_calib: calib@6 { + reg = <0x6 0x2>; + bits = <0 9>; + }; + adc_big_scale: calib@24 { reg = <0x24 0x2>; };
@@ -90,6 +95,19 @@ 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,sc27xx-vibrator", "sprd,sc2731-vibrator"; reg = <0xec8>;
Signature · 1 line
1.7.9.5
PATCH v2 5/5 arm64: dts: sprd: Remove wildcard compatible string
In reply to Baolin WangRemove wildcard compatible string.
--- arch/arm64/boot/dts/sprd/sc2731.dtsi | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-)
arch/arm64/boot/dts/sprd/sc2731.dtsi +7 -7
@@ -24,7 +24,7 @@ }; led-controller@200 { - compatible = "sprd,sc27xx-bltc", "sprd,sc2731-bltc"; + compatible = "sprd,sc2731-bltc"; reg = <0x200>; #address-cells = <1>; #size-cells = <0>;
@@ -46,14 +46,14 @@ }; rtc@280 { - compatible = "sprd,sc27xx-rtc", "sprd,sc2731-rtc"; + compatible = "sprd,sc2731-rtc"; reg = <0x280>; interrupt-parent = <&sc2731_pmic>; interrupts = <2>; }; pmic_eic: gpio@300 { - compatible = "sprd,sc27xx-eic"; + compatible = "sprd,sc2731-eic"; reg = <0x300>; interrupt-parent = <&sc2731_pmic>; interrupts = <5>;
@@ -64,7 +64,7 @@ }; efuse@380 { - compatible = "sprd,sc27xx-efuse", "sprd,sc2731-efuse"; + compatible = "sprd,sc2731-efuse"; reg = <0x380>; #address-cells = <1>; #size-cells = <1>;
@@ -85,7 +85,7 @@ }; pmic_adc: adc@480 { - compatible = "sprd,sc27xx-adc", "sprd,sc2731-adc"; + compatible = "sprd,sc2731-adc"; reg = <0x480>; interrupt-parent = <&sc2731_pmic>; interrupts = <0>;
@@ -109,12 +109,12 @@ }; vibrator@ec8 { - compatible = "sprd,sc27xx-vibrator", "sprd,sc2731-vibrator"; + compatible = "sprd,sc2731-vibrator"; reg = <0xec8>; }; regulators { - compatible = "sprd,sc27xx-regulator"; + compatible = "sprd,sc2731-regulator"; vddarm0: BUCK_CPU0 { regulator-name = "vddarm0";
Signature · 1 line
1.7.9.5
Re: [PATCH v2 5/5] arm64: dts: sprd: Remove wildcard compatible string
Quoted 4 lines · Baolin Wang
Remove wildcard compatible string.
Signed-off-by Baolin Wang <[email protected]>
Looks good to me. It does break using the new dtb file on older kernels, but I suppose this is not a case we care much about yet on your platform, given that both the dts file sand the drivers in the kernel are still work in progress.
I had started the other reply I just sent before I saw this new mail.
Arnd
Re: [PATCH v2 5/5] arm64: dts: sprd: Remove wildcard compatible string
Quoted 5 lines · Arnd Bergmann
Quoted 3 lines · Baolin Wang
Remove wildcard compatible string.
Quoted 7 lines
Quoted 1 line
Signed-off-by Baolin Wang <[email protected]>Looks good to me. It does break using the new dtb file on older kernels, but I suppose this is not a case we care much about yet on your platform, given that both the dts file sand the drivers in the kernel are still work in progress.
Right. Thanks for your reviewing.
Quoted 4 lines
I had started the other reply I just sent before I saw this new mail.
Arnd
Signature · 2 lines
Baolin Wang Best Regards
Arnd Bergmann
AppliedRe: [PATCH v2 5/5] arm64: dts: sprd: Remove wildcard compatible string
Quoted 10 lines · Baolin Wang
Quoted 8 lines · Arnd Bergmann
Quoted 4 lines · Baolin Wang
Remove wildcard compatible string.
Signed-off-by Baolin Wang <[email protected]>
Quoted 6 lines
Quoted 4 lines
Looks good to me. It does break using the new dtb file on older kernels, but I suppose this is not a case we care much about yet on your platform, given that both the dts file sand the drivers in the kernel are still work in progress.
Right. Thanks for your reviewing.
I have applied patches 1 through 5 now. Thanks,
Arnd