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@xxxxxx> --- 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] [2] https://gist.github.com/DhruvaG2000/40b80cc04a9ac90c86445d6e67ece4cb [1] https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/drivers/cpufreq/ti-cpufreq.c?id=1724ae88efcbcd0daeb203ffeb4a2c0e59f2ddf7 Changelog: v3: - Update syscon@43000000 to say bus@... - Validated that these changes don't break U-Boot: https://gist.github.com/DhruvaG2000/2833b895dc79d5ce16265ecf15310add - Link to v2: https://lore.kernel.org/all/20241030044553.3225383-1-d-gole@xxxxxx/ 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@xxxxxx/ --- arch/arm64/boot/dts/ti/k3-am62-wakeup.dtsi | 9 +++++++-- arch/arm64/boot/dts/ti/k3-am625.dtsi | 2 +- 2 files changed, 8 insertions(+), 3 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..9b8a1f85aa15 100644 --- a/arch/arm64/boot/dts/ti/k3-am62-wakeup.dtsi +++ b/arch/arm64/boot/dts/ti/k3-am62-wakeup.dtsi @@ -8,9 +8,9 @@ #include <dt-bindings/bus/ti-sysc.h> &cbass_wakeup { - wkup_conf: syscon@43000000 { + wkup_conf: bus@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