[PATCH 2/3] arm64: dts: mediatek: add support for MT8370 SoC

AngeloGioacchino Del Regno angelogioacchino.delregno at collabora.com
Tue Jan 14 02:32:26 PST 2025


Il 14/01/25 08:38, Louis-Alexis Eyraud ha scritto:
> This commit add the support of the Mediatek MT8370 SoC.
> It is a less powerful variant of MT8390 SoC and their
> main differences are:
> - Arm Cortex-A55 cores number (4 vs 6)
> - Arm Cortex-A78 core speed (2.0 GHz vs 2.2 Ghz)
> - Arm Mali-G57 GPU core number (2 vs 3)

You're mentioning the number of GPU cores, but you're not adding any variation
in mt8370.dtsi: this is fine because the GPU is disabled by default, but please
either add it, or mention in the commit message that the override will be done
in a later commit.

> 
> Like MT8390, MT8370 hardware register maps are identical to MT8188.
> 
> Signed-off-by: Louis-Alexis Eyraud <louisalexis.eyraud at collabora.com>
> ---
>   arch/arm64/boot/dts/mediatek/mt8188.dtsi |  8 ++--
>   arch/arm64/boot/dts/mediatek/mt8370.dtsi | 64 ++++++++++++++++++++++++++++++++
>   2 files changed, 68 insertions(+), 4 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/mediatek/mt8188.dtsi b/arch/arm64/boot/dts/mediatek/mt8188.dtsi
> index 338120930b819645662465fa7b3c6be6491764ff..5d78f51c6183c15018986df2c76e6fdc1f9f43b4 100644
> --- a/arch/arm64/boot/dts/mediatek/mt8188.dtsi
> +++ b/arch/arm64/boot/dts/mediatek/mt8188.dtsi
> @@ -492,7 +492,7 @@ cpu_little0_crit: trip-crit {
>   			};
>   
>   			cooling-maps {
> -				map0 {
> +				cpu_little0_cooling_map0: map0 {
>   					trip = <&cpu_little0_alert0>;
>   					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
>   							 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> @@ -530,7 +530,7 @@ cpu_little1_crit: trip-crit {
>   			};
>   
>   			cooling-maps {
> -				map0 {
> +				cpu_little1_cooling_map0: map0 {
>   					trip = <&cpu_little1_alert0>;
>   					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
>   							 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> @@ -568,7 +568,7 @@ cpu_little2_crit: trip-crit {
>   			};
>   
>   			cooling-maps {
> -				map0 {
> +				cpu_little2_cooling_map0: map0 {
>   					trip = <&cpu_little2_alert0>;
>   					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
>   							 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> @@ -606,7 +606,7 @@ cpu_little3_crit: trip-crit {
>   			};
>   
>   			cooling-maps {
> -				map0 {
> +				cpu_little3_cooling_map0: map0 {
>   					trip = <&cpu_little3_alert0>;
>   					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
>   							 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> diff --git a/arch/arm64/boot/dts/mediatek/mt8370.dtsi b/arch/arm64/boot/dts/mediatek/mt8370.dtsi
> new file mode 100644
> index 0000000000000000000000000000000000000000..cf1a3759451ff899ce9e63e5a00f192fb483f6e5
> --- /dev/null
> +++ b/arch/arm64/boot/dts/mediatek/mt8370.dtsi
> @@ -0,0 +1,64 @@
> +// SPDX-License-Identifier: (GPL-2.0 OR MIT)
> +/*
> + * Copyright (c) 2025 Collabora Ltd.
> + * Author: Louis-Alexis Eyraud <louisalexis.eyraud at collabora.com>
> + */
> +
> +/dts-v1/;
> +#include "mt8188.dtsi"
> +
> +/ {
> +	compatible = "mediatek,mt8370";
> +
> +	cpus {
> +		/delete-node/ cpu at 400;
> +		/delete-node/ cpu at 500;
> +
> +		cpu-map {
> +			cluster0 {
> +				/delete-node/ core4;
> +				/delete-node/ core5;
> +			};
> +		};
> +	};
> +};
> +
> +&cpu6 {
> +	clock-frequency = <2200000000>;
> +};
> +
> +&cpu7 {
> +	clock-frequency = <2200000000>;
> +};
> +
> +&cpu_little0_cooling_map0 {
> +	cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> +				<&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> +				<&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> +				<&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;

Please fix the indentation:

	cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
			 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
			 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
			 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;

Other than that, looks good.

Cheers,
Angelo

> +};
> +
> +&cpu_little1_cooling_map0 {
> +	cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> +				<&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> +				<&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> +				<&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
> +};
> +
> +&cpu_little2_cooling_map0 {
> +	cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> +				<&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> +				<&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> +				<&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
> +};
> +
> +&cpu_little3_cooling_map0 {
> +	cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> +				<&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> +				<&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> +				<&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
> +};
> +
> +&ppi_cluster0 {
> +	affinity = <&cpu0 &cpu1 &cpu2 &cpu3>;
> +};
> 






More information about the Linux-mediatek mailing list