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

From: Chanwoo Choi
Date: Thu Dec 19 2019 - 03:56:20 EST


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