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

AngeloGioacchino Del Regno angelogioacchino.delregno at collabora.com
Wed Nov 27 05:34:45 PST 2024


Il 29/10/24 11:39, Frank Wunderlich ha scritto:
> From: Frank Wunderlich <frank-w at public-files.de>
> 
> Add operating points defining frequency/voltages of cpu cores.
> 
> Signed-off-by: Frank Wunderlich <frank-w at public-files.de>
> ---
>   arch/arm64/boot/dts/mediatek/mt7988a.dtsi | 45 +++++++++++++++++++++--
>   1 file changed, 41 insertions(+), 4 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/mediatek/mt7988a.dtsi b/arch/arm64/boot/dts/mediatek/mt7988a.dtsi
> index e037854666c1..25669d498617 100644
> --- a/arch/arm64/boot/dts/mediatek/mt7988a.dtsi
> +++ b/arch/arm64/boot/dts/mediatek/mt7988a.dtsi
> @@ -16,32 +16,69 @@ cpus {
>   		#address-cells = <1>;
>   		#size-cells = <0>;
>   
> -		cpu at 0 {
> +		cpu0: cpu at 0 {

Where are those cpuX labels used? I don't see any usage.

>   			compatible = "arm,cortex-a73";
>   			reg = <0x0>;
>   			device_type = "cpu";
>   			enable-method = "psci";
> +			clocks = <&mcusys CLK_MCU_ARM_DIV_SEL>,
> +				 <&topckgen CLK_TOP_XTAL>;
> +			clock-names = "cpu", "intermediate";
> +			operating-points-v2 = <&cluster0_opp>;
>   		};
>   
> -		cpu at 1 {
> +		cpu1: cpu at 1 {
>   			compatible = "arm,cortex-a73";
>   			reg = <0x1>;
>   			device_type = "cpu";
>   			enable-method = "psci";
> +			clocks = <&mcusys CLK_MCU_ARM_DIV_SEL>,
> +				 <&topckgen CLK_TOP_XTAL>;
> +			clock-names = "cpu", "intermediate";
> +			operating-points-v2 = <&cluster0_opp>;
>   		};
>   
> -		cpu at 2 {
> +		cpu2: cpu at 2 {
>   			compatible = "arm,cortex-a73";
>   			reg = <0x2>;
>   			device_type = "cpu";
>   			enable-method = "psci";
> +			clocks = <&mcusys CLK_MCU_ARM_DIV_SEL>,
> +				 <&topckgen CLK_TOP_XTAL>;
> +			clock-names = "cpu", "intermediate";
> +			operating-points-v2 = <&cluster0_opp>;
>   		};
>   
> -		cpu at 3 {
> +		cpu3: cpu at 3 {
>   			compatible = "arm,cortex-a73";
>   			reg = <0x3>;
>   			device_type = "cpu";
>   			enable-method = "psci";
> +			clocks = <&mcusys CLK_MCU_ARM_DIV_SEL>,
> +				 <&topckgen CLK_TOP_XTAL>;
> +			clock-names = "cpu", "intermediate";
> +			operating-points-v2 = <&cluster0_opp>;
> +		};
> +
> +		cluster0_opp: opp-table-0 {
> +			compatible = "operating-points-v2";
> +			opp-shared;
> +			opp00 {

...But you can also be consistent with other devicetrees and follow the pattern
for the node names of the OPP entries.

opp-800000000
opp-1100000000
...etc

Cheers,
Angelo

> +				opp-hz = /bits/ 64 <800000000>;
> +				opp-microvolt = <850000>;
> +			};
> +			opp01 {
> +				opp-hz = /bits/ 64 <1100000000>;
> +				opp-microvolt = <850000>;
> +			};
> +			opp02 {
> +				opp-hz = /bits/ 64 <1500000000>;
> +				opp-microvolt = <850000>;
> +			};
> +			opp03 {
> +				opp-hz = /bits/ 64 <1800000000>;
> +				opp-microvolt = <900000>;
> +			};
>   		};
>   	};
>   





More information about the Linux-mediatek mailing list