diff options
| author | Russell King <rmk+kernel@arm.linux.org.uk> | 2012-01-13 15:00:22 +0000 | 
|---|---|---|
| committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2012-01-13 15:00:22 +0000 | 
| commit | 4de3a8e101150feaefa1139611a50ff37467f33e (patch) | |
| tree | daada742542518b02d7db7c5d32e715eaa5f166d /arch/arm/plat-s3c24xx/s3c2443-clock.c | |
| parent | 294064f58953f9964e5945424b09c51800330a83 (diff) | |
| parent | 099469502f62fbe0d7e4f0b83a2f22538367f734 (diff) | |
| download | olio-linux-3.10-4de3a8e101150feaefa1139611a50ff37467f33e.tar.xz olio-linux-3.10-4de3a8e101150feaefa1139611a50ff37467f33e.zip  | |
Merge branch 'master' into fixes
Diffstat (limited to 'arch/arm/plat-s3c24xx/s3c2443-clock.c')
| -rw-r--r-- | arch/arm/plat-s3c24xx/s3c2443-clock.c | 39 | 
1 files changed, 26 insertions, 13 deletions
diff --git a/arch/arm/plat-s3c24xx/s3c2443-clock.c b/arch/arm/plat-s3c24xx/s3c2443-clock.c index 5a21b15b2a9..95e68190d59 100644 --- a/arch/arm/plat-s3c24xx/s3c2443-clock.c +++ b/arch/arm/plat-s3c24xx/s3c2443-clock.c @@ -297,13 +297,6 @@ static struct clksrc_clk clk_usb_bus_host = {  static struct clksrc_clk clksrc_clks[] = {  	{ -		/* ART baud-rate clock sourced from esysclk via a divisor */ -		.clk	= { -			.name		= "uartclk", -			.parent		= &clk_esysclk.clk, -		}, -		.reg_div = { .reg = S3C2443_CLKDIV1, .size = 4, .shift = 8 }, -	}, {  		/* camera interface bus-clock, divided down from esysclk */  		.clk	= {  			.name		= "camif-upll",	/* same as 2440 name */ @@ -323,6 +316,15 @@ static struct clksrc_clk clksrc_clks[] = {  	},  }; +static struct clksrc_clk clk_esys_uart = { +	/* ART baud-rate clock sourced from esysclk via a divisor */ +	.clk	= { +		.name		= "uartclk", +		.parent		= &clk_esysclk.clk, +	}, +	.reg_div = { .reg = S3C2443_CLKDIV1, .size = 4, .shift = 8 }, +}; +  static struct clk clk_i2s_ext = {  	.name		= "i2s-ext",  }; @@ -425,12 +427,6 @@ static struct clk init_clocks[] = {  		.enable		= s3c2443_clkcon_enable_h,  		.ctrlbit	= S3C2443_HCLKCON_DMA5,  	}, { -		.name		= "hsmmc", -		.devname	= "s3c-sdhci.1", -		.parent		= &clk_h, -		.enable		= s3c2443_clkcon_enable_h, -		.ctrlbit	= S3C2443_HCLKCON_HSMMC, -	}, {  		.name		= "gpio",  		.parent		= &clk_p,  		.enable		= s3c2443_clkcon_enable_p, @@ -512,6 +508,14 @@ static struct clk init_clocks[] = {  	}  }; +static struct clk hsmmc1_clk = { +	.name		= "hsmmc", +	.devname	= "s3c-sdhci.1", +	.parent		= &clk_h, +	.enable		= s3c2443_clkcon_enable_h, +	.ctrlbit	= S3C2443_HCLKCON_HSMMC, +}; +  static inline unsigned long s3c2443_get_hdiv(unsigned long clkcon0)  {  	clkcon0 &= S3C2443_CLKDIV0_HCLKDIV_MASK; @@ -577,6 +581,7 @@ static struct clk *clks[] __initdata = {  	&clk_epll,  	&clk_usb_bus,  	&clk_armdiv, +	&hsmmc1_clk,  };  static struct clksrc_clk *clksrcs[] __initdata = { @@ -589,6 +594,13 @@ static struct clksrc_clk *clksrcs[] __initdata = {  	&clk_arm,  }; +static struct clk_lookup s3c2443_clk_lookup[] = { +	CLKDEV_INIT(NULL, "clk_uart_baud1", &s3c24xx_uclk), +	CLKDEV_INIT(NULL, "clk_uart_baud2", &clk_p), +	CLKDEV_INIT(NULL, "clk_uart_baud3", &clk_esys_uart.clk), +	CLKDEV_INIT("s3c-sdhci.1", "mmc_busclk.0", &hsmmc1_clk), +}; +  void __init s3c2443_common_init_clocks(int xtal, pll_fn get_mpll,  				       unsigned int *divs, int nr_divs,  				       int divmask) @@ -618,6 +630,7 @@ void __init s3c2443_common_init_clocks(int xtal, pll_fn get_mpll,  	/* See s3c2443/etc notes on disabling clocks at init time */  	s3c_register_clocks(init_clocks_off, ARRAY_SIZE(init_clocks_off));  	s3c_disable_clocks(init_clocks_off, ARRAY_SIZE(init_clocks_off)); +	clkdev_add_table(s3c2443_clk_lookup, ARRAY_SIZE(s3c2443_clk_lookup));  	s3c2443_common_setup_clocks(get_mpll);  }  |