Aw: Re: [RFC v1 14/14] arm64: dts: mediatek: mt7988: add operating-points

From: Frank Wunderlich
Date: Wed Nov 27 2024 - 10:06:56 EST


> Gesendet: Mittwoch, 27. November 2024 um 14:34
&gt; Von: "AngeloGioacchino Del Regno" <angelogioacchino.delregno@xxxxxxxxxxxxx>
&gt; An: "Frank Wunderlich" <linux@xxxxxxxxx>, "Rob Herring" <robh@xxxxxxxxxx>, "Krzysztof Kozlowski" <krzk+dt@xxxxxxxxxx>, "Conor Dooley" <conor+dt@xxxxxxxxxx>, "Matthias Brugger" <matthias.bgg@xxxxxxxxx>
&gt; CC: "Frank Wunderlich" <frank-w@xxxxxxxxxxxxxxx>, devicetree@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-mediatek@xxxxxxxxxxxxxxxxxxx
&gt; Betreff: Re: [RFC v1 14/14] arm64: dts: mediatek: mt7988: add operating-points
&gt;
&gt; Il 29/10/24 11:39, Frank Wunderlich ha scritto:
&gt; &gt; From: Frank Wunderlich <frank-w@xxxxxxxxxxxxxxx>
&gt; &gt;
&gt; &gt; Add operating points defining frequency/voltages of cpu cores.
&gt; &gt;
&gt; &gt; Signed-off-by: Frank Wunderlich <frank-w@xxxxxxxxxxxxxxx>
&gt; &gt; ---
&gt; &gt; arch/arm64/boot/dts/mediatek/mt7988a.dtsi | 45 +++++++++++++++++++++--
&gt; &gt; 1 file changed, 41 insertions(+), 4 deletions(-)
&gt; &gt;
&gt; &gt; diff --git a/arch/arm64/boot/dts/mediatek/mt7988a.dtsi b/arch/arm64/boot/dts/mediatek/mt7988a.dtsi
&gt; &gt; index e037854666c1..25669d498617 100644
&gt; &gt; --- a/arch/arm64/boot/dts/mediatek/mt7988a.dtsi
&gt; &gt; +++ b/arch/arm64/boot/dts/mediatek/mt7988a.dtsi
&gt; &gt; @@ -16,32 +16,69 @@ cpus {
&gt; &gt; #address-cells = &lt;1&gt;;
&gt; &gt; #size-cells = &lt;0&gt;;
&gt; &gt;
&gt; &gt; - cpu@0 {
&gt; &gt; + cpu0: cpu@0 {
&gt;
&gt; Where are those cpuX labels used? I don't see any usage.

these are used in later patch and needed in uboot when we want to switch to OF_UPSTREAM.

&gt; &gt; compatible = "arm,cortex-a73";
&gt; &gt; reg = &lt;0x0&gt;;
&gt; &gt; device_type = "cpu";
&gt; &gt; enable-method = "psci";
&gt; &gt; + clocks = &lt;&amp;mcusys CLK_MCU_ARM_DIV_SEL&gt;,
&gt; &gt; + &lt;&amp;topckgen CLK_TOP_XTAL&gt;;
&gt; &gt; + clock-names = "cpu", "intermediate";
&gt; &gt; + operating-points-v2 = &lt;&amp;cluster0_opp&gt;;
&gt; &gt; };
&gt; &gt;
&gt; &gt; - cpu@1 {
&gt; &gt; + cpu1: cpu@1 {
&gt; &gt; compatible = "arm,cortex-a73";
&gt; &gt; reg = &lt;0x1&gt;;
&gt; &gt; device_type = "cpu";
&gt; &gt; enable-method = "psci";
&gt; &gt; + clocks = &lt;&amp;mcusys CLK_MCU_ARM_DIV_SEL&gt;,
&gt; &gt; + &lt;&amp;topckgen CLK_TOP_XTAL&gt;;
&gt; &gt; + clock-names = "cpu", "intermediate";
&gt; &gt; + operating-points-v2 = &lt;&amp;cluster0_opp&gt;;
&gt; &gt; };
&gt; &gt;
&gt; &gt; - cpu@2 {
&gt; &gt; + cpu2: cpu@2 {
&gt; &gt; compatible = "arm,cortex-a73";
&gt; &gt; reg = &lt;0x2&gt;;
&gt; &gt; device_type = "cpu";
&gt; &gt; enable-method = "psci";
&gt; &gt; + clocks = &lt;&amp;mcusys CLK_MCU_ARM_DIV_SEL&gt;,
&gt; &gt; + &lt;&amp;topckgen CLK_TOP_XTAL&gt;;
&gt; &gt; + clock-names = "cpu", "intermediate";
&gt; &gt; + operating-points-v2 = &lt;&amp;cluster0_opp&gt;;
&gt; &gt; };
&gt; &gt;
&gt; &gt; - cpu@3 {
&gt; &gt; + cpu3: cpu@3 {
&gt; &gt; compatible = "arm,cortex-a73";
&gt; &gt; reg = &lt;0x3&gt;;
&gt; &gt; device_type = "cpu";
&gt; &gt; enable-method = "psci";
&gt; &gt; + clocks = &lt;&amp;mcusys CLK_MCU_ARM_DIV_SEL&gt;,
&gt; &gt; + &lt;&amp;topckgen CLK_TOP_XTAL&gt;;
&gt; &gt; + clock-names = "cpu", "intermediate";
&gt; &gt; + operating-points-v2 = &lt;&amp;cluster0_opp&gt;;
&gt; &gt; + };
&gt; &gt; +
&gt; &gt; + cluster0_opp: opp-table-0 {
&gt; &gt; + compatible = "operating-points-v2";
&gt; &gt; + opp-shared;
&gt; &gt; + opp00 {
&gt;
&gt; ...But you can also be consistent with other devicetrees and follow the pattern
&gt; for the node names of the OPP entries.
&gt;
&gt; opp-800000000
&gt; opp-1100000000
&gt; ...etc

ok, will change this..so just adding the opp-hz value to the name (or label)?

&gt; Cheers,
&gt; Angelo
&gt;
&gt; &gt; + opp-hz = /bits/ 64 &lt;800000000&gt;;
&gt; &gt; + opp-microvolt = &lt;850000&gt;;
&gt; &gt; + };
&gt; &gt; + opp01 {
&gt; &gt; + opp-hz = /bits/ 64 &lt;1100000000&gt;;
&gt; &gt; + opp-microvolt = &lt;850000&gt;;
&gt; &gt; + };
&gt; &gt; + opp02 {
&gt; &gt; + opp-hz = /bits/ 64 &lt;1500000000&gt;;
&gt; &gt; + opp-microvolt = &lt;850000&gt;;
&gt; &gt; + };
&gt; &gt; + opp03 {
&gt; &gt; + opp-hz = /bits/ 64 &lt;1800000000&gt;;
&gt; &gt; + opp-microvolt = &lt;900000&gt;;
&gt; &gt; + };
&gt; &gt; };
&gt; &gt; };
&gt; &gt;
&gt;
&gt;
&gt; </frank-w@xxxxxxxxxxxxxxx></frank-w@xxxxxxxxxxxxxxx></frank-w@xxxxxxxxxxxxxxx></matthias.bgg@xxxxxxxxx></conor+dt@xxxxxxxxxx></krzk+dt@xxxxxxxxxx></robh@xxxxxxxxxx></linux@xxxxxxxxx></angelogioacchino.delregno@xxxxxxxxxxxxx>