TI:OMAP: [PATCH] Add 720Mhz support for Beagle Rev C4

From e28c5e917f9504b724b6587287ad9e1eb0682b11 Mon Sep 17 00:00:00 2001

From: u-boot-bounces@lists.denx.de
[mailto:u-boot-bounces@lists.denx.de] On Behalf Of Khasim
Syed Mohammed
Sent: Saturday, January 09, 2010 10:17 AM
To: u-boot@lists.denx.de; beagleboard@googlegroups.com
Subject: [U-Boot] TI:OMAP: [PATCH] Add 720Mhz support for
Beagle Rev C4

From e28c5e917f9504b724b6587287ad9e1eb0682b11 Mon Sep 17 00:00:00 2001
From: Syed Mohammed Khasim <khasim@ti.com>
Date: Sat, 9 Jan 2010 09:40:32 +0530
Subject: [PATCH] Add 720Mhz support for Beagle Rev C4

Use the Generic TWL and Clock APIs to get beagle
Rev C4 running at 720Mhz

Signed-off-by: Syed Mohammed Khasim <khasim@ti.com>
---
board/ti/beagle/beagle.c | 20 ++++++++++++++++++--
1 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
index 0def5a6..7985ee9 100644
--- a/board/ti/beagle/beagle.c
+++ b/board/ti/beagle/beagle.c
@@ -122,9 +122,27 @@ int misc_init_r(void)
   struct gpio *gpio5_base = (struct gpio *)OMAP34XX_GPIO5_BASE;
   struct gpio *gpio6_base = (struct gpio *)OMAP34XX_GPIO6_BASE;

+ beagle_identify();
+
   twl4030_power_init();
   twl4030_led_init();

+ if (beagle_revision == REVISION_C4) {
+
+ /* Select TWL4030 VSEL to support 720Mhz */
+
twl4030_pmrecv_vsel_cfg(TWL4030_PM_RECEIVER_VAUX2_DEDICATED,
+ VAUX2_VSEL_18,
+
TWL4030_PM_RECEIVER_VAUX2_DEV_GRP,
+ DEV_GRP_P1);
+
+ twl4030_pmrecv_vsel_cfg(TWL4030_PM_RECEIVER_VDD1_VSEL,
+ VDD1_VSEL_14,
+
TWL4030_PM_RECEIVER_VDD1_DEV_GRP,
+ DEV_GRP_P1);
+
+ prcm_config_720mhz();
+ }
+
   /* Configure GPIOs to output */
   writel(~(GPIO23 | GPIO10 | GPIO8 | GPIO2 | GPIO1),
&gpio6_base->oe);
   writel(~(GPIO31 | GPIO30 | GPIO29 | GPIO28 | GPIO22 | GPIO21 |
@@ -136,8 +154,6 @@ int misc_init_r(void)
   writel(GPIO31 | GPIO30 | GPIO29 | GPIO28 | GPIO22 | GPIO21 |
     GPIO15 | GPIO14 | GPIO13 | GPIO12,
&gpio5_base->setdataout);

- beagle_identify();
-
   dieid_num_r();

Khasim,

I am not clear about the beagle revisions, but I feel it will be better to
check the silicon capability for 720MHz to do the scaling. This patch will
need to be updated if there is C5 which also supports 720MHz.

Best regards,
Sanjeev

There is no plan for a Rev C5.

Gerald

From: u-boot-bounces@lists.denx.de
[mailto:u-boot-bounces@lists.denx.de] On Behalf Of Khasim
Syed Mohammed
Sent: Saturday, January 09, 2010 10:17 AM
To: u-boot@lists.denx.de; beagleboard@googlegroups.com
Subject: [U-Boot] TI:OMAP: [PATCH] Add 720Mhz support for
Beagle Rev C4

From e28c5e917f9504b724b6587287ad9e1eb0682b11 Mon Sep 17 00:00:00 2001
From: Syed Mohammed Khasim <khasim@ti.com>
Date: Sat, 9 Jan 2010 09:40:32 +0530
Subject: [PATCH] Add 720Mhz support for Beagle Rev C4

Use the Generic TWL and Clock APIs to get beagle
Rev C4 running at 720Mhz

Signed-off-by: Syed Mohammed Khasim <khasim@ti.com>
---
board/ti/beagle/beagle.c | 20 ++++++++++++++++++--
1 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
index 0def5a6..7985ee9 100644
--- a/board/ti/beagle/beagle.c
+++ b/board/ti/beagle/beagle.c
@@ -122,9 +122,27 @@ int misc_init_r(void)
struct gpio *gpio5_base = (struct gpio *)OMAP34XX_GPIO5_BASE;
struct gpio *gpio6_base = (struct gpio *)OMAP34XX_GPIO6_BASE;

+ beagle_identify();
+
twl4030_power_init();
twl4030_led_init();

+ if (beagle_revision == REVISION_C4) {
+
+ /* Select TWL4030 VSEL to support 720Mhz */
+
twl4030_pmrecv_vsel_cfg(TWL4030_PM_RECEIVER_VAUX2_DEDICATED,
+ VAUX2_VSEL_18,
+
TWL4030_PM_RECEIVER_VAUX2_DEV_GRP,
+ DEV_GRP_P1);
+
+ twl4030_pmrecv_vsel_cfg(TWL4030_PM_RECEIVER_VDD1_VSEL,
+ VDD1_VSEL_14,
+
TWL4030_PM_RECEIVER_VDD1_DEV_GRP,
+ DEV_GRP_P1);
+
+ prcm_config_720mhz();
+ }
+
/* Configure GPIOs to output */
writel(~(GPIO23 | GPIO10 | GPIO8 | GPIO2 | GPIO1),
&gpio6_base->oe);
writel(~(GPIO31 | GPIO30 | GPIO29 | GPIO28 | GPIO22 | GPIO21 |
@@ -136,8 +154,6 @@ int misc_init_r(void)
writel(GPIO31 | GPIO30 | GPIO29 | GPIO28 | GPIO22 | GPIO21 |
GPIO15 | GPIO14 | GPIO13 | GPIO12,
&gpio5_base->setdataout);

- beagle_identify();
-
dieid_num_r();

Khasim,

I am not clear about the beagle revisions, but I feel it will be better to
check the silicon capability for 720MHz to do the scaling. This patch will
need to be updated if there is C5 which also supports 720MHz.

I was looking for documentation / addendum that points to change in
silicon revisions - unfortunately I didn't find any.

I agree that we can base this on Silicon Rev instead of board rev.
Will change this when I get the documentation for the same.

Thanks for the review.

Regards,
Khasim

From: u-boot-bounces@lists.denx.de
[mailto:u-boot-bounces@lists.denx.de] On Behalf Of Syed
Mohammed, Khasim
Sent: Tuesday, January 12, 2010 11:35 AM
To: beagleboard@googlegroups.com
Cc: u-boot@lists.denx.de
Subject: Re: [U-Boot] [beagleboard] RE: TI:OMAP: [PATCH] Add
720Mhz support for Beagle Rev C4

>> From: u-boot-bounces@lists.denx.de
>> [mailto:u-boot-bounces@lists.denx.de] On Behalf Of Khasim
>> Syed Mohammed
>> Sent: Saturday, January 09, 2010 10:17 AM
>> To: u-boot@lists.denx.de; beagleboard@googlegroups.com
>> Subject: [U-Boot] TI:OMAP: [PATCH] Add 720Mhz support for
>> Beagle Rev C4
>>
>> From e28c5e917f9504b724b6587287ad9e1eb0682b11 Mon Sep 17
00:00:00 2001
>> From: Syed Mohammed Khasim <khasim@ti.com>
>> Date: Sat, 9 Jan 2010 09:40:32 +0530
>> Subject: [PATCH] Add 720Mhz support for Beagle Rev C4
>>
>> Use the Generic TWL and Clock APIs to get beagle
>> Rev C4 running at 720Mhz
>>
>> Signed-off-by: Syed Mohammed Khasim <khasim@ti.com>
>> ---
>> board/ti/beagle/beagle.c | 20 ++++++++++++++++++--
>> 1 files changed, 18 insertions(+), 2 deletions(-)
>>
>> diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
>> index 0def5a6..7985ee9 100644
>> --- a/board/ti/beagle/beagle.c
>> +++ b/board/ti/beagle/beagle.c
>> @@ -122,9 +122,27 @@ int misc_init_r(void)
>> struct gpio *gpio5_base = (struct gpio *)OMAP34XX_GPIO5_BASE;
>> struct gpio *gpio6_base = (struct gpio *)OMAP34XX_GPIO6_BASE;
>>
>> + beagle_identify();
>> +
>> twl4030_power_init();
>> twl4030_led_init();
>>
>> + if (beagle_revision == REVISION_C4) {
>> +
>> + /* Select TWL4030 VSEL to support 720Mhz */
>> +
>> twl4030_pmrecv_vsel_cfg(TWL4030_PM_RECEIVER_VAUX2_DEDICATED,
>> + VAUX2_VSEL_18,
>> +
>> TWL4030_PM_RECEIVER_VAUX2_DEV_GRP,
>> + DEV_GRP_P1);
>> +
>> +
twl4030_pmrecv_vsel_cfg(TWL4030_PM_RECEIVER_VDD1_VSEL,
>> + VDD1_VSEL_14,
>> +
>> TWL4030_PM_RECEIVER_VDD1_DEV_GRP,
>> + DEV_GRP_P1);
>> +
>> + prcm_config_720mhz();
>> + }
>> +
>> /* Configure GPIOs to output */
>> writel(~(GPIO23 | GPIO10 | GPIO8 | GPIO2 | GPIO1),
>> &gpio6_base->oe);
>> writel(~(GPIO31 | GPIO30 | GPIO29 | GPIO28 | GPIO22
> GPIO21 |
>> @@ -136,8 +154,6 @@ int misc_init_r(void)
>> writel(GPIO31 | GPIO30 | GPIO29 | GPIO28 | GPIO22 | GPIO21 |
>> GPIO15 | GPIO14 | GPIO13 | GPIO12,
>> &gpio5_base->setdataout);
>>
>> - beagle_identify();
>> -
>> dieid_num_r();
>
> Khasim,
>
> I am not clear about the beagle revisions, but I feel it
will be better to
> check the silicon capability for 720MHz to do the scaling.
This patch will
> need to be updated if there is C5 which also supports 720MHz.
>
I was looking for documentation / addendum that points to change in
silicon revisions - unfortunately I didn't find any.

I agree that we can base this on Silicon Rev instead of board rev.
Will change this when I get the documentation for the same.

Khasim,

The steps are defined in the latest TRM.

Best regards,
Sanjeev

From: u-boot-bounces@lists.denx.de
[mailto:u-boot-bounces@lists.denx.de] On Behalf Of Syed
Mohammed, Khasim
Sent: Tuesday, January 12, 2010 11:35 AM
To: beagleboard@googlegroups.com
Cc: u-boot@lists.denx.de
Subject: Re: [U-Boot] [beagleboard] RE: TI:OMAP: [PATCH] Add
720Mhz support for Beagle Rev C4

>> From: u-boot-bounces@lists.denx.de
>> [mailto:u-boot-bounces@lists.denx.de] On Behalf Of Khasim
>> Syed Mohammed
>> Sent: Saturday, January 09, 2010 10:17 AM
>> To: u-boot@lists.denx.de; beagleboard@googlegroups.com
>> Subject: [U-Boot] TI:OMAP: [PATCH] Add 720Mhz support for
>> Beagle Rev C4
>>
>> From e28c5e917f9504b724b6587287ad9e1eb0682b11 Mon Sep 17
00:00:00 2001
>> From: Syed Mohammed Khasim <khasim@ti.com>
>> Date: Sat, 9 Jan 2010 09:40:32 +0530
>> Subject: [PATCH] Add 720Mhz support for Beagle Rev C4
>>
>> Use the Generic TWL and Clock APIs to get beagle
>> Rev C4 running at 720Mhz
>>
>> Signed-off-by: Syed Mohammed Khasim <khasim@ti.com>
>> ---
>> board/ti/beagle/beagle.c | 20 ++++++++++++++++++--
>> 1 files changed, 18 insertions(+), 2 deletions(-)
>>
>> diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
>> index 0def5a6..7985ee9 100644
>> --- a/board/ti/beagle/beagle.c
>> +++ b/board/ti/beagle/beagle.c
>> @@ -122,9 +122,27 @@ int misc_init_r(void)
>> struct gpio *gpio5_base = (struct gpio *)OMAP34XX_GPIO5_BASE;
>> struct gpio *gpio6_base = (struct gpio *)OMAP34XX_GPIO6_BASE;
>>
>> + beagle_identify();
>> +
>> twl4030_power_init();
>> twl4030_led_init();
>>
>> + if (beagle_revision == REVISION_C4) {
>> +
>> + /* Select TWL4030 VSEL to support 720Mhz */
>> +
>> twl4030_pmrecv_vsel_cfg(TWL4030_PM_RECEIVER_VAUX2_DEDICATED,
>> + VAUX2_VSEL_18,
>> +
>> TWL4030_PM_RECEIVER_VAUX2_DEV_GRP,
>> + DEV_GRP_P1);
>> +
>> +
twl4030_pmrecv_vsel_cfg(TWL4030_PM_RECEIVER_VDD1_VSEL,
>> + VDD1_VSEL_14,
>> +
>> TWL4030_PM_RECEIVER_VDD1_DEV_GRP,
>> + DEV_GRP_P1);
>> +
>> + prcm_config_720mhz();
>> + }
>> +
>> /* Configure GPIOs to output */
>> writel(~(GPIO23 | GPIO10 | GPIO8 | GPIO2 | GPIO1),
>> &gpio6_base->oe);
>> writel(~(GPIO31 | GPIO30 | GPIO29 | GPIO28 | GPIO22
> GPIO21 |
>> @@ -136,8 +154,6 @@ int misc_init_r(void)
>> writel(GPIO31 | GPIO30 | GPIO29 | GPIO28 | GPIO22 | GPIO21 |
>> GPIO15 | GPIO14 | GPIO13 | GPIO12,
>> &gpio5_base->setdataout);
>>
>> - beagle_identify();
>> -
>> dieid_num_r();
>
> Khasim,
>
> I am not clear about the beagle revisions, but I feel it
will be better to
> check the silicon capability for 720MHz to do the scaling.
This patch will
> need to be updated if there is C5 which also supports 720MHz.
>
I was looking for documentation / addendum that points to change in
silicon revisions - unfortunately I didn't find any.

I agree that we can base this on Silicon Rev instead of board rev.
Will change this when I get the documentation for the same.

Khasim,

The steps are defined in the latest TRM.

Thanks for pointing that out. After checking out with Gerald, I prefer
staying with Board revision for this Rev.

I am also waiting for cpu revision detection discussion to stabilize a bit.

Regards,
Khasim