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. ~Bryan [0] https://lore.kernel.org/all/e7114cb4-e24f-4e78-a89f-4e2e2e704b8a@xxxxxx/