[U-Boot] TI:OMAP:[PATCH 4/7] Add support for 720Mhz

From 977856ac122e451a8de195d9f22253196572157a Mon Sep 17 00:00:00 2001
From: Syed Mohammed Khasim khasim@ti.com Date: Tue, 12 Jan 2010 16:32:42 +0530 Subject: [PATCH] Add support for 720Mhz
A New API to allow setting M value to support 720Mhz
Signed-off-by: Syed Mohammed Khasim khasim@ti.com --- cpu/arm_cortexa8/omap3/clock.c | 21 +++++++++++++++++++++ 1 files changed, 21 insertions(+), 0 deletions(-)
diff --git a/cpu/arm_cortexa8/omap3/clock.c b/cpu/arm_cortexa8/omap3/clock.c index 174c453..d67517a 100644 --- a/cpu/arm_cortexa8/omap3/clock.c +++ b/cpu/arm_cortexa8/omap3/clock.c @@ -402,3 +402,24 @@ void per_clocks_enable(void)
sdelay(1000); } + +/* + * Configure PRCM registers to get 720 Mhz + * + * NOTE: N value doesn't change, only M gets affected + */ +void prcm_config_720mhz(void) +{ + struct prcm *prcm_base = (struct prcm *)PRCM_BASE; + + /* Unlock MPU DPLL (slows things down, and needed later) */ + sr32(&prcm_base->clken_pll_mpu, 0, 3, PLL_LOW_POWER_BYPASS); + wait_on_value(ST_MPU_CLK, 0, &prcm_base->idlest_pll_mpu, LDELAY); + + /* Set M */ + sr32(&prcm_base->clksel1_pll_mpu, 8, 11, 0x2D0); + + /* lock mode */ + sr32(&prcm_base->clken_pll_mpu, 0, 3, PLL_LOCK); + wait_on_value(ST_MPU_CLK, 1, &prcm_base->idlest_pll_mpu, LDELAY); +}

Khasim Syed Mohammed wrote:
From 977856ac122e451a8de195d9f22253196572157a Mon Sep 17 00:00:00 2001 From: Syed Mohammed Khasim khasim@ti.com Date: Tue, 12 Jan 2010 16:32:42 +0530 Subject: [PATCH] Add support for 720Mhz
A New API to allow setting M value to support 720Mhz
Signed-off-by: Syed Mohammed Khasim khasim@ti.com
cpu/arm_cortexa8/omap3/clock.c | 21 +++++++++++++++++++++ 1 files changed, 21 insertions(+), 0 deletions(-)
diff --git a/cpu/arm_cortexa8/omap3/clock.c b/cpu/arm_cortexa8/omap3/clock.c index 174c453..d67517a 100644 --- a/cpu/arm_cortexa8/omap3/clock.c +++ b/cpu/arm_cortexa8/omap3/clock.c @@ -402,3 +402,24 @@ void per_clocks_enable(void)
sdelay(1000); }
+/*
- Configure PRCM registers to get 720 Mhz
- NOTE: N value doesn't change, only M gets affected
- */
+void prcm_config_720mhz(void) +{
Generalize this Change the name prcm_config. Possiblly pass in an enum for supported clk.
Setting the omap clk is not this simple. It is dependent on at least the input frequency. I do not see where this is checked here. You should rethink how this is being done.
Move this to the beagle board dir.
Tom

On Sun, Jan 24, 2010 at 5:39 AM, Tom Tom.Rix@windriver.com wrote:
Khasim Syed Mohammed wrote:
From 977856ac122e451a8de195d9f22253196572157a Mon Sep 17 00:00:00 2001 From: Syed Mohammed Khasim khasim@ti.com Date: Tue, 12 Jan 2010 16:32:42 +0530 Subject: [PATCH] Add support for 720Mhz
A New API to allow setting M value to support 720Mhz
Signed-off-by: Syed Mohammed Khasim khasim@ti.com
cpu/arm_cortexa8/omap3/clock.c | 21 +++++++++++++++++++++ 1 files changed, 21 insertions(+), 0 deletions(-)
diff --git a/cpu/arm_cortexa8/omap3/clock.c b/cpu/arm_cortexa8/omap3/clock.c index 174c453..d67517a 100644 --- a/cpu/arm_cortexa8/omap3/clock.c +++ b/cpu/arm_cortexa8/omap3/clock.c @@ -402,3 +402,24 @@ void per_clocks_enable(void)
sdelay(1000); }
+/*
- Configure PRCM registers to get 720 Mhz
- NOTE: N value doesn't change, only M gets affected
- */
+void prcm_config_720mhz(void) +{
Generalize this
Can be
Change the name prcm_config.
It is not actually PRCM config, this is specific to M value for 720Mhz
Possiblly pass in an enum for supported clk.
Setting the omap clk is not this simple. It is dependent on at least the input frequency.
Please see the entire file, the clocks are already set for 500 Mhz based on all the other relevant parameters, this patch will push the frequency to 720 Mhz.
I do not see where this is checked here. You should rethink how this is being done.
I think, I gave multiple tries and have also posted on this list. This should be the simplest and most correct way.
Move this to the beagle board dir.
No, the register definitions and structures are not available there, why do you want to move this to board specific, this is generic and any other board can all the API to set the m value for 720 Mhz.
Regards
Khasim

Khasim Syed Mohammed wrote:
On Sun, Jan 24, 2010 at 5:39 AM, Tom Tom.Rix@windriver.com wrote:
Khasim Syed Mohammed wrote:
From 977856ac122e451a8de195d9f22253196572157a Mon Sep 17 00:00:00 2001 From: Syed Mohammed Khasim khasim@ti.com Date: Tue, 12 Jan 2010 16:32:42 +0530 Subject: [PATCH] Add support for 720Mhz
A New API to allow setting M value to support 720Mhz
Signed-off-by: Syed Mohammed Khasim khasim@ti.com
cpu/arm_cortexa8/omap3/clock.c | 21 +++++++++++++++++++++ 1 files changed, 21 insertions(+), 0 deletions(-)
diff --git a/cpu/arm_cortexa8/omap3/clock.c b/cpu/arm_cortexa8/omap3/clock.c index 174c453..d67517a 100644 --- a/cpu/arm_cortexa8/omap3/clock.c +++ b/cpu/arm_cortexa8/omap3/clock.c @@ -402,3 +402,24 @@ void per_clocks_enable(void)
sdelay(1000);
}
+/*
- Configure PRCM registers to get 720 Mhz
- NOTE: N value doesn't change, only M gets affected
- */
+void prcm_config_720mhz(void) +{
Generalize this
Can be
Change the name prcm_config.
It is not actually PRCM config, this is specific to M value for 720Mhz
Possiblly pass in an enum for supported clk.
Setting the omap clk is not this simple. It is dependent on at least the input frequency.
Please see the entire file, the clocks are already set for 500 Mhz based on all the other relevant parameters, this patch will push the frequency to 720 Mhz.
I do not see where this is checked here. You should rethink how this is being done.
I think, I gave multiple tries and have also posted on this list. This should be the simplest and most correct way.
Move this to the beagle board dir.
No, the register definitions and structures are not available there, why do you want to move this to board specific, this is generic and any other board can all the API to set the m value for 720 Mhz.
This change may work for Beagle revC but it will not work in general. The cpu level is for general omap changes. What i don't want is every board adding there own special functions here to tweak clock parameters. Functions like this should go in the board files.
Tom
Regards
Khasim
participants (2)
-
Khasim Syed Mohammed
-
Tom