[PATCH v2] arm64: dts: ti: k3-am62: use opp_efuse_table for opp-table syscon

Dhruva Gole posted 1 patch 3 weeks, 4 days ago
There is a newer version of this series
arch/arm64/boot/dts/ti/k3-am62-wakeup.dtsi | 7 ++++++-
arch/arm64/boot/dts/ti/k3-am625.dtsi       | 2 +-
2 files changed, 7 insertions(+), 2 deletions(-)
[PATCH v2] arm64: dts: ti: k3-am62: use opp_efuse_table for opp-table syscon
Posted by Dhruva Gole 3 weeks, 4 days ago
Add another entry in the wkup_conf for the syscon node, and then use
that for the syscon in opp-table.

Marking entire wkup_conf as "syscon", "simple-mfd" is wrong and needs to
be addressed similar to how other child-nodes in wkup_conf are implemented
in the same file.

Signed-off-by: Dhruva Gole <d-gole@ti.com>
---

Since the driver fixes for ti-cpufreq.c have made it in -next [1],
The DT fixes for SK-AM62x can be supported with support for legacy
style DT as well. This has been tested on SK-AM62x [2]

[1] https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/drivers/cpufreq/ti-cpufreq.c?id=1724ae88efcbcd0daeb203ffeb4a2c0e59f2ddf7
[2] https://gist.github.com/DhruvaG2000/40b80cc04a9ac90c86445d6e67ece4cb

Changelog:

Changes in v2:
- Deleted PATCH to Make the AM625 efuse_offset 0, because with [1] we no
  longer break backward compatibility and hence need to preserve the old
  offset.
- Link to v1:
  https://lore.kernel.org/linux-arm-kernel/20240902093222.2828345-3-d-gole@ti.com/

---
 arch/arm64/boot/dts/ti/k3-am62-wakeup.dtsi | 7 ++++++-
 arch/arm64/boot/dts/ti/k3-am625.dtsi       | 2 +-
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/boot/dts/ti/k3-am62-wakeup.dtsi b/arch/arm64/boot/dts/ti/k3-am62-wakeup.dtsi
index e0afafd532a5..b2b65e31c7cf 100644
--- a/arch/arm64/boot/dts/ti/k3-am62-wakeup.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am62-wakeup.dtsi
@@ -10,7 +10,7 @@
 &cbass_wakeup {
 	wkup_conf: syscon@43000000 {
 		bootph-all;
-		compatible = "syscon", "simple-mfd";
+		compatible = "simple-bus";
 		reg = <0x00 0x43000000 0x00 0x20000>;
 		#address-cells = <1>;
 		#size-cells = <1>;
@@ -22,6 +22,11 @@ chipid: chipid@14 {
 			reg = <0x14 0x4>;
 		};
 
+		opp_efuse_table: syscon@18 {
+			compatible = "ti,am62-opp-efuse-table", "syscon";
+			reg = <0x18 0x4>;
+		};
+
 		cpsw_mac_syscon: ethernet-mac-syscon@200 {
 			compatible = "ti,am62p-cpsw-mac-efuse", "syscon";
 			reg = <0x200 0x8>;
diff --git a/arch/arm64/boot/dts/ti/k3-am625.dtsi b/arch/arm64/boot/dts/ti/k3-am625.dtsi
index c3d1db47dc9f..c249883a8a8d 100644
--- a/arch/arm64/boot/dts/ti/k3-am625.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am625.dtsi
@@ -108,7 +108,7 @@ cpu3: cpu@3 {
 	a53_opp_table: opp-table {
 		compatible = "operating-points-v2-ti-cpu";
 		opp-shared;
-		syscon = <&wkup_conf>;
+		syscon = <&opp_efuse_table>;
 
 		opp-200000000 {
 			opp-hz = /bits/ 64 <200000000>;

base-commit: dec9255a128e19c5fcc3bdb18175d78094cc624d
-- 
2.34.1
Re: [PATCH v2] arm64: dts: ti: k3-am62: use opp_efuse_table for opp-table syscon
Posted by Vignesh Raghavendra 3 weeks, 4 days ago
Hi

On 30/10/24 10:15, Dhruva Gole wrote:
> Add another entry in the wkup_conf for the syscon node, and then use
> that for the syscon in opp-table.
> 
> Marking entire wkup_conf as "syscon", "simple-mfd" is wrong and needs to
> be addressed similar to how other child-nodes in wkup_conf are implemented
> in the same file.
> 
> Signed-off-by: Dhruva Gole <d-gole@ti.com>
> ---
> 
> Since the driver fixes for ti-cpufreq.c have made it in -next [1],
> The DT fixes for SK-AM62x can be supported with support for legacy
> style DT as well. This has been tested on SK-AM62x [2]
> 
> [1] https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/drivers/cpufreq/ti-cpufreq.c?id=1724ae88efcbcd0daeb203ffeb4a2c0e59f2ddf7
> [2] https://gist.github.com/DhruvaG2000/40b80cc04a9ac90c86445d6e67ece4cb
> 
> Changelog:
> 
> Changes in v2:
> - Deleted PATCH to Make the AM625 efuse_offset 0, because with [1] we no
>   longer break backward compatibility and hence need to preserve the old
>   offset.
> - Link to v1:
>   https://lore.kernel.org/linux-arm-kernel/20240902093222.2828345-3-d-gole@ti.com/
> 
> ---
>  arch/arm64/boot/dts/ti/k3-am62-wakeup.dtsi | 7 ++++++-
>  arch/arm64/boot/dts/ti/k3-am625.dtsi       | 2 +-
>  2 files changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/ti/k3-am62-wakeup.dtsi b/arch/arm64/boot/dts/ti/k3-am62-wakeup.dtsi
> index e0afafd532a5..b2b65e31c7cf 100644
> --- a/arch/arm64/boot/dts/ti/k3-am62-wakeup.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-am62-wakeup.dtsi
> @@ -10,7 +10,7 @@
>  &cbass_wakeup {
>  	wkup_conf: syscon@43000000 {

Now that the compatible is updated, this needs to be bus@addr
dtbs_check should catch such errors.

>  		bootph-all;
> -		compatible = "syscon", "simple-mfd";
> +		compatible = "simple-bus";

Did you also check U-Boot and make sure no regression/update needed?

>  		reg = <0x00 0x43000000 0x00 0x20000>;
>  		#address-cells = <1>;
>  		#size-cells = <1>;
> @@ -22,6 +22,11 @@ chipid: chipid@14 {
>  			reg = <0x14 0x4>;
>  		};
>  
> +		opp_efuse_table: syscon@18 {
> +			compatible = "ti,am62-opp-efuse-table", "syscon";
> +			reg = <0x18 0x4>;
> +		};
> +
>  		cpsw_mac_syscon: ethernet-mac-syscon@200 {
>  			compatible = "ti,am62p-cpsw-mac-efuse", "syscon";
>  			reg = <0x200 0x8>;
> diff --git a/arch/arm64/boot/dts/ti/k3-am625.dtsi b/arch/arm64/boot/dts/ti/k3-am625.dtsi
> index c3d1db47dc9f..c249883a8a8d 100644
> --- a/arch/arm64/boot/dts/ti/k3-am625.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-am625.dtsi
> @@ -108,7 +108,7 @@ cpu3: cpu@3 {
>  	a53_opp_table: opp-table {
>  		compatible = "operating-points-v2-ti-cpu";
>  		opp-shared;
> -		syscon = <&wkup_conf>;
> +		syscon = <&opp_efuse_table>;
>  
>  		opp-200000000 {
>  			opp-hz = /bits/ 64 <200000000>;
> 
> base-commit: dec9255a128e19c5fcc3bdb18175d78094cc624d

-- 
Regards
Vignesh
Re: [PATCH v2] arm64: dts: ti: k3-am62: use opp_efuse_table for opp-table syscon
Posted by Dhruva Gole 2 weeks, 6 days ago
On Oct 30, 2024 at 11:17:16 +0530, Vignesh Raghavendra wrote:
> Hi
> 
> On 30/10/24 10:15, Dhruva Gole wrote:
> > Add another entry in the wkup_conf for the syscon node, and then use
> > that for the syscon in opp-table.
> > 
> > Marking entire wkup_conf as "syscon", "simple-mfd" is wrong and needs to
> > be addressed similar to how other child-nodes in wkup_conf are implemented
> > in the same file.
> > 
> > Signed-off-by: Dhruva Gole <d-gole@ti.com>
> > ---
> > 
> > Since the driver fixes for ti-cpufreq.c have made it in -next [1],
> > The DT fixes for SK-AM62x can be supported with support for legacy
> > style DT as well. This has been tested on SK-AM62x [2]
> > 
> > [1] https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/drivers/cpufreq/ti-cpufreq.c?id=1724ae88efcbcd0daeb203ffeb4a2c0e59f2ddf7
> > [2] https://gist.github.com/DhruvaG2000/40b80cc04a9ac90c86445d6e67ece4cb
> > 
> > Changelog:
> > 
> > Changes in v2:
> > - Deleted PATCH to Make the AM625 efuse_offset 0, because with [1] we no
> >   longer break backward compatibility and hence need to preserve the old
> >   offset.
> > - Link to v1:
> >   https://lore.kernel.org/linux-arm-kernel/20240902093222.2828345-3-d-gole@ti.com/
> > 
> > ---
> >  arch/arm64/boot/dts/ti/k3-am62-wakeup.dtsi | 7 ++++++-
> >  arch/arm64/boot/dts/ti/k3-am625.dtsi       | 2 +-
> >  2 files changed, 7 insertions(+), 2 deletions(-)
> > 
> > diff --git a/arch/arm64/boot/dts/ti/k3-am62-wakeup.dtsi b/arch/arm64/boot/dts/ti/k3-am62-wakeup.dtsi
> > index e0afafd532a5..b2b65e31c7cf 100644
> > --- a/arch/arm64/boot/dts/ti/k3-am62-wakeup.dtsi
> > +++ b/arch/arm64/boot/dts/ti/k3-am62-wakeup.dtsi
> > @@ -10,7 +10,7 @@
> >  &cbass_wakeup {
> >  	wkup_conf: syscon@43000000 {
> 
> Now that the compatible is updated, this needs to be bus@addr
> dtbs_check should catch such errors.

Oh yes, I'll update this. Good catch.

> 
> >  		bootph-all;
> > -		compatible = "syscon", "simple-mfd";
> > +		compatible = "simple-bus";
> 
> Did you also check U-Boot and make sure no regression/update needed?
> 

No, I can do a quick sanity boot till kernel with this DTB in U-boot to
check for regressions.

Thanks for the review.

-- 
Best regards,
Dhruva Gole
Texas Instruments Incorporated