Message ID | 20191219082927.11898-2-m.szyprowski@samsung.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Chanwoo Choi |
Headers | show |
Series | [1/2] ARM: dts: exynos: Move bus related OPPs to the boards DTS | expand |
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@samsung.com> > --- > 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@samsung.com> Reviewed-by: Chanwoo Choi <cw00.choi@samsung.com>
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 { compatible = "operating-points-v2"; opp00 { @@ -134,6 +377,7 @@ }; &bus_wcore { + operating-points-v2 = <&bus_wcore_opp_table>; devfreq-events = <&nocp_mem0_0>, <&nocp_mem0_1>, <&nocp_mem1_0>, <&nocp_mem1_1>; vdd-supply = <&buck3_reg>; @@ -142,76 +386,91 @@ }; &bus_noc { + operating-points-v2 = <&bus_noc_opp_table>; devfreq = <&bus_wcore>; status = "okay"; }; &bus_fsys_apb { + operating-points-v2 = <&bus_fsys_apb_opp_table>; devfreq = <&bus_wcore>; status = "okay"; }; &bus_fsys { + operating-points-v2 = <&bus_fsys_apb_opp_table>; devfreq = <&bus_wcore>; status = "okay"; }; &bus_fsys2 { + operating-points-v2 = <&bus_fsys2_opp_table>; devfreq = <&bus_wcore>; status = "okay"; }; &bus_mfc { + operating-points-v2 = <&bus_mfc_opp_table>; devfreq = <&bus_wcore>; status = "okay"; }; &bus_gen { + operating-points-v2 = <&bus_gen_opp_table>; devfreq = <&bus_wcore>; status = "okay"; }; &bus_peri { + operating-points-v2 = <&bus_peri_opp_table>; devfreq = <&bus_wcore>; status = "okay"; }; &bus_g2d { + operating-points-v2 = <&bus_g2d_opp_table>; devfreq = <&bus_wcore>; status = "okay"; }; &bus_g2d_acp { + operating-points-v2 = <&bus_g2d_acp_opp_table>; devfreq = <&bus_wcore>; status = "okay"; }; &bus_jpeg { + operating-points-v2 = <&bus_jpeg_opp_table>; devfreq = <&bus_wcore>; status = "okay"; }; &bus_jpeg_apb { + operating-points-v2 = <&bus_jpeg_apb_opp_table>; devfreq = <&bus_wcore>; status = "okay"; }; &bus_disp1_fimd { + operating-points-v2 = <&bus_disp1_fimd_opp_table>; devfreq = <&bus_wcore>; status = "okay"; }; &bus_disp1 { + operating-points-v2 = <&bus_disp1_opp_table>; devfreq = <&bus_wcore>; status = "okay"; }; &bus_gscl_scaler { + operating-points-v2 = <&bus_gscl_opp_table>; devfreq = <&bus_wcore>; status = "okay"; }; &bus_mscl { + operating-points-v2 = <&bus_mscl_opp_table>; devfreq = <&bus_wcore>; status = "okay"; };
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@samsung.com> --- arch/arm/boot/dts/exynos5420.dtsi | 259 ----------------- arch/arm/boot/dts/exynos5422-odroid-core.dtsi | 261 +++++++++++++++++- 2 files changed, 260 insertions(+), 260 deletions(-)