mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-09-18 22:14:16 +00:00 
			
		
		
		
	ARM: OMAP: Add support for forcing osc_ck on
Some boards might use the oscillator clock for powering external peripherals. Add support for making sure osc_ck stays active even when trying to go to sleep. Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
This commit is contained in:
		
							parent
							
								
									12583a70ac
								
							
						
					
					
						commit
						ab0a2b9b9f
					
				
					 2 changed files with 19 additions and 1 deletions
				
			
		|  | @ -81,6 +81,14 @@ static void omap2_propagate_rate(struct clk * clk) | |||
| 	propagate_rate(clk); | ||||
| } | ||||
| 
 | ||||
| static void omap2_set_osc_ck(int enable) | ||||
| { | ||||
| 	if (enable) | ||||
| 		PRCM_CLKSRC_CTRL &= ~(0x3 << 3); | ||||
| 	else | ||||
| 		PRCM_CLKSRC_CTRL |= 0x3 << 3; | ||||
| } | ||||
| 
 | ||||
| /* Enable an APLL if off */ | ||||
| static void omap2_clk_fixed_enable(struct clk *clk) | ||||
| { | ||||
|  | @ -121,6 +129,11 @@ static int _omap2_clk_enable(struct clk * clk) | |||
| 	if (clk->flags & ALWAYS_ENABLED) | ||||
| 		return 0; | ||||
| 
 | ||||
| 	if (unlikely(clk == &osc_ck)) { | ||||
| 		omap2_set_osc_ck(1); | ||||
| 		return 0; | ||||
| 	} | ||||
| 
 | ||||
| 	if (unlikely(clk->enable_reg == 0)) { | ||||
| 		printk(KERN_ERR "clock.c: Enable for %s without enable code\n", | ||||
| 		       clk->name); | ||||
|  | @ -158,6 +171,11 @@ static void _omap2_clk_disable(struct clk *clk) | |||
| { | ||||
| 	u32 regval32; | ||||
| 
 | ||||
| 	if (unlikely(clk == &osc_ck)) { | ||||
| 		omap2_set_osc_ck(0); | ||||
| 		return; | ||||
| 	} | ||||
| 
 | ||||
| 	if (clk->enable_reg == 0) | ||||
| 		return; | ||||
| 
 | ||||
|  |  | |||
|  | @ -560,7 +560,7 @@ static struct clk osc_ck = {		/* (*12, *13, 19.2, *26, 38.4)MHz */ | |||
| 	.name		= "osc_ck", | ||||
| 	.rate		= 26000000,		/* fixed up in clock init */ | ||||
| 	.flags		= CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X | | ||||
| 				RATE_FIXED | ALWAYS_ENABLED | RATE_PROPAGATES, | ||||
| 				RATE_FIXED | RATE_PROPAGATES, | ||||
| }; | ||||
| 
 | ||||
| /* With out modem likely 12MHz, with modem likely 13MHz */ | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Juha Yrjola
						Juha Yrjola