Skip to contentSkip to conversation

Cleanup Spreadtrum/Unisoc ARM64 DT (part 2)

PATCH Applied Stanislav Jakubek 4 participants 12 messages Nov 6, 2024 – Dec 5, 2024

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

v2 cover Cleanup Spreadtrum/Unisoc ARM64 DT (part 2)

This series continues cleaning up various issues with the Spreadtrum/Unisoc ARM64 DeviceTrees.

Changes in V2:
- dropped original patch 2, as it was split off into its own series [1]
- new patches 2, 4 and 5 which fix some issues found by Rob's bot and/or CHECK_DTBS=y
- rebase on next-20241106

[1] https://lore.kernel.org/lkml/[email protected]/

Link to V1: https://lore.kernel.org/lkml/[email protected]/

Stanislav Jakubek (5):
arm64: dts: sprd: sp9860g-1h10: fix
constant-charge-voltage-max-microvolt property
arm64: dts: sprd: sp9860g-1h10: fix
factory-internal-resistance-micro-ohms property
arm64: dts: sprd: sc2731: move fuel-gauge monitored-battery to device
DTS
arm64: dts: sprd: sc9863a: fix in-ports property
arm64: dts: sprd: sc9863a: reorder clocks, clock-names per bindings

 arch/arm64/boot/dts/sprd/sc2731.dtsi      |  4 ++--
 arch/arm64/boot/dts/sprd/sc9863a.dtsi     | 14 +++++++-------
 arch/arm64/boot/dts/sprd/sp9860g-1h10.dts |  9 +++++++--
 3 files changed, 16 insertions(+), 11 deletions(-)
Signature · 1 line
2.43.0
#1 lore raw

PATCH v2 1/5 arm64: dts: sprd: sp9860g-1h10: fix constant-charge-voltage-max-microvolt property

This property has hyphens/dashes, not underscores.

---
Changes in V2:
- collect Baolin's R-b

 arch/arm64/boot/dts/sprd/sp9860g-1h10.dts | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
arch/arm64/boot/dts/sprd/sp9860g-1h10.dts +1 -1
index 095b24a31313..cd8b1069e387 100644
@@ -71,7 +71,7 @@ bat: battery {
 		compatible = "simple-battery";
 		charge-full-design-microamp-hours = <1900000>;
 		charge-term-current-microamp = <120000>;
-		constant_charge_voltage_max_microvolt = <4350000>;
+		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>,
Signature · 1 line
2.43.0
maintainer Acked-by on v2 1/5
#2 lore raw

Re: [PATCH v2 1/5] arm64: dts: sprd: sp9860g-1h10: fix constant-charge-voltage-max-microvolt property

Quoted 10 lines · Stanislav Jakubek

This property has hyphens/dashes, not underscores.

---
Changes in V2:
- collect Baolin's R-b

 arch/arm64/boot/dts/sprd/sp9860g-1h10.dts | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
#3 lore raw

PATCH v2 2/5 arm64: dts: sprd: sp9860g-1h10: fix factory-internal-resistance-micro-ohms property

In reply to Stanislav Jakubek

As per DT bindings, this property was missing the "factory-" prefix.

---
Changes in V2:
- new patch

I thought about squashing this with the 1st patch, but I wanted to keep Baolin's R-b, so I kept it separate.

 arch/arm64/boot/dts/sprd/sp9860g-1h10.dts | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
arch/arm64/boot/dts/sprd/sp9860g-1h10.dts +1 -1
index cd8b1069e387..94af7700f3e2 100644
@@ -72,7 +72,7 @@ bat: battery {
 		charge-full-design-microamp-hours = <1900000>;
 		charge-term-current-microamp = <120000>;
 		constant-charge-voltage-max-microvolt = <4350000>;
-		internal-resistance-micro-ohms = <250000>;
+		factory-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>,
Signature · 1 line
2.43.0
Reviewed-by on v2 2/5
#4 lore raw

Re: [PATCH v2 2/5] arm64: dts: sprd: sp9860g-1h10: fix factory-internal-resistance-micro-ohms property

Quoted 3 lines · Stanislav Jakubek

As per DT bindings, this property was missing the "factory-" prefix.

Thanks. LGTM.

Quoted 23 lines

---
Changes in V2:
- new patch

I thought about squashing this with the 1st patch, but I wanted to keep Baolin's R-b, so I kept it separate.

  arch/arm64/boot/dts/sprd/sp9860g-1h10.dts | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
arch/arm64/boot/dts/sprd/sp9860g-1h10.dts +1 -1
index cd8b1069e387..94af7700f3e2 100644
@@ -72,7 +72,7 @@ bat: battery {
  		charge-full-design-microamp-hours = <1900000>;
  		charge-term-current-microamp = <120000>;
  		constant-charge-voltage-max-microvolt = <4350000>;
-		internal-resistance-micro-ohms = <250000>;
+		factory-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>,
#5 lore raw

PATCH v2 3/5 arm64: dts: sprd: sc2731: move fuel-gauge monitored-battery to device DTS

In reply to Stanislav Jakubek

The monitored-battery property is a property of the board, not the PMIC. Move this property to the DTS of its only user, sp9860g-1h10. While at it, disable the fuel-gauge node by default and enable it only for its users, as it requires board-specific properties to work correctly.

---
Changes in V2:
- none

Note that the 'sprd,calib-resistance-micro-ohms' property isn't specified as I do not have the board or any other source of information about it.

If the SPRD folks could chime in here, that'd be great.

 arch/arm64/boot/dts/sprd/sc2731.dtsi      | 4 ++--
 arch/arm64/boot/dts/sprd/sp9860g-1h10.dts | 5 +++++
 2 files changed, 7 insertions(+), 2 deletions(-)
arch/arm64/boot/dts/sprd/sc2731.dtsi +2 -2
index 12136e68dada..2d27427c41a2 100644
@@ -94,17 +94,17 @@ pmic_adc: adc@480 {
 			nvmem-cells = <&adc_big_scale>, <&adc_small_scale>;
 		};
 
-		fuel-gauge@a00 {
+		pmic_fgu: fuel-gauge@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>;
+			status = "disabled";
 		};
 
 		vibrator@ec8 {
arch/arm64/boot/dts/sprd/sp9860g-1h10.dts +5 -0
index 94af7700f3e2..b1fa817ece1e 100644
@@ -84,6 +84,11 @@ bat: battery {
 	};
 };
 
+&pmic_fgu {
+	monitored-battery = <&bat>;
+	status = "okay";
+};
+
 &uart0 {
 	status = "okay";
 };
Signature · 1 line
2.43.0
Reviewed-by on v2 3/5
#6 lore raw

Re: [PATCH v2 3/5] arm64: dts: sprd: sc2731: move fuel-gauge monitored-battery to device DTS

Quoted 6 lines · Stanislav Jakubek

The monitored-battery property is a property of the board, not the PMIC. Move this property to the DTS of its only user, sp9860g-1h10. While at it, disable the fuel-gauge node by default and enable it only for its users, as it requires board-specific properties to work correctly.

Looks reasonable to me. Thanks.

Quoted 53 lines

---
Changes in V2:
- none

Note that the 'sprd,calib-resistance-micro-ohms' property isn't specified as I do not have the board or any other source of information about it.

If the SPRD folks could chime in here, that'd be great.

  arch/arm64/boot/dts/sprd/sc2731.dtsi      | 4 ++--
  arch/arm64/boot/dts/sprd/sp9860g-1h10.dts | 5 +++++
  2 files changed, 7 insertions(+), 2 deletions(-)
arch/arm64/boot/dts/sprd/sc2731.dtsi +2 -2
index 12136e68dada..2d27427c41a2 100644
@@ -94,17 +94,17 @@ pmic_adc: adc@480 {
  			nvmem-cells = <&adc_big_scale>, <&adc_small_scale>;
  		};
 
-		fuel-gauge@a00 {
+		pmic_fgu: fuel-gauge@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>;
+			status = "disabled";
  		};
 
  		vibrator@ec8 {
arch/arm64/boot/dts/sprd/sp9860g-1h10.dts +5 -0
index 94af7700f3e2..b1fa817ece1e 100644
@@ -84,6 +84,11 @@ bat: battery {
  	};
  };
 
+&pmic_fgu {
+	monitored-battery = <&bat>;
+	status = "okay";
+};
+
  &uart0 {
  	status = "okay";
  };
#7 lore raw

PATCH v2 4/5 arm64: dts: sprd: sc9863a: fix in-ports property

In reply to Stanislav Jakubek

This property is called "in-ports", not "in-port", fix it.

---
Changes in V2:
- new patch

 arch/arm64/boot/dts/sprd/sc9863a.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
arch/arm64/boot/dts/sprd/sc9863a.dtsi +1 -1
index e5a2857721e2..31172ac44adc 100644
@@ -288,7 +288,7 @@ etf_little_out: endpoint {
 				};
 			};
 
-			in-port {
+			in-ports {
 				port {
 					etf_little_in: endpoint {
 						remote-endpoint =
Signature · 1 line
2.43.0
Reviewed-by on v2 4/5
#8 lore raw

Re: [PATCH v2 4/5] arm64: dts: sprd: sc9863a: fix in-ports property

Quoted 3 lines · Stanislav Jakubek

This property is called "in-ports", not "in-port", fix it.

LGTM.

Quoted 20 lines

---
Changes in V2:
- new patch

  arch/arm64/boot/dts/sprd/sc9863a.dtsi | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
arch/arm64/boot/dts/sprd/sc9863a.dtsi +1 -1
index e5a2857721e2..31172ac44adc 100644
@@ -288,7 +288,7 @@ etf_little_out: endpoint {
  				};
  			};
 
-			in-port {
+			in-ports {
  				port {
  					etf_little_in: endpoint {
  						remote-endpoint =
#9 lore raw

PATCH v2 5/5 arm64: dts: sprd: sc9863a: reorder clocks, clock-names per bindings

In reply to Stanislav Jakubek

DT bindings expect the SC9863A clock-controller clocks/clock-names to be in a specific order, reorder them.

---
Changes in V2:
- new patch

 arch/arm64/boot/dts/sprd/sc9863a.dtsi | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)
arch/arm64/boot/dts/sprd/sc9863a.dtsi +6 -6
index 31172ac44adc..e97000e560e7 100644
@@ -163,18 +163,18 @@ gic: interrupt-controller@14000000 {
 		ap_clk: clock-controller@21500000 {
 			compatible = "sprd,sc9863a-ap-clk";
 			reg = <0 0x21500000 0 0x1000>;
-			clocks = <&ext_32k>, <&ext_26m>;
-			clock-names = "ext-32k", "ext-26m";
+			clocks = <&ext_26m>, <&ext_32k>;
+			clock-names = "ext-26m", "ext-32k";
 			#clock-cells = <1>;
 		};
 
 		aon_clk: clock-controller@402d0000 {
 			compatible = "sprd,sc9863a-aon-clk";
 			reg = <0 0x402d0000 0 0x1000>;
-			clocks = <&ext_26m>, <&rco_100m>,
-				 <&ext_32k>, <&ext_4m>;
-			clock-names = "ext-26m", "rco-100m",
-				      "ext-32k", "ext-4m";
+			clocks = <&ext_26m>, <&ext_32k>,
+				 <&ext_4m>, <&rco_100m>;
+			clock-names = "ext-26m", "ext-32k",
+				      "ext-4m", "rco-100m";
 			#clock-cells = <1>;
 		};
 
Signature · 1 line
2.43.0
Reviewed-by on v2 5/5
#10 lore raw

Re: [PATCH v2 5/5] arm64: dts: sprd: sc9863a: reorder clocks, clock-names per bindings

Quoted 4 lines · Stanislav Jakubek

DT bindings expect the SC9863A clock-controller clocks/clock-names to be in a specific order, reorder them.

Thanks.

Quoted 36 lines

---
Changes in V2:
- new patch

  arch/arm64/boot/dts/sprd/sc9863a.dtsi | 12 ++++++------
  1 file changed, 6 insertions(+), 6 deletions(-)
arch/arm64/boot/dts/sprd/sc9863a.dtsi +6 -6
index 31172ac44adc..e97000e560e7 100644
@@ -163,18 +163,18 @@ gic: interrupt-controller@14000000 {
  		ap_clk: clock-controller@21500000 {
  			compatible = "sprd,sc9863a-ap-clk";
  			reg = <0 0x21500000 0 0x1000>;
-			clocks = <&ext_32k>, <&ext_26m>;
-			clock-names = "ext-32k", "ext-26m";
+			clocks = <&ext_26m>, <&ext_32k>;
+			clock-names = "ext-26m", "ext-32k";
  			#clock-cells = <1>;
  		};
 
  		aon_clk: clock-controller@402d0000 {
  			compatible = "sprd,sc9863a-aon-clk";
  			reg = <0 0x402d0000 0 0x1000>;
-			clocks = <&ext_26m>, <&rco_100m>,
-				 <&ext_32k>, <&ext_4m>;
-			clock-names = "ext-26m", "rco-100m",
-				      "ext-32k", "ext-4m";
+			clocks = <&ext_26m>, <&ext_32k>,
+				 <&ext_4m>, <&rco_100m>;
+			clock-names = "ext-26m", "ext-32k",
+				      "ext-4m", "rco-100m";
  			#clock-cells = <1>;
  		};
 
#11 lore raw
In reply to Stanislav Jakubek
Quoted 10 lines · Stanislav Jakubek

This series continues cleaning up various issues with the Spreadtrum/Unisoc ARM64 DeviceTrees.

Changes in V2:
- dropped original patch 2, as it was split off into its own series [1]
- new patches 2, 4 and 5 which fix some issues found by Rob's bot and/or CHECK_DTBS=y
- rebase on next-20241106

[...]

Applied, thanks!

[1/5] arm64: dts: sprd: sp9860g-1h10: fix constant-charge-voltage-max-microvolt property

      https://git.kernel.org/krzk/linux-dt/c/367d31471c3272b87a7e842355b2aa4bc688add8
[2/5] arm64: dts: sprd: sp9860g-1h10: fix factory-internal-resistance-micro-ohms property
      https://git.kernel.org/krzk/linux-dt/c/e864e215ce2197cd5d5c0e9229b4bb83379a5186
[3/5] arm64: dts: sprd: sc2731: move fuel-gauge monitored-battery to device DTS
      https://git.kernel.org/krzk/linux-dt/c/ec87fd9f66bb8196ce4c80b6f9a02a8fdb452821
[4/5] arm64: dts: sprd: sc9863a: fix in-ports property
      https://git.kernel.org/krzk/linux-dt/c/a34907f484949e3a550a54a19d71e8616d812d7e
[5/5] arm64: dts: sprd: sc9863a: reorder clocks, clock-names per bindings
      https://git.kernel.org/krzk/linux-dt/c/49f4ad82f031ac390ea4571a5bf7d58ee27ce4f2

Best regards,

Signature · 1 line
Krzysztof Kozlowski <[email protected]>