Re: [PATCH v2 3/4] arm64: dts: ti: k3-am62p: add opp frequencies
From: Bryan Brattlof <hidden>
Date: 2024-08-26 16:11:59
Also in:
linux-devicetree, lkml
On August 26, 2024 thus sayeth Dhruva Gole:
Hi Bryan, On Aug 23, 2024 at 16:54:30 -0500, Bryan Brattlof wrote:quoted
ONe power management technique available to the Cortex-A53s is theirs/ONe/Onequoted
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
quoted
Add the OPP table into the SoC's ftdi file along with the syscon node toWhat is ftdi?
FTDI is a chip, what I tried to type out was fdti or Flattened Device Tree Includes :)
quoted
describe the WKUP_MMR0_WKUP0_CTRL_MMR0_JTAG_USER_ID register to detect the SoC variant. Signed-off-by: Bryan Brattlof <redacted> --- .../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/ (local) 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@ti.com/ (local)