On 26/08/24 21:41, Bryan Brattlof wrote: > On August 26, 2024 thus sayeth Dhruva Gole: >> Hi Bryan, >> >> On Aug 23, 2024 at 16:54:30 -0500, Bryan Brattlof wrote: >>> ONe power management technique available to the Cortex-A53s is their >> >> s/ONe/One >> >>> ability to dynamically scale their frequency across the device's >>> Operating Performance Points (OPP) >>> >>> The OPPs available for the Cortex-A53s on the AM62Px can vary based on >>> the silicon variant used. The SoC variant is encoded into the >>> WKUP_MMR0_WKUP0_CTRL_MMR0_JTAG_USER_ID register which is used to limit >>> the OPP entries the SoC supports. A table of all these variants can be >>> found in its data sheet[0] for the AM62Px processor family. >> >> Error 404! Not found [0] ;) >> > > Oops. I'll fix these up > >>> >>> Add the OPP table into the SoC's ftdi file along with the syscon node to >> >> What is ftdi? > > FTDI is a chip, what I tried to type out was fdti or Flattened Device > Tree Includes :) > >> >>> describe the WKUP_MMR0_WKUP0_CTRL_MMR0_JTAG_USER_ID register to detect >>> the SoC variant. >>> >>> Signed-off-by: Bryan Brattlof <bb@xxxxxx> >>> --- >>> .../boot/dts/ti/k3-am62p-j722s-common-wakeup.dtsi | 5 +++ >>> arch/arm64/boot/dts/ti/k3-am62p5.dtsi | 47 ++++++++++++++++++++++ >>> 2 files changed, 52 insertions(+) >>> >>> diff --git a/arch/arm64/boot/dts/ti/k3-am62p-j722s-common-wakeup.dtsi b/arch/arm64/boot/dts/ti/k3-am62p-j722s-common-wakeup.dtsi >>> index 315d0092e7366..6f32135f00a55 100644 >>> --- a/arch/arm64/boot/dts/ti/k3-am62p-j722s-common-wakeup.dtsi >>> +++ b/arch/arm64/boot/dts/ti/k3-am62p-j722s-common-wakeup.dtsi >>> @@ -20,6 +20,11 @@ chipid: chipid@14 { >>> bootph-all; >>> }; >>> >>> + opp_efuse_table: syscon@18 { >>> + compatible = "ti,am62-opp-efuse-table", "syscon"; >> >> Huh, curious why I don't see this particular compatible in am62 itself.. >> Also, I am still not clear where this discussion got left off: (If it's >> related) >> https://lore.kernel.org/all/5chxjwybmsxq73pagtlw4zr2asbtxov7ezrpn5j37cr77bmepa@fejdlxomfgae/ >> >> In AM625, I see >> k3-am625.dtsi:111: col 14: syscon = <&wkup_conf>; >> >> But the approach you've used here seems different. Is there a >> justification given on which one should be used/why somewhere that I can >> refer? > > Labeling the entire &wkup_conf as a syscon node is kinda abusing what > the syscon node is used for. There are a lot of things inside that > WKUP_CTRL_MMR that do not belong under the miscellaneous registers > category. For the 62A and 62P we've chosen to label &wkup_conf as a bus > with little syscon sub-nodes inside of it. > > I don't think the discussion[0] ever finalized but we started going that > direction with new SoCs, looks like the older SoCs never received the > cleanup. This patch seems to be in the right direction. Marking entire wkup_conf as "syscon", "simple-mfd" is wrong and needs to be addressed in k3-am62-wakeup.dtsi similar to how other child-nodes in wkup_conf are implemented in same file. [...] -- Regards Vignesh