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->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);
|
||||
}
|
||||
|
@ -27,8 +27,6 @@
|
||||
#define ICK_DSS_ON 0x00000001
|
||||
#define FCK_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 */
|
||||
typedef struct {
|
||||
|
Loading…
Reference in New Issue
Block a user