diff mbox series

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

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

Commit Message

Marek Szyprowski Dec. 19, 2019, 8:29 a.m. UTC
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(-)

Comments

Chanwoo Choi Dec. 19, 2019, 9:02 a.m. UTC | #1
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 mbox series

Patch

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";
 };