Re: [PATCH 1/2] ARM: dts: exynos: Move bus related OPPs to the boards DTS

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Marek,

On 12/19/19 5:29 PM, Marek Szyprowski wrote:
> Currently the only Exynos5422-based boards that support bus frequency
> scaling are Hardkernel's Odroid XU3/XU4/HC1. Move the bus related OPPs to
> the boards DTS, because those OPPs heavily depend on the clock topology
> and top PLL rates, which are being configured by the board's bootloader.
> 
> Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
> ---
>  arch/arm/boot/dts/exynos5420.dtsi             | 259 -----------------
>  arch/arm/boot/dts/exynos5422-odroid-core.dtsi | 261 +++++++++++++++++-
>  2 files changed, 260 insertions(+), 260 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/exynos5420.dtsi b/arch/arm/boot/dts/exynos5420.dtsi
> index f95567bc10e3..f66a2d1b3428 100644
> --- a/arch/arm/boot/dts/exynos5420.dtsi
> +++ b/arch/arm/boot/dts/exynos5420.dtsi
> @@ -1092,7 +1092,6 @@
>  			compatible = "samsung,exynos-bus";
>  			clocks = <&clock CLK_DOUT_ACLK400_WCORE>;
>  			clock-names = "bus";
> -			operating-points-v2 = <&bus_wcore_opp_table>;
>  			status = "disabled";
>  		};
>  
> @@ -1100,7 +1099,6 @@
>  			compatible = "samsung,exynos-bus";
>  			clocks = <&clock CLK_DOUT_ACLK100_NOC>;
>  			clock-names = "bus";
> -			operating-points-v2 = <&bus_noc_opp_table>;
>  			status = "disabled";
>  		};
>  
> @@ -1108,7 +1106,6 @@
>  			compatible = "samsung,exynos-bus";
>  			clocks = <&clock CLK_DOUT_PCLK200_FSYS>;
>  			clock-names = "bus";
> -			operating-points-v2 = <&bus_fsys_apb_opp_table>;
>  			status = "disabled";
>  		};
>  
> @@ -1116,7 +1113,6 @@
>  			compatible = "samsung,exynos-bus";
>  			clocks = <&clock CLK_DOUT_ACLK200_FSYS>;
>  			clock-names = "bus";
> -			operating-points-v2 = <&bus_fsys_apb_opp_table>;
>  			status = "disabled";
>  		};
>  
> @@ -1124,7 +1120,6 @@
>  			compatible = "samsung,exynos-bus";
>  			clocks = <&clock CLK_DOUT_ACLK200_FSYS2>;
>  			clock-names = "bus";
> -			operating-points-v2 = <&bus_fsys2_opp_table>;
>  			status = "disabled";
>  		};
>  
> @@ -1132,7 +1127,6 @@
>  			compatible = "samsung,exynos-bus";
>  			clocks = <&clock CLK_DOUT_ACLK333>;
>  			clock-names = "bus";
> -			operating-points-v2 = <&bus_mfc_opp_table>;
>  			status = "disabled";
>  		};
>  
> @@ -1140,7 +1134,6 @@
>  			compatible = "samsung,exynos-bus";
>  			clocks = <&clock CLK_DOUT_ACLK266>;
>  			clock-names = "bus";
> -			operating-points-v2 = <&bus_gen_opp_table>;
>  			status = "disabled";
>  		};
>  
> @@ -1148,7 +1141,6 @@
>  			compatible = "samsung,exynos-bus";
>  			clocks = <&clock CLK_DOUT_ACLK66>;
>  			clock-names = "bus";
> -			operating-points-v2 = <&bus_peri_opp_table>;
>  			status = "disabled";
>  		};
>  
> @@ -1156,7 +1148,6 @@
>  			compatible = "samsung,exynos-bus";
>  			clocks = <&clock CLK_DOUT_ACLK333_G2D>;
>  			clock-names = "bus";
> -			operating-points-v2 = <&bus_g2d_opp_table>;
>  			status = "disabled";
>  		};
>  
> @@ -1164,7 +1155,6 @@
>  			compatible = "samsung,exynos-bus";
>  			clocks = <&clock CLK_DOUT_ACLK266_G2D>;
>  			clock-names = "bus";
> -			operating-points-v2 = <&bus_g2d_acp_opp_table>;
>  			status = "disabled";
>  		};
>  
> @@ -1172,7 +1162,6 @@
>  			compatible = "samsung,exynos-bus";
>  			clocks = <&clock CLK_DOUT_ACLK300_JPEG>;
>  			clock-names = "bus";
> -			operating-points-v2 = <&bus_jpeg_opp_table>;
>  			status = "disabled";
>  		};
>  
> @@ -1180,7 +1169,6 @@
>  			compatible = "samsung,exynos-bus";
>  			clocks = <&clock CLK_DOUT_ACLK166>;
>  			clock-names = "bus";
> -			operating-points-v2 = <&bus_jpeg_apb_opp_table>;
>  			status = "disabled";
>  		};
>  
> @@ -1188,7 +1176,6 @@
>  			compatible = "samsung,exynos-bus";
>  			clocks = <&clock CLK_DOUT_ACLK300_DISP1>;
>  			clock-names = "bus";
> -			operating-points-v2 = <&bus_disp1_fimd_opp_table>;
>  			status = "disabled";
>  		};
>  
> @@ -1196,7 +1183,6 @@
>  			compatible = "samsung,exynos-bus";
>  			clocks = <&clock CLK_DOUT_ACLK400_DISP1>;
>  			clock-names = "bus";
> -			operating-points-v2 = <&bus_disp1_opp_table>;
>  			status = "disabled";
>  		};
>  
> @@ -1204,7 +1190,6 @@
>  			compatible = "samsung,exynos-bus";
>  			clocks = <&clock CLK_DOUT_ACLK300_GSCL>;
>  			clock-names = "bus";
> -			operating-points-v2 = <&bus_gscl_opp_table>;
>  			status = "disabled";
>  		};
>  
> @@ -1212,252 +1197,8 @@
>  			compatible = "samsung,exynos-bus";
>  			clocks = <&clock CLK_DOUT_ACLK400_MSCL>;
>  			clock-names = "bus";
> -			operating-points-v2 = <&bus_mscl_opp_table>;
>  			status = "disabled";
>  		};
> -
> -		bus_wcore_opp_table: opp_table2 {
> -			compatible = "operating-points-v2";
> -
> -			opp00 {
> -				opp-hz = /bits/ 64 <84000000>;
> -				opp-microvolt = <925000 925000 1400000>;
> -			};
> -			opp01 {
> -				opp-hz = /bits/ 64 <111000000>;
> -				opp-microvolt = <950000 950000 1400000>;
> -			};
> -			opp02 {
> -				opp-hz = /bits/ 64 <222000000>;
> -				opp-microvolt = <950000 950000 1400000>;
> -			};
> -			opp03 {
> -				opp-hz = /bits/ 64 <333000000>;
> -				opp-microvolt = <950000 950000 1400000>;
> -			};
> -			opp04 {
> -				opp-hz = /bits/ 64 <400000000>;
> -				opp-microvolt = <987500 987500 1400000>;
> -			};
> -		};
> -
> -		bus_noc_opp_table: opp_table3 {
> -			compatible = "operating-points-v2";
> -
> -			opp00 {
> -				opp-hz = /bits/ 64 <67000000>;
> -			};
> -			opp01 {
> -				opp-hz = /bits/ 64 <75000000>;
> -			};
> -			opp02 {
> -				opp-hz = /bits/ 64 <86000000>;
> -			};
> -			opp03 {
> -				opp-hz = /bits/ 64 <100000000>;
> -			};
> -		};
> -
> -		bus_fsys_apb_opp_table: opp_table4 {
> -			compatible = "operating-points-v2";
> -			opp-shared;
> -
> -			opp00 {
> -				opp-hz = /bits/ 64 <100000000>;
> -			};
> -			opp01 {
> -				opp-hz = /bits/ 64 <200000000>;
> -			};
> -		};
> -
> -		bus_fsys2_opp_table: opp_table5 {
> -			compatible = "operating-points-v2";
> -
> -			opp00 {
> -				opp-hz = /bits/ 64 <75000000>;
> -			};
> -			opp01 {
> -				opp-hz = /bits/ 64 <100000000>;
> -			};
> -			opp02 {
> -				opp-hz = /bits/ 64 <150000000>;
> -			};
> -		};
> -
> -		bus_mfc_opp_table: opp_table6 {
> -			compatible = "operating-points-v2";
> -
> -			opp00 {
> -				opp-hz = /bits/ 64 <96000000>;
> -			};
> -			opp01 {
> -				opp-hz = /bits/ 64 <111000000>;
> -			};
> -			opp02 {
> -				opp-hz = /bits/ 64 <167000000>;
> -			};
> -			opp03 {
> -				opp-hz = /bits/ 64 <222000000>;
> -			};
> -			opp04 {
> -				opp-hz = /bits/ 64 <333000000>;
> -			};
> -		};
> -
> -		bus_gen_opp_table: opp_table7 {
> -			compatible = "operating-points-v2";
> -
> -			opp00 {
> -				opp-hz = /bits/ 64 <89000000>;
> -			};
> -			opp01 {
> -				opp-hz = /bits/ 64 <133000000>;
> -			};
> -			opp02 {
> -				opp-hz = /bits/ 64 <178000000>;
> -			};
> -			opp03 {
> -				opp-hz = /bits/ 64 <267000000>;
> -			};
> -		};
> -
> -		bus_peri_opp_table: opp_table8 {
> -			compatible = "operating-points-v2";
> -
> -			opp00 {
> -				opp-hz = /bits/ 64 <67000000>;
> -			};
> -		};
> -
> -		bus_g2d_opp_table: opp_table9 {
> -			compatible = "operating-points-v2";
> -
> -			opp00 {
> -				opp-hz = /bits/ 64 <84000000>;
> -			};
> -			opp01 {
> -				opp-hz = /bits/ 64 <167000000>;
> -			};
> -			opp02 {
> -				opp-hz = /bits/ 64 <222000000>;
> -			};
> -			opp03 {
> -				opp-hz = /bits/ 64 <300000000>;
> -			};
> -			opp04 {
> -				opp-hz = /bits/ 64 <333000000>;
> -			};
> -		};
> -
> -		bus_g2d_acp_opp_table: opp_table10 {
> -			compatible = "operating-points-v2";
> -
> -			opp00 {
> -				opp-hz = /bits/ 64 <67000000>;
> -			};
> -			opp01 {
> -				opp-hz = /bits/ 64 <133000000>;
> -			};
> -			opp02 {
> -				opp-hz = /bits/ 64 <178000000>;
> -			};
> -			opp03 {
> -				opp-hz = /bits/ 64 <267000000>;
> -			};
> -		};
> -
> -		bus_jpeg_opp_table: opp_table11 {
> -			compatible = "operating-points-v2";
> -
> -			opp00 {
> -				opp-hz = /bits/ 64 <75000000>;
> -			};
> -			opp01 {
> -				opp-hz = /bits/ 64 <150000000>;
> -			};
> -			opp02 {
> -				opp-hz = /bits/ 64 <200000000>;
> -			};
> -			opp03 {
> -				opp-hz = /bits/ 64 <300000000>;
> -			};
> -		};
> -
> -		bus_jpeg_apb_opp_table: opp_table12 {
> -			compatible = "operating-points-v2";
> -
> -			opp00 {
> -				opp-hz = /bits/ 64 <84000000>;
> -			};
> -			opp01 {
> -				opp-hz = /bits/ 64 <111000000>;
> -			};
> -			opp02 {
> -				opp-hz = /bits/ 64 <134000000>;
> -			};
> -			opp03 {
> -				opp-hz = /bits/ 64 <167000000>;
> -			};
> -		};
> -
> -		bus_disp1_fimd_opp_table: opp_table13 {
> -			compatible = "operating-points-v2";
> -
> -			opp00 {
> -				opp-hz = /bits/ 64 <120000000>;
> -			};
> -			opp01 {
> -				opp-hz = /bits/ 64 <200000000>;
> -			};
> -		};
> -
> -		bus_disp1_opp_table: opp_table14 {
> -			compatible = "operating-points-v2";
> -
> -			opp00 {
> -				opp-hz = /bits/ 64 <120000000>;
> -			};
> -			opp01 {
> -				opp-hz = /bits/ 64 <200000000>;
> -			};
> -			opp02 {
> -				opp-hz = /bits/ 64 <300000000>;
> -			};
> -		};
> -
> -		bus_gscl_opp_table: opp_table15 {
> -			compatible = "operating-points-v2";
> -
> -			opp00 {
> -				opp-hz = /bits/ 64 <150000000>;
> -			};
> -			opp01 {
> -				opp-hz = /bits/ 64 <200000000>;
> -			};
> -			opp02 {
> -				opp-hz = /bits/ 64 <300000000>;
> -			};
> -		};
> -
> -		bus_mscl_opp_table: opp_table16 {
> -			compatible = "operating-points-v2";
> -
> -			opp00 {
> -				opp-hz = /bits/ 64 <84000000>;
> -			};
> -			opp01 {
> -				opp-hz = /bits/ 64 <167000000>;
> -			};
> -			opp02 {
> -				opp-hz = /bits/ 64 <222000000>;
> -			};
> -			opp03 {
> -				opp-hz = /bits/ 64 <333000000>;
> -			};
> -			opp04 {
> -				opp-hz = /bits/ 64 <400000000>;
> -			};
> -		};
>  	};
>  
>  	thermal-zones {
> diff --git a/arch/arm/boot/dts/exynos5422-odroid-core.dtsi b/arch/arm/boot/dts/exynos5422-odroid-core.dtsi
> index 80b0acfec547..663a38d53c9e 100644
> --- a/arch/arm/boot/dts/exynos5422-odroid-core.dtsi
> +++ b/arch/arm/boot/dts/exynos5422-odroid-core.dtsi
> @@ -35,7 +35,250 @@
>  		};
>  	};
>  
> -	dmc_opp_table: opp_table2 {
> +	bus_wcore_opp_table: opp_table2 {
> +		compatible = "operating-points-v2";
> +
> +		opp00 {
> +			opp-hz = /bits/ 64 <84000000>;
> +			opp-microvolt = <925000 925000 1400000>;
> +		};
> +		opp01 {
> +			opp-hz = /bits/ 64 <111000000>;
> +			opp-microvolt = <950000 950000 1400000>;
> +		};
> +		opp02 {
> +			opp-hz = /bits/ 64 <222000000>;
> +			opp-microvolt = <950000 950000 1400000>;
> +		};
> +		opp03 {
> +			opp-hz = /bits/ 64 <333000000>;
> +			opp-microvolt = <950000 950000 1400000>;
> +		};
> +		opp04 {
> +			opp-hz = /bits/ 64 <400000000>;
> +			opp-microvolt = <987500 987500 1400000>;
> +		};
> +	};
> +
> +	bus_noc_opp_table: opp_table3 {
> +		compatible = "operating-points-v2";
> +
> +		opp00 {
> +			opp-hz = /bits/ 64 <67000000>;
> +		};
> +		opp01 {
> +			opp-hz = /bits/ 64 <75000000>;
> +		};
> +		opp02 {
> +			opp-hz = /bits/ 64 <86000000>;
> +		};
> +		opp03 {
> +			opp-hz = /bits/ 64 <100000000>;
> +		};
> +	};
> +
> +	bus_fsys_apb_opp_table: opp_table4 {
> +		compatible = "operating-points-v2";
> +		opp-shared;
> +
> +		opp00 {
> +			opp-hz = /bits/ 64 <100000000>;
> +		};
> +		opp01 {
> +			opp-hz = /bits/ 64 <200000000>;
> +		};
> +	};
> +
> +	bus_fsys2_opp_table: opp_table5 {
> +		compatible = "operating-points-v2";
> +
> +		opp00 {
> +			opp-hz = /bits/ 64 <75000000>;
> +		};
> +		opp01 {
> +			opp-hz = /bits/ 64 <100000000>;
> +		};
> +		opp02 {
> +			opp-hz = /bits/ 64 <150000000>;
> +		};
> +	};
> +
> +	bus_mfc_opp_table: opp_table6 {
> +		compatible = "operating-points-v2";
> +
> +		opp00 {
> +			opp-hz = /bits/ 64 <96000000>;
> +		};
> +		opp01 {
> +			opp-hz = /bits/ 64 <111000000>;
> +		};
> +		opp02 {
> +			opp-hz = /bits/ 64 <167000000>;
> +		};
> +		opp03 {
> +			opp-hz = /bits/ 64 <222000000>;
> +		};
> +		opp04 {
> +			opp-hz = /bits/ 64 <333000000>;
> +		};
> +	};
> +
> +	bus_gen_opp_table: opp_table7 {
> +		compatible = "operating-points-v2";
> +
> +		opp00 {
> +			opp-hz = /bits/ 64 <89000000>;
> +		};
> +		opp01 {
> +			opp-hz = /bits/ 64 <133000000>;
> +		};
> +		opp02 {
> +			opp-hz = /bits/ 64 <178000000>;
> +		};
> +		opp03 {
> +			opp-hz = /bits/ 64 <267000000>;
> +		};
> +	};
> +
> +	bus_peri_opp_table: opp_table8 {
> +		compatible = "operating-points-v2";
> +
> +		opp00 {
> +			opp-hz = /bits/ 64 <67000000>;
> +		};
> +	};
> +
> +	bus_g2d_opp_table: opp_table9 {
> +		compatible = "operating-points-v2";
> +
> +		opp00 {
> +			opp-hz = /bits/ 64 <84000000>;
> +		};
> +		opp01 {
> +			opp-hz = /bits/ 64 <167000000>;
> +		};
> +		opp02 {
> +			opp-hz = /bits/ 64 <222000000>;
> +		};
> +		opp03 {
> +			opp-hz = /bits/ 64 <300000000>;
> +		};
> +		opp04 {
> +			opp-hz = /bits/ 64 <333000000>;
> +		};
> +	};
> +
> +	bus_g2d_acp_opp_table: opp_table10 {
> +		compatible = "operating-points-v2";
> +
> +		opp00 {
> +			opp-hz = /bits/ 64 <67000000>;
> +		};
> +		opp01 {
> +			opp-hz = /bits/ 64 <133000000>;
> +		};
> +		opp02 {
> +			opp-hz = /bits/ 64 <178000000>;
> +		};
> +		opp03 {
> +			opp-hz = /bits/ 64 <267000000>;
> +		};
> +	};
> +
> +	bus_jpeg_opp_table: opp_table11 {
> +		compatible = "operating-points-v2";
> +
> +		opp00 {
> +			opp-hz = /bits/ 64 <75000000>;
> +		};
> +		opp01 {
> +			opp-hz = /bits/ 64 <150000000>;
> +		};
> +		opp02 {
> +			opp-hz = /bits/ 64 <200000000>;
> +		};
> +		opp03 {
> +			opp-hz = /bits/ 64 <300000000>;
> +		};
> +	};
> +
> +	bus_jpeg_apb_opp_table: opp_table12 {
> +		compatible = "operating-points-v2";
> +
> +		opp00 {
> +			opp-hz = /bits/ 64 <84000000>;
> +		};
> +		opp01 {
> +			opp-hz = /bits/ 64 <111000000>;
> +		};
> +		opp02 {
> +			opp-hz = /bits/ 64 <134000000>;
> +		};
> +		opp03 {
> +			opp-hz = /bits/ 64 <167000000>;
> +		};
> +	};
> +
> +	bus_disp1_fimd_opp_table: opp_table13 {
> +		compatible = "operating-points-v2";
> +
> +		opp00 {
> +			opp-hz = /bits/ 64 <120000000>;
> +		};
> +		opp01 {
> +			opp-hz = /bits/ 64 <200000000>;
> +		};
> +	};
> +
> +	bus_disp1_opp_table: opp_table14 {
> +		compatible = "operating-points-v2";
> +
> +		opp00 {
> +			opp-hz = /bits/ 64 <120000000>;
> +		};
> +		opp01 {
> +			opp-hz = /bits/ 64 <200000000>;
> +		};
> +		opp02 {
> +			opp-hz = /bits/ 64 <300000000>;
> +		};
> +	};
> +
> +	bus_gscl_opp_table: opp_table15 {
> +		compatible = "operating-points-v2";
> +
> +		opp00 {
> +			opp-hz = /bits/ 64 <150000000>;
> +		};
> +		opp01 {
> +			opp-hz = /bits/ 64 <200000000>;
> +		};
> +		opp02 {
> +			opp-hz = /bits/ 64 <300000000>;
> +		};
> +	};
> +
> +	bus_mscl_opp_table: opp_table16 {
> +		compatible = "operating-points-v2";
> +
> +		opp00 {
> +			opp-hz = /bits/ 64 <84000000>;
> +		};
> +		opp01 {
> +			opp-hz = /bits/ 64 <167000000>;
> +		};
> +		opp02 {
> +			opp-hz = /bits/ 64 <222000000>;
> +		};
> +		opp03 {
> +			opp-hz = /bits/ 64 <333000000>;
> +		};
> +		opp04 {
> +			opp-hz = /bits/ 64 <400000000>;
> +		};
> +	};
> +
> +	dmc_opp_table: opp_table18 {

opp_table18 -> opp_table17?

(snip)

Tested-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx>
Reviewed-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx>


-- 
Best Regards,
Chanwoo Choi
Samsung Electronics



[Index of Archives]     [Linux SoC Development]     [Linux Rockchip Development]     [Linux for Synopsys ARC Processors]    
  • [Linux on Unisoc (RDA Micro) SoCs]     [Linux Actions SoC]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Linux SCSI]     [Yosemite News]

  •   Powered by Linux