Re: [PATCH v2 04/11] OMAP4: Extend clock data.

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

 



Thara Gopinath <thara@xxxxxx> writes:

> This patch extends the OMAP4 clock data to include
> various x2 clockc nodes as the clock framework
> skips a *2 whie calculating the dpll locked frequency.
>
> Signed-off-by: Thara Gopinath <thara@xxxxxx>

Acked-by: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx>

Please post this as a separate patch, and Paul can queue for 2.6.37.

Thanks,

Kevin

> ---
>  arch/arm/mach-omap2/clock44xx_data.c |   40 +++++++++++++++++++++++++++------
>  1 files changed, 32 insertions(+), 8 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/clock44xx_data.c b/arch/arm/mach-omap2/clock44xx_data.c
> index edf2c28..3652fda 100644
> --- a/arch/arm/mach-omap2/clock44xx_data.c
> +++ b/arch/arm/mach-omap2/clock44xx_data.c
> @@ -481,14 +481,21 @@ static struct clk dpll_core_m5_ck = {
>  	.set_rate	= &omap2_clksel_set_rate,
>  };
>  
> +static struct clk dpll_core_m5x2_ck = {
> +	.name		= "dpll_core_m5x2_ck",
> +	.parent		= &dpll_core_m5_ck,
> +	.ops		= &clkops_null,
> +	.recalc		= &omap3_clkoutx2_recalc,
> +};
> +
>  static const struct clksel div_core_div[] = {
> -	{ .parent = &dpll_core_m5_ck, .rates = div2_1to2_rates },
> +	{ .parent = &dpll_core_m5x2_ck, .rates = div2_1to2_rates },
>  	{ .parent = NULL },
>  };
>  
>  static struct clk div_core_ck = {
>  	.name		= "div_core_ck",
> -	.parent		= &dpll_core_m5_ck,
> +	.parent		= &dpll_core_m5x2_ck,
>  	.clksel		= div_core_div,
>  	.clksel_reg	= OMAP4430_CM_CLKSEL_CORE,
>  	.clksel_mask	= OMAP4430_CLKSEL_CORE_MASK,
> @@ -507,13 +514,13 @@ static const struct clksel_rate div4_1to8_rates[] = {
>  };
>  
>  static const struct clksel div_iva_hs_clk_div[] = {
> -	{ .parent = &dpll_core_m5_ck, .rates = div4_1to8_rates },
> +	{ .parent = &dpll_core_m5x2_ck, .rates = div4_1to8_rates },
>  	{ .parent = NULL },
>  };
>  
>  static struct clk div_iva_hs_clk = {
>  	.name		= "div_iva_hs_clk",
> -	.parent		= &dpll_core_m5_ck,
> +	.parent		= &dpll_core_m5x2_ck,
>  	.clksel		= div_iva_hs_clk_div,
>  	.clksel_reg	= OMAP4430_CM_BYPCLK_DPLL_IVA,
>  	.clksel_mask	= OMAP4430_CLKSEL_0_1_MASK,
> @@ -525,7 +532,7 @@ static struct clk div_iva_hs_clk = {
>  
>  static struct clk div_mpu_hs_clk = {
>  	.name		= "div_mpu_hs_clk",
> -	.parent		= &dpll_core_m5_ck,
> +	.parent		= &dpll_core_m5x2_ck,
>  	.clksel		= div_iva_hs_clk_div,
>  	.clksel_reg	= OMAP4430_CM_BYPCLK_DPLL_MPU,
>  	.clksel_mask	= OMAP4430_CLKSEL_0_1_MASK,
> @@ -651,6 +658,13 @@ static struct clk dpll_iva_m4_ck = {
>  	.set_rate	= &omap2_clksel_set_rate,
>  };
>  
> +static struct clk dpll_iva_m4x2_ck = {
> +	.name		= "dpll_iva_m4x2_ck",
> +	.parent		= &dpll_iva_m4_ck,
> +	.ops		= &clkops_null,
> +	.recalc		= &omap3_clkoutx2_recalc,
> +};
> +
>  static struct clk dpll_iva_m5_ck = {
>  	.name		= "dpll_iva_m5_ck",
>  	.parent		= &dpll_iva_ck,
> @@ -663,6 +677,13 @@ static struct clk dpll_iva_m5_ck = {
>  	.set_rate	= &omap2_clksel_set_rate,
>  };
>  
> +static struct clk dpll_iva_m5x2_ck = {
> +	.name		= "dpll_iva_m5x2_ck",
> +	.parent		= &dpll_iva_m5_ck,
> +	.ops		= &clkops_null,
> +	.recalc		= &omap3_clkoutx2_recalc,
> +};
> +
>  /* DPLL_MPU */
>  static struct dpll_data dpll_mpu_dd = {
>  	.mult_div1_reg	= OMAP4430_CM_CLKSEL_DPLL_MPU,
> @@ -1350,7 +1371,7 @@ static struct clk dsp_fck = {
>  	.enable_reg	= OMAP4430_CM_TESLA_TESLA_CLKCTRL,
>  	.enable_bit	= OMAP4430_MODULEMODE_HWCTRL,
>  	.clkdm_name	= "tesla_clkdm",
> -	.parent		= &dpll_iva_m4_ck,
> +	.parent		= &dpll_iva_m4x2_ck,
>  	.recalc		= &followparent_recalc,
>  };
>  
> @@ -1725,7 +1746,7 @@ static struct clk iva_fck = {
>  	.enable_reg	= OMAP4430_CM_IVAHD_IVAHD_CLKCTRL,
>  	.enable_bit	= OMAP4430_MODULEMODE_HWCTRL,
>  	.clkdm_name	= "ivahd_clkdm",
> -	.parent		= &dpll_iva_m5_ck,
> +	.parent		= &dpll_iva_m5x2_ck,
>  	.recalc		= &followparent_recalc,
>  };
>  
> @@ -2089,7 +2110,7 @@ static struct clk sl2if_ick = {
>  	.enable_reg	= OMAP4430_CM_IVAHD_SL2_CLKCTRL,
>  	.enable_bit	= OMAP4430_MODULEMODE_HWCTRL,
>  	.clkdm_name	= "ivahd_clkdm",
> -	.parent		= &dpll_iva_m5_ck,
> +	.parent		= &dpll_iva_m5x2_ck,
>  	.recalc		= &followparent_recalc,
>  };
>  
> @@ -2782,6 +2803,7 @@ static struct omap_clk omap44xx_clks[] = {
>  	CLK(NULL,	"dpll_core_m2_ck",		&dpll_core_m2_ck,	CK_443X),
>  	CLK(NULL,	"ddrphy_ck",			&ddrphy_ck,	CK_443X),
>  	CLK(NULL,	"dpll_core_m5_ck",		&dpll_core_m5_ck,	CK_443X),
> +	CLK(NULL,	"dpll_core_m5x2_ck",		&dpll_core_m5x2_ck,	CK_443X),
>  	CLK(NULL,	"div_core_ck",			&div_core_ck,	CK_443X),
>  	CLK(NULL,	"div_iva_hs_clk",		&div_iva_hs_clk,	CK_443X),
>  	CLK(NULL,	"div_mpu_hs_clk",		&div_mpu_hs_clk,	CK_443X),
> @@ -2793,7 +2815,9 @@ static struct omap_clk omap44xx_clks[] = {
>  	CLK(NULL,	"iva_hsd_byp_clk_mux_ck",	&iva_hsd_byp_clk_mux_ck,	CK_443X),
>  	CLK(NULL,	"dpll_iva_ck",			&dpll_iva_ck,	CK_443X),
>  	CLK(NULL,	"dpll_iva_m4_ck",		&dpll_iva_m4_ck,	CK_443X),
> +	CLK(NULL,	"dpll_iva_m4x2_ck",		&dpll_iva_m4x2_ck,	CK_443X),
>  	CLK(NULL,	"dpll_iva_m5_ck",		&dpll_iva_m5_ck,	CK_443X),
> +	CLK(NULL,	"dpll_iva_m5x2_ck",		&dpll_iva_m5x2_ck,	CK_443X),
>  	CLK(NULL,	"dpll_mpu_ck",			&dpll_mpu_ck,	CK_443X),
>  	CLK(NULL,	"dpll_mpu_m2_ck",		&dpll_mpu_m2_ck,	CK_443X),
>  	CLK(NULL,	"per_hs_clk_div_ck",		&per_hs_clk_div_ck,	CK_443X),
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux