arm: omap3: Enable clocks for peripherals only if they are used
This patch change the per_clocks_enable() function used in OMAP3
code to enable peripherals clocks. Only required clock should be
activated. So if the board use the uart(x) as a console we need
to activate it. The Board's config should include define to enable
every subsystem that the board use. For a complete list
of affected peripherals, registers CM_FCLKEN_PER and CM_ICLKEN_PER
should be checked.
Right now the bootloader can enable and disable clocks for:
uart(x) using CONFIG_SYS_NS16550
gpio bank (x) using CONFIG_OMAP3_GPIO_X with X = { 2, 3, 4, 5, 6 }
i2c bus using CONFIG_DRIVER_OMAP34XX_I2C.
Not required gptimer(x) and mcbsp(x) for booting are disabled by default and
are not supported by any define.
Their activation need to included in the per_clocks_enable if the
peripheral is included. Not booting board should enable the peripheral
clock connected to their driver
Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
Cc: Igor Grinberg <grinberg@compulab.co.il>
Cc: Tom Rini <trini@ti.com>
Acked-by: Igor Grinberg <grinberg@compulab.co.il>
			
			
This commit is contained in:
		
							parent
							
								
									74007b8519
								
							
						
					
					
						commit
						f33b9bd398
					
				|  | @ -730,8 +730,6 @@ void per_clocks_enable(void) | ||||||
| 		sr32(&prcm_base->fclken_cam, 0, 32, FCK_CAM_ON); | 		sr32(&prcm_base->fclken_cam, 0, 32, FCK_CAM_ON); | ||||||
| 		sr32(&prcm_base->iclken_cam, 0, 32, ICK_CAM_ON); | 		sr32(&prcm_base->iclken_cam, 0, 32, ICK_CAM_ON); | ||||||
| 	} | 	} | ||||||
| 	sr32(&prcm_base->fclken_per, 0, 32, FCK_PER_ON); |  | ||||||
| 	sr32(&prcm_base->iclken_per, 0, 32, ICK_PER_ON); |  | ||||||
| 
 | 
 | ||||||
| 	sdelay(1000); | 	sdelay(1000); | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -27,8 +27,6 @@ | ||||||
| #define ICK_DSS_ON	0x00000001 | #define ICK_DSS_ON	0x00000001 | ||||||
| #define FCK_CAM_ON	0x00000001 | #define FCK_CAM_ON	0x00000001 | ||||||
| #define ICK_CAM_ON	0x00000001 | #define ICK_CAM_ON	0x00000001 | ||||||
| #define FCK_PER_ON	0x0003ffff |  | ||||||
| #define ICK_PER_ON	0x0003ffff |  | ||||||
| 
 | 
 | ||||||
| /* Used to index into DPLL parameter tables */ | /* Used to index into DPLL parameter tables */ | ||||||
| typedef struct { | typedef struct { | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue