* [PATCH] Add PRCM scheme I on omap2420
@ 2006-05-08 6:02 Kyungmin Park
0 siblings, 0 replies; 7+ messages in thread
From: Kyungmin Park @ 2006-05-08 6:02 UTC (permalink / raw)
To: linux-omap-open-source
Hi
This patch add PRCM scheme I on omap2420.
The Apollon can run with 660MHz with SDRAM 166MHz.
please check the setting values.
Thank you
Kyungmin Park
--
diff --git a/arch/arm/mach-omap2/clock.h b/arch/arm/mach-omap2/clock.h
index 6c78d47..94ded7b 100644
--- a/arch/arm/mach-omap2/clock.h
+++ b/arch/arm/mach-omap2/clock.h
@@ -174,7 +174,7 @@ struct prcm_config {
#define RII_CLKSEL_DSP (3 << 0) /* c5x - 200MHz */
#define RII_CLKSEL_DSP_IF (2 << 5) /* c5x - 100MHz */
#define RII_SYNC_DSP (0 << 7) /* Bypass sync */
-#define RII_CLKSEL_IVA (6 << 8) /* iva1 - 200MHz */
+#define RII_CLKSEL_IVA (3 << 8) /* iva1 - 200MHz */
#define RII_SYNC_IVA (0 << 13) /* Bypass sync */
#define RII_CM_CLKSEL_DSP_VAL RII_SYNC_IVA | RII_CLKSEL_IVA | \
RII_SYNC_DSP | RII_CLKSEL_DSP_IF | \
@@ -182,6 +182,27 @@ struct prcm_config {
#define RII_CLKSEL_GFX (2 << 0) /* 50MHz */
#define RII_CM_CLKSEL_GFX_VAL RII_CLKSEL_GFX
+/* 2420-PRCM I 660MHz core */
+#define RI_CLKSEL_L3 (4 << 0) /* 165MHz */
+#define RI_CLKSEL_L4 (2 << 5) /* 82.5MHz */
+#define RI_CLKSEL_USB (4 << 25) /* 41.25MHz */
+#define RI_CM_CLKSEL1_CORE_VAL RI_CLKSEL_USB | \
+ RXX_CLKSEL_SSI | RXX_CLKSEL_VLYNQ |
\
+ RX_CLKSEL_DSS2 | RX_CLKSEL_DSS1 | \
+ RI_CLKSEL_L4 | RI_CLKSEL_L3
+#define RI_CLKSEL_MPU (2 << 0) /* 330MHz */
+#define RI_CM_CLKSEL_MPU_VAL RI_CLKSEL_MPU
+#define RI_CLKSEL_DSP (3 << 0) /* c5x - 220MHz */
+#define RI_CLKSEL_DSP_IF (2 << 5) /* c5x - 110MHz */
+#define RI_SYNC_DSP (1 << 7) /* Activate sync */
+#define RI_CLKSEL_IVA (4 << 8) /* iva1 - 165MHz */
+#define RI_SYNC_IVA (0 << 13) /* Bypass sync */
+#define RI_CM_CLKSEL_DSP_VAL RI_SYNC_IVA | RI_CLKSEL_IVA | \
+ RI_SYNC_DSP | RI_CLKSEL_DSP_IF | \
+ RI_CLKSEL_DSP
+#define RI_CLKSEL_GFX (1 << 0) /* 165MHz */
+#define RI_CM_CLKSEL_GFX_VAL RI_CLKSEL_GFX
+
/* 2420-PRCM VII (boot) */
#define RVII_CLKSEL_L3 (1 << 0)
#define RVII_CLKSEL_L4 (1 << 5)
@@ -300,6 +321,13 @@ struct prcm_config {
* boot (boot)
*/
+/* PRCM I target DPLL = 2*330MHz = 660MHz */
+#define MI_DPLL_MULT_12 (55 << 12)
+#define MI_DPLL_DIV_12 (1 << 8)
+#define MI_CM_CLKSEL1_PLL_12_VAL MX_48M_SRC | MX_54M_SRC | \
+ MI_DPLL_DIV_12 | MI_DPLL_MULT_12 | \
+ MX_APLLS_CLIKIN_12
+
/*
* 2420 Equivalent - mode registers
* PRCM II , target DPLL = 2*300MHz = 600MHz
@@ -352,6 +380,7 @@ struct prcm_config {
* By having the boot loader boot up in the fastest L4 speed available
likely
* will result in something which you can switch between.
*/
+#define V24XX_SDRC_RFR_CTRL_166MHz (0x00044c00 | 1)
#define V24XX_SDRC_RFR_CTRL_133MHz (0x0003de00 | 1)
#define V24XX_SDRC_RFR_CTRL_100MHz (0x0002da01 | 1)
#define V24XX_SDRC_RFR_CTRL_110MHz (0x0002da01 | 1) /* Need to calc */
@@ -394,6 +423,13 @@ struct prcm_config {
* Note: This table needs to be sorted, fastest to slowest.
*-------------------------------------------------------------------------
*/
static struct prcm_config rate_table[] = {
+ /* PRCM I - FAST */
+ {S12M, S660M, S330M, RI_CM_CLKSEL_MPU_VAL, /* 330MHz
ARM */
+ RI_CM_CLKSEL_DSP_VAL, RI_CM_CLKSEL_GFX_VAL,
+ RI_CM_CLKSEL1_CORE_VAL, MI_CM_CLKSEL1_PLL_12_VAL,
+ MX_CLKSEL2_PLL_2x_VAL, 0, V24XX_SDRC_RFR_CTRL_166MHz,
+ RATE_IN_242X},
+
/* PRCM II - FAST */
{S12M, S600M, S300M, RII_CM_CLKSEL_MPU_VAL, /* 300MHz
ARM */
RII_CM_CLKSEL_DSP_VAL, RII_CM_CLKSEL_GFX_VAL,
^ permalink raw reply related [flat|nested] 7+ messages in thread
* RE: [PATCH] Add PRCM scheme I on omap2420
@ 2006-05-08 15:13 Woodruff, Richard
2006-05-09 23:26 ` Kyungmin Park
0 siblings, 1 reply; 7+ messages in thread
From: Woodruff, Richard @ 2006-05-08 15:13 UTC (permalink / raw)
To: kyungmin.park, linux-omap-open-source
Kyungmin,
Locally I use the following RFR defines.
#define V24XX_SDRC_RFR_CTRL_165MHz (0x0004e200 | 1)
#define V24XX_SDRC_RFR_CTRL_133MHz (0x0003de00 | 1)
#define V24XX_SDRC_RFR_CTRL_110MHz (0x00032801 | 1)
#define V24XX_SDRC_RFR_CTRL_100MHz (0x0002da01 | 1)
#define V24XX_SDRC_RFR_CTRL_BYPASS (0x00005000 | 1)
This is for DDR's used on H4 and 2430SDP's. Really I suppose we should
have a board specific table setting imported. Your 44c00 perhaps could
be a little better; it really depends on the part. Many of the mDDRs
seem to be pretty compatible in this regard given a frequency.
I also don't use _166MHz for the speed as it's really set to 165. 660/4
= 165.
Otherwise it looks fine.
Regards,
Richard W.
-----Original Message-----
From: linux-omap-open-source-bounces+r-woodruff2=ti.com@linux.omap.com
[mailto:linux-omap-open-source-bounces+r-woodruff2=ti.com@linux.omap.com
] On Behalf Of Kyungmin Park
Sent: Monday, May 08, 2006 1:03 AM
To: linux-omap-open-source@linux.omap.com
Subject: [PATCH] Add PRCM scheme I on omap2420
Hi
This patch add PRCM scheme I on omap2420.
The Apollon can run with 660MHz with SDRAM 166MHz.
please check the setting values.
Thank you
Kyungmin Park
--
diff --git a/arch/arm/mach-omap2/clock.h b/arch/arm/mach-omap2/clock.h
index 6c78d47..94ded7b 100644
--- a/arch/arm/mach-omap2/clock.h
+++ b/arch/arm/mach-omap2/clock.h
@@ -174,7 +174,7 @@ struct prcm_config {
#define RII_CLKSEL_DSP (3 << 0) /* c5x - 200MHz
*/
#define RII_CLKSEL_DSP_IF (2 << 5) /* c5x - 100MHz
*/
#define RII_SYNC_DSP (0 << 7) /* Bypass sync
*/
-#define RII_CLKSEL_IVA (6 << 8) /* iva1 - 200MHz
*/
+#define RII_CLKSEL_IVA (3 << 8) /* iva1 - 200MHz
*/
#define RII_SYNC_IVA (0 << 13) /* Bypass sync
*/
#define RII_CM_CLKSEL_DSP_VAL RII_SYNC_IVA | RII_CLKSEL_IVA |
\
RII_SYNC_DSP | RII_CLKSEL_DSP_IF
| \
@@ -182,6 +182,27 @@ struct prcm_config {
#define RII_CLKSEL_GFX (2 << 0) /* 50MHz */
#define RII_CM_CLKSEL_GFX_VAL RII_CLKSEL_GFX
+/* 2420-PRCM I 660MHz core */
+#define RI_CLKSEL_L3 (4 << 0) /* 165MHz */
+#define RI_CLKSEL_L4 (2 << 5) /* 82.5MHz */
+#define RI_CLKSEL_USB (4 << 25) /* 41.25MHz */
+#define RI_CM_CLKSEL1_CORE_VAL RI_CLKSEL_USB | \
+ RXX_CLKSEL_SSI |
RXX_CLKSEL_VLYNQ |
\
+ RX_CLKSEL_DSS2 | RX_CLKSEL_DSS1
| \
+ RI_CLKSEL_L4 | RI_CLKSEL_L3
+#define RI_CLKSEL_MPU (2 << 0) /* 330MHz */
+#define RI_CM_CLKSEL_MPU_VAL RI_CLKSEL_MPU
+#define RI_CLKSEL_DSP (3 << 0) /* c5x - 220MHz
*/
+#define RI_CLKSEL_DSP_IF (2 << 5) /* c5x - 110MHz
*/
+#define RI_SYNC_DSP (1 << 7) /* Activate sync
*/
+#define RI_CLKSEL_IVA (4 << 8) /* iva1 - 165MHz
*/
+#define RI_SYNC_IVA (0 << 13) /* Bypass sync
*/
+#define RI_CM_CLKSEL_DSP_VAL RI_SYNC_IVA | RI_CLKSEL_IVA | \
+ RI_SYNC_DSP | RI_CLKSEL_DSP_IF |
\
+ RI_CLKSEL_DSP
+#define RI_CLKSEL_GFX (1 << 0) /* 165MHz */
+#define RI_CM_CLKSEL_GFX_VAL RI_CLKSEL_GFX
+
/* 2420-PRCM VII (boot) */
#define RVII_CLKSEL_L3 (1 << 0)
#define RVII_CLKSEL_L4 (1 << 5)
@@ -300,6 +321,13 @@ struct prcm_config {
* boot (boot)
*/
+/* PRCM I target DPLL = 2*330MHz = 660MHz */
+#define MI_DPLL_MULT_12 (55 << 12)
+#define MI_DPLL_DIV_12 (1 << 8)
+#define MI_CM_CLKSEL1_PLL_12_VAL MX_48M_SRC | MX_54M_SRC | \
+ MI_DPLL_DIV_12 | MI_DPLL_MULT_12
| \
+ MX_APLLS_CLIKIN_12
+
/*
* 2420 Equivalent - mode registers
* PRCM II , target DPLL = 2*300MHz = 600MHz
@@ -352,6 +380,7 @@ struct prcm_config {
* By having the boot loader boot up in the fastest L4 speed available
likely
* will result in something which you can switch between.
*/
+#define V24XX_SDRC_RFR_CTRL_166MHz (0x00044c00 | 1)
#define V24XX_SDRC_RFR_CTRL_133MHz (0x0003de00 | 1)
#define V24XX_SDRC_RFR_CTRL_100MHz (0x0002da01 | 1)
#define V24XX_SDRC_RFR_CTRL_110MHz (0x0002da01 | 1) /* Need to calc
*/
@@ -394,6 +423,13 @@ struct prcm_config {
* Note: This table needs to be sorted, fastest to slowest.
*-----------------------------------------------------------------------
--
*/
static struct prcm_config rate_table[] = {
+ /* PRCM I - FAST */
+ {S12M, S660M, S330M, RI_CM_CLKSEL_MPU_VAL, /*
330MHz
ARM */
+ RI_CM_CLKSEL_DSP_VAL, RI_CM_CLKSEL_GFX_VAL,
+ RI_CM_CLKSEL1_CORE_VAL, MI_CM_CLKSEL1_PLL_12_VAL,
+ MX_CLKSEL2_PLL_2x_VAL, 0, V24XX_SDRC_RFR_CTRL_166MHz,
+ RATE_IN_242X},
+
/* PRCM II - FAST */
{S12M, S600M, S300M, RII_CM_CLKSEL_MPU_VAL, /*
300MHz
ARM */
RII_CM_CLKSEL_DSP_VAL, RII_CM_CLKSEL_GFX_VAL,
_______________________________________________
Linux-omap-open-source mailing list
Linux-omap-open-source@linux.omap.com
http://linux.omap.com/mailman/listinfo/linux-omap-open-source
^ permalink raw reply related [flat|nested] 7+ messages in thread
* RE: [PATCH] Add PRCM scheme I on omap2420
2006-05-08 15:13 Woodruff, Richard
@ 2006-05-09 23:26 ` Kyungmin Park
0 siblings, 0 replies; 7+ messages in thread
From: Kyungmin Park @ 2006-05-09 23:26 UTC (permalink / raw)
To: 'Woodruff, Richard', linux-omap-open-source
Hi Richard W.
O.K. the value modified 165MHz.
I have a question about 2430 SDP.
Is it possible to use current kernel source for 2430 platform? or more work
needed to 2430?
Can you tell me where to referece the 2430?
Regards,
Kyungmin Park
--
diff --git a/arch/arm/mach-omap2/clock.h b/arch/arm/mach-omap2/clock.h
index 6c78d47..2eb0d04 100644
--- a/arch/arm/mach-omap2/clock.h
+++ b/arch/arm/mach-omap2/clock.h
@@ -174,7 +174,7 @@ struct prcm_config {
#define RII_CLKSEL_DSP (3 << 0) /* c5x - 200MHz */
#define RII_CLKSEL_DSP_IF (2 << 5) /* c5x - 100MHz */
#define RII_SYNC_DSP (0 << 7) /* Bypass sync */
-#define RII_CLKSEL_IVA (6 << 8) /* iva1 - 200MHz */
+#define RII_CLKSEL_IVA (3 << 8) /* iva1 - 200MHz */
#define RII_SYNC_IVA (0 << 13) /* Bypass sync */
#define RII_CM_CLKSEL_DSP_VAL RII_SYNC_IVA | RII_CLKSEL_IVA | \
RII_SYNC_DSP | RII_CLKSEL_DSP_IF | \
@@ -182,6 +182,27 @@ struct prcm_config {
#define RII_CLKSEL_GFX (2 << 0) /* 50MHz */
#define RII_CM_CLKSEL_GFX_VAL RII_CLKSEL_GFX
+/* 2420-PRCM I 660MHz core */
+#define RI_CLKSEL_L3 (4 << 0) /* 165MHz */
+#define RI_CLKSEL_L4 (2 << 5) /* 82.5MHz */
+#define RI_CLKSEL_USB (4 << 25) /* 41.25MHz */
+#define RI_CM_CLKSEL1_CORE_VAL RI_CLKSEL_USB | \
+ RXX_CLKSEL_SSI | RXX_CLKSEL_VLYNQ |
\
+ RX_CLKSEL_DSS2 | RX_CLKSEL_DSS1 | \
+ RI_CLKSEL_L4 | RI_CLKSEL_L3
+#define RI_CLKSEL_MPU (2 << 0) /* 330MHz */
+#define RI_CM_CLKSEL_MPU_VAL RI_CLKSEL_MPU
+#define RI_CLKSEL_DSP (3 << 0) /* c5x - 220MHz */
+#define RI_CLKSEL_DSP_IF (2 << 5) /* c5x - 110MHz */
+#define RI_SYNC_DSP (1 << 7) /* Activate sync */
+#define RI_CLKSEL_IVA (4 << 8) /* iva1 - 165MHz */
+#define RI_SYNC_IVA (0 << 13) /* Bypass sync */
+#define RI_CM_CLKSEL_DSP_VAL RI_SYNC_IVA | RI_CLKSEL_IVA | \
+ RI_SYNC_DSP | RI_CLKSEL_DSP_IF | \
+ RI_CLKSEL_DSP
+#define RI_CLKSEL_GFX (1 << 0) /* 165MHz */
+#define RI_CM_CLKSEL_GFX_VAL RI_CLKSEL_GFX
+
/* 2420-PRCM VII (boot) */
#define RVII_CLKSEL_L3 (1 << 0)
#define RVII_CLKSEL_L4 (1 << 5)
@@ -300,6 +321,13 @@ struct prcm_config {
* boot (boot)
*/
+/* PRCM I target DPLL = 2*330MHz = 660MHz */
+#define MI_DPLL_MULT_12 (55 << 12)
+#define MI_DPLL_DIV_12 (1 << 8)
+#define MI_CM_CLKSEL1_PLL_12_VAL MX_48M_SRC | MX_54M_SRC | \
+ MI_DPLL_DIV_12 | MI_DPLL_MULT_12 | \
+ MX_APLLS_CLIKIN_12
+
/*
* 2420 Equivalent - mode registers
* PRCM II , target DPLL = 2*300MHz = 600MHz
@@ -352,6 +380,7 @@ struct prcm_config {
* By having the boot loader boot up in the fastest L4 speed available
likely
* will result in something which you can switch between.
*/
+#define V24XX_SDRC_RFR_CTRL_165MHz (0x00044c00 | 1)
#define V24XX_SDRC_RFR_CTRL_133MHz (0x0003de00 | 1)
#define V24XX_SDRC_RFR_CTRL_100MHz (0x0002da01 | 1)
#define V24XX_SDRC_RFR_CTRL_110MHz (0x0002da01 | 1) /* Need to calc */
@@ -394,6 +423,13 @@ struct prcm_config {
* Note: This table needs to be sorted, fastest to slowest.
*-------------------------------------------------------------------------
*/
static struct prcm_config rate_table[] = {
+ /* PRCM I - FAST */
+ {S12M, S660M, S330M, RI_CM_CLKSEL_MPU_VAL, /* 330MHz
ARM */
+ RI_CM_CLKSEL_DSP_VAL, RI_CM_CLKSEL_GFX_VAL,
+ RI_CM_CLKSEL1_CORE_VAL, MI_CM_CLKSEL1_PLL_12_VAL,
+ MX_CLKSEL2_PLL_2x_VAL, 0, V24XX_SDRC_RFR_CTRL_166MHz,
+ RATE_IN_242X},
+
/* PRCM II - FAST */
{S12M, S600M, S300M, RII_CM_CLKSEL_MPU_VAL, /* 300MHz
ARM */
RII_CM_CLKSEL_DSP_VAL, RII_CM_CLKSEL_GFX_VAL,
> -----Original Message-----
> From: Woodruff, Richard [mailto:r-woodruff2@ti.com]
> Sent: Tuesday, May 09, 2006 12:13 AM
> To: kyungmin.park@samsung.com; linux-omap-open-source@linux.omap.com
> Subject: RE: [PATCH] Add PRCM scheme I on omap2420
>
> Kyungmin,
>
> Locally I use the following RFR defines.
>
> #define V24XX_SDRC_RFR_CTRL_165MHz (0x0004e200 | 1)
> #define V24XX_SDRC_RFR_CTRL_133MHz (0x0003de00 | 1)
> #define V24XX_SDRC_RFR_CTRL_110MHz (0x00032801 | 1)
> #define V24XX_SDRC_RFR_CTRL_100MHz (0x0002da01 | 1)
> #define V24XX_SDRC_RFR_CTRL_BYPASS (0x00005000 | 1)
>
> This is for DDR's used on H4 and 2430SDP's. Really I suppose
> we should
> have a board specific table setting imported. Your 44c00
> perhaps could
> be a little better; it really depends on the part. Many of the mDDRs
> seem to be pretty compatible in this regard given a frequency.
>
> I also don't use _166MHz for the speed as it's really set to
> 165. 660/4
> = 165.
>
> Otherwise it looks fine.
>
> Regards,
> Richard W.
>
>
> -----Original Message-----
> From: linux-omap-open-source-bounces+r-woodruff2=ti.com@linux.omap.com
> [mailto:linux-omap-open-source-bounces+r-woodruff2=ti.com@linu
> x.omap.com
> ] On Behalf Of Kyungmin Park
> Sent: Monday, May 08, 2006 1:03 AM
> To: linux-omap-open-source@linux.omap.com
> Subject: [PATCH] Add PRCM scheme I on omap2420
>
> Hi
>
> This patch add PRCM scheme I on omap2420.
>
> The Apollon can run with 660MHz with SDRAM 166MHz.
>
> please check the setting values.
>
> Thank you
> Kyungmin Park
>
> --
>
> diff --git a/arch/arm/mach-omap2/clock.h b/arch/arm/mach-omap2/clock.h
> index 6c78d47..94ded7b 100644
> --- a/arch/arm/mach-omap2/clock.h
> +++ b/arch/arm/mach-omap2/clock.h
> @@ -174,7 +174,7 @@ struct prcm_config {
> #define RII_CLKSEL_DSP (3 << 0)
> /* c5x - 200MHz
> */
> #define RII_CLKSEL_DSP_IF (2 << 5) /* c5x - 100MHz
> */
> #define RII_SYNC_DSP (0 << 7) /* Bypass sync
> */
> -#define RII_CLKSEL_IVA (6 << 8)
> /* iva1 - 200MHz
> */
> +#define RII_CLKSEL_IVA (3 << 8)
> /* iva1 - 200MHz
> */
> #define RII_SYNC_IVA (0 << 13) /* Bypass sync
> */
> #define RII_CM_CLKSEL_DSP_VAL RII_SYNC_IVA |
> RII_CLKSEL_IVA |
> \
> RII_SYNC_DSP | RII_CLKSEL_DSP_IF
> | \
> @@ -182,6 +182,27 @@ struct prcm_config {
> #define RII_CLKSEL_GFX (2 << 0)
> /* 50MHz */
> #define RII_CM_CLKSEL_GFX_VAL RII_CLKSEL_GFX
>
> +/* 2420-PRCM I 660MHz core */
> +#define RI_CLKSEL_L3 (4 << 0) /* 165MHz */
> +#define RI_CLKSEL_L4 (2 << 5) /* 82.5MHz */
> +#define RI_CLKSEL_USB (4 << 25)
> /* 41.25MHz */
> +#define RI_CM_CLKSEL1_CORE_VAL RI_CLKSEL_USB | \
> + RXX_CLKSEL_SSI |
> RXX_CLKSEL_VLYNQ |
> \
> + RX_CLKSEL_DSS2 | RX_CLKSEL_DSS1
> | \
> + RI_CLKSEL_L4 | RI_CLKSEL_L3
> +#define RI_CLKSEL_MPU (2 << 0)
> /* 330MHz */
> +#define RI_CM_CLKSEL_MPU_VAL RI_CLKSEL_MPU
> +#define RI_CLKSEL_DSP (3 << 0)
> /* c5x - 220MHz
> */
> +#define RI_CLKSEL_DSP_IF (2 << 5) /* c5x - 110MHz
> */
> +#define RI_SYNC_DSP (1 << 7) /* Activate sync
> */
> +#define RI_CLKSEL_IVA (4 << 8)
> /* iva1 - 165MHz
> */
> +#define RI_SYNC_IVA (0 << 13) /* Bypass sync
> */
> +#define RI_CM_CLKSEL_DSP_VAL RI_SYNC_IVA | RI_CLKSEL_IVA | \
> + RI_SYNC_DSP | RI_CLKSEL_DSP_IF |
> \
> + RI_CLKSEL_DSP
> +#define RI_CLKSEL_GFX (1 << 0)
> /* 165MHz */
> +#define RI_CM_CLKSEL_GFX_VAL RI_CLKSEL_GFX
> +
> /* 2420-PRCM VII (boot) */
> #define RVII_CLKSEL_L3 (1 << 0)
> #define RVII_CLKSEL_L4 (1 << 5)
> @@ -300,6 +321,13 @@ struct prcm_config {
> * boot (boot)
> */
>
> +/* PRCM I target DPLL = 2*330MHz = 660MHz */
> +#define MI_DPLL_MULT_12 (55 << 12)
> +#define MI_DPLL_DIV_12 (1 << 8)
> +#define MI_CM_CLKSEL1_PLL_12_VAL MX_48M_SRC | MX_54M_SRC | \
> + MI_DPLL_DIV_12 | MI_DPLL_MULT_12
> | \
> + MX_APLLS_CLIKIN_12
> +
> /*
> * 2420 Equivalent - mode registers
> * PRCM II , target DPLL = 2*300MHz = 600MHz
> @@ -352,6 +380,7 @@ struct prcm_config {
> * By having the boot loader boot up in the fastest L4 speed
> available
> likely
> * will result in something which you can switch between.
> */
> +#define V24XX_SDRC_RFR_CTRL_166MHz (0x00044c00 | 1)
> #define V24XX_SDRC_RFR_CTRL_133MHz (0x0003de00 | 1)
> #define V24XX_SDRC_RFR_CTRL_100MHz (0x0002da01 | 1)
> #define V24XX_SDRC_RFR_CTRL_110MHz (0x0002da01 | 1) /* Need to calc
> */
> @@ -394,6 +423,13 @@ struct prcm_config {
> * Note: This table needs to be sorted, fastest to slowest.
>
> *-------------------------------------------------------------
> ----------
> --
> */
> static struct prcm_config rate_table[] = {
> + /* PRCM I - FAST */
> + {S12M, S660M, S330M, RI_CM_CLKSEL_MPU_VAL, /*
> 330MHz
> ARM */
> + RI_CM_CLKSEL_DSP_VAL, RI_CM_CLKSEL_GFX_VAL,
> + RI_CM_CLKSEL1_CORE_VAL, MI_CM_CLKSEL1_PLL_12_VAL,
> + MX_CLKSEL2_PLL_2x_VAL, 0, V24XX_SDRC_RFR_CTRL_166MHz,
> + RATE_IN_242X},
> +
> /* PRCM II - FAST */
> {S12M, S600M, S300M, RII_CM_CLKSEL_MPU_VAL, /*
> 300MHz
> ARM */
> RII_CM_CLKSEL_DSP_VAL, RII_CM_CLKSEL_GFX_VAL,
>
> _______________________________________________
> Linux-omap-open-source mailing list
> Linux-omap-open-source@linux.omap.com
> http://linux.omap.com/mailman/listinfo/linux-omap-open-source
>
>
^ permalink raw reply related [flat|nested] 7+ messages in thread
* RE: [PATCH] Add PRCM scheme I on omap2420
@ 2006-05-10 0:02 Woodruff, Richard
2006-05-17 6:56 ` Komal Shah
0 siblings, 1 reply; 7+ messages in thread
From: Woodruff, Richard @ 2006-05-10 0:02 UTC (permalink / raw)
To: kyungmin.park, linux-omap-open-source
Hello Kyungmin,
> O.K. the value modified 165MHz.
>
> I have a question about 2430 SDP.
> Is it possible to use current kernel source for 2430 platform? or more
> work
> needed to 2430?
The open-source git kernel has no chance of booting, 2430 is not fully
merged here. The processors are similar but there are enough address
space changes to ensure it won't work even for a minimal kernel. We
have also not yet attempted to sync up the external u-boot tree.
> Can you tell me where to referece the 2430?
A basic 2.6.10 version can be downloaded from http://linux.omap.com/ .
It will be functional on a 2430 & 2420. It is not fully up to date with
our internal trees at present but should allow early work.
Regards,
Richard W.
> Regards,
> Kyungmin Park
>
> --
>
> diff --git a/arch/arm/mach-omap2/clock.h b/arch/arm/mach-omap2/clock.h
> index 6c78d47..2eb0d04 100644
> --- a/arch/arm/mach-omap2/clock.h
> +++ b/arch/arm/mach-omap2/clock.h
> @@ -174,7 +174,7 @@ struct prcm_config {
> #define RII_CLKSEL_DSP (3 << 0) /* c5x -
200MHz */
> #define RII_CLKSEL_DSP_IF (2 << 5) /* c5x - 100MHz
*/
> #define RII_SYNC_DSP (0 << 7) /* Bypass sync
*/
> -#define RII_CLKSEL_IVA (6 << 8) /* iva1
- 200MHz */
> +#define RII_CLKSEL_IVA (3 << 8) /* iva1
- 200MHz */
> #define RII_SYNC_IVA (0 << 13) /* Bypass sync
*/
> #define RII_CM_CLKSEL_DSP_VAL RII_SYNC_IVA |
RII_CLKSEL_IVA |
> \
> RII_SYNC_DSP | RII_CLKSEL_DSP_IF
| \
> @@ -182,6 +182,27 @@ struct prcm_config {
> #define RII_CLKSEL_GFX (2 << 0) /* 50MHz
*/
> #define RII_CM_CLKSEL_GFX_VAL RII_CLKSEL_GFX
>
> +/* 2420-PRCM I 660MHz core */
> +#define RI_CLKSEL_L3 (4 << 0) /* 165MHz */
> +#define RI_CLKSEL_L4 (2 << 5) /* 82.5MHz */
> +#define RI_CLKSEL_USB (4 << 25) /*
41.25MHz */
> +#define RI_CM_CLKSEL1_CORE_VAL RI_CLKSEL_USB | \
> + RXX_CLKSEL_SSI |
RXX_CLKSEL_VLYNQ |
> \
> + RX_CLKSEL_DSS2 | RX_CLKSEL_DSS1
| \
> + RI_CLKSEL_L4 | RI_CLKSEL_L3
> +#define RI_CLKSEL_MPU (2 << 0) /*
330MHz */
> +#define RI_CM_CLKSEL_MPU_VAL RI_CLKSEL_MPU
> +#define RI_CLKSEL_DSP (3 << 0) /* c5x -
220MHz */
> +#define RI_CLKSEL_DSP_IF (2 << 5) /* c5x - 110MHz
*/
> +#define RI_SYNC_DSP (1 << 7) /* Activate sync
*/
> +#define RI_CLKSEL_IVA (4 << 8) /* iva1
- 165MHz */
> +#define RI_SYNC_IVA (0 << 13) /* Bypass sync
*/
> +#define RI_CM_CLKSEL_DSP_VAL RI_SYNC_IVA | RI_CLKSEL_IVA | \
> + RI_SYNC_DSP | RI_CLKSEL_DSP_IF |
\
> + RI_CLKSEL_DSP
> +#define RI_CLKSEL_GFX (1 << 0) /*
165MHz */
> +#define RI_CM_CLKSEL_GFX_VAL RI_CLKSEL_GFX
> +
> /* 2420-PRCM VII (boot) */
> #define RVII_CLKSEL_L3 (1 << 0)
> #define RVII_CLKSEL_L4 (1 << 5)
> @@ -300,6 +321,13 @@ struct prcm_config {
> * boot (boot)
> */
>
> +/* PRCM I target DPLL = 2*330MHz = 660MHz */
> +#define MI_DPLL_MULT_12 (55 << 12)
> +#define MI_DPLL_DIV_12 (1 << 8)
> +#define MI_CM_CLKSEL1_PLL_12_VAL MX_48M_SRC | MX_54M_SRC | \
> + MI_DPLL_DIV_12 | MI_DPLL_MULT_12
| \
> + MX_APLLS_CLIKIN_12
> +
> /*
> * 2420 Equivalent - mode registers
> * PRCM II , target DPLL = 2*300MHz = 600MHz
> @@ -352,6 +380,7 @@ struct prcm_config {
> * By having the boot loader boot up in the fastest L4 speed
available
> likely
> * will result in something which you can switch between.
> */
> +#define V24XX_SDRC_RFR_CTRL_165MHz (0x00044c00 | 1)
> #define V24XX_SDRC_RFR_CTRL_133MHz (0x0003de00 | 1)
> #define V24XX_SDRC_RFR_CTRL_100MHz (0x0002da01 | 1)
> #define V24XX_SDRC_RFR_CTRL_110MHz (0x0002da01 | 1) /* Need to calc
*/
> @@ -394,6 +423,13 @@ struct prcm_config {
> * Note: This table needs to be sorted, fastest to slowest.
>
*-----------------------------------------------------------------------
> --
> */
> static struct prcm_config rate_table[] = {
> + /* PRCM I - FAST */
> + {S12M, S660M, S330M, RI_CM_CLKSEL_MPU_VAL, /*
330MHz
> ARM */
> + RI_CM_CLKSEL_DSP_VAL, RI_CM_CLKSEL_GFX_VAL,
> + RI_CM_CLKSEL1_CORE_VAL, MI_CM_CLKSEL1_PLL_12_VAL,
> + MX_CLKSEL2_PLL_2x_VAL, 0, V24XX_SDRC_RFR_CTRL_166MHz,
> + RATE_IN_242X},
> +
> /* PRCM II - FAST */
> {S12M, S600M, S300M, RII_CM_CLKSEL_MPU_VAL, /*
300MHz
> ARM */
> RII_CM_CLKSEL_DSP_VAL, RII_CM_CLKSEL_GFX_VAL,
>
> > -----Original Message-----
> > From: Woodruff, Richard [mailto:r-woodruff2@ti.com]
> > Sent: Tuesday, May 09, 2006 12:13 AM
> > To: kyungmin.park@samsung.com; linux-omap-open-source@linux.omap.com
> > Subject: RE: [PATCH] Add PRCM scheme I on omap2420
> >
> > Kyungmin,
> >
> > Locally I use the following RFR defines.
> >
> > #define V24XX_SDRC_RFR_CTRL_165MHz (0x0004e200 | 1)
> > #define V24XX_SDRC_RFR_CTRL_133MHz (0x0003de00 | 1)
> > #define V24XX_SDRC_RFR_CTRL_110MHz (0x00032801 | 1)
> > #define V24XX_SDRC_RFR_CTRL_100MHz (0x0002da01 | 1)
> > #define V24XX_SDRC_RFR_CTRL_BYPASS (0x00005000 | 1)
> >
> > This is for DDR's used on H4 and 2430SDP's. Really I suppose
> > we should
> > have a board specific table setting imported. Your 44c00
> > perhaps could
> > be a little better; it really depends on the part. Many of the
mDDRs
> > seem to be pretty compatible in this regard given a frequency.
> >
> > I also don't use _166MHz for the speed as it's really set to
> > 165. 660/4
> > = 165.
> >
> > Otherwise it looks fine.
> >
> > Regards,
> > Richard W.
> >
> >
> > -----Original Message-----
> > From:
linux-omap-open-source-bounces+r-woodruff2=ti.com@linux.omap.com
> > [mailto:linux-omap-open-source-bounces+r-woodruff2=ti.com@linu
> > x.omap.com
> > ] On Behalf Of Kyungmin Park
> > Sent: Monday, May 08, 2006 1:03 AM
> > To: linux-omap-open-source@linux.omap.com
> > Subject: [PATCH] Add PRCM scheme I on omap2420
> >
> > Hi
> >
> > This patch add PRCM scheme I on omap2420.
> >
> > The Apollon can run with 660MHz with SDRAM 166MHz.
> >
> > please check the setting values.
> >
> > Thank you
> > Kyungmin Park
> >
> > --
> >
> > diff --git a/arch/arm/mach-omap2/clock.h
b/arch/arm/mach-omap2/clock.h
> > index 6c78d47..94ded7b 100644
> > --- a/arch/arm/mach-omap2/clock.h
> > +++ b/arch/arm/mach-omap2/clock.h
> > @@ -174,7 +174,7 @@ struct prcm_config {
> > #define RII_CLKSEL_DSP (3 << 0)
> > /* c5x - 200MHz
> > */
> > #define RII_CLKSEL_DSP_IF (2 << 5) /* c5x - 100MHz
> > */
> > #define RII_SYNC_DSP (0 << 7) /*
Bypass sync
> > */
> > -#define RII_CLKSEL_IVA (6 << 8)
> > /* iva1 - 200MHz
> > */
> > +#define RII_CLKSEL_IVA (3 << 8)
> > /* iva1 - 200MHz
> > */
> > #define RII_SYNC_IVA (0 << 13) /*
Bypass sync
> > */
> > #define RII_CM_CLKSEL_DSP_VAL RII_SYNC_IVA |
> > RII_CLKSEL_IVA |
> > \
> > RII_SYNC_DSP | RII_CLKSEL_DSP_IF
> > | \
> > @@ -182,6 +182,27 @@ struct prcm_config {
> > #define RII_CLKSEL_GFX (2 << 0)
> > /* 50MHz */
> > #define RII_CM_CLKSEL_GFX_VAL RII_CLKSEL_GFX
> >
> > +/* 2420-PRCM I 660MHz core */
> > +#define RI_CLKSEL_L3 (4 << 0) /*
165MHz */
> > +#define RI_CLKSEL_L4 (2 << 5) /*
82.5MHz */
> > +#define RI_CLKSEL_USB (4 << 25)
> > /* 41.25MHz */
> > +#define RI_CM_CLKSEL1_CORE_VAL RI_CLKSEL_USB | \
> > + RXX_CLKSEL_SSI |
> > RXX_CLKSEL_VLYNQ |
> > \
> > + RX_CLKSEL_DSS2 | RX_CLKSEL_DSS1
> > | \
> > + RI_CLKSEL_L4 | RI_CLKSEL_L3
> > +#define RI_CLKSEL_MPU (2 << 0)
> > /* 330MHz */
> > +#define RI_CM_CLKSEL_MPU_VAL RI_CLKSEL_MPU
> > +#define RI_CLKSEL_DSP (3 << 0)
> > /* c5x - 220MHz
> > */
> > +#define RI_CLKSEL_DSP_IF (2 << 5) /* c5x - 110MHz
> > */
> > +#define RI_SYNC_DSP (1 << 7) /*
Activate sync
> > */
> > +#define RI_CLKSEL_IVA (4 << 8)
> > /* iva1 - 165MHz
> > */
> > +#define RI_SYNC_IVA (0 << 13) /*
Bypass sync
> > */
> > +#define RI_CM_CLKSEL_DSP_VAL RI_SYNC_IVA |
RI_CLKSEL_IVA | \
> > + RI_SYNC_DSP | RI_CLKSEL_DSP_IF |
> > \
> > + RI_CLKSEL_DSP
> > +#define RI_CLKSEL_GFX (1 << 0)
> > /* 165MHz */
> > +#define RI_CM_CLKSEL_GFX_VAL RI_CLKSEL_GFX
> > +
> > /* 2420-PRCM VII (boot) */
> > #define RVII_CLKSEL_L3 (1 << 0)
> > #define RVII_CLKSEL_L4 (1 << 5)
> > @@ -300,6 +321,13 @@ struct prcm_config {
> > * boot (boot)
> > */
> >
> > +/* PRCM I target DPLL = 2*330MHz = 660MHz */
> > +#define MI_DPLL_MULT_12 (55 << 12)
> > +#define MI_DPLL_DIV_12 (1 << 8)
> > +#define MI_CM_CLKSEL1_PLL_12_VAL MX_48M_SRC | MX_54M_SRC | \
> > + MI_DPLL_DIV_12 | MI_DPLL_MULT_12
> > | \
> > + MX_APLLS_CLIKIN_12
> > +
> > /*
> > * 2420 Equivalent - mode registers
> > * PRCM II , target DPLL = 2*300MHz = 600MHz
> > @@ -352,6 +380,7 @@ struct prcm_config {
> > * By having the boot loader boot up in the fastest L4 speed
> > available
> > likely
> > * will result in something which you can switch between.
> > */
> > +#define V24XX_SDRC_RFR_CTRL_166MHz (0x00044c00 | 1)
> > #define V24XX_SDRC_RFR_CTRL_133MHz (0x0003de00 | 1)
> > #define V24XX_SDRC_RFR_CTRL_100MHz (0x0002da01 | 1)
> > #define V24XX_SDRC_RFR_CTRL_110MHz (0x0002da01 | 1) /* Need to calc
> > */
> > @@ -394,6 +423,13 @@ struct prcm_config {
> > * Note: This table needs to be sorted, fastest to slowest.
> >
> > *-------------------------------------------------------------
> > ----------
> > --
> > */
> > static struct prcm_config rate_table[] = {
> > + /* PRCM I - FAST */
> > + {S12M, S660M, S330M, RI_CM_CLKSEL_MPU_VAL, /*
> > 330MHz
> > ARM */
> > + RI_CM_CLKSEL_DSP_VAL, RI_CM_CLKSEL_GFX_VAL,
> > + RI_CM_CLKSEL1_CORE_VAL, MI_CM_CLKSEL1_PLL_12_VAL,
> > + MX_CLKSEL2_PLL_2x_VAL, 0, V24XX_SDRC_RFR_CTRL_166MHz,
> > + RATE_IN_242X},
> > +
> > /* PRCM II - FAST */
> > {S12M, S600M, S300M, RII_CM_CLKSEL_MPU_VAL, /*
> > 300MHz
> > ARM */
> > RII_CM_CLKSEL_DSP_VAL, RII_CM_CLKSEL_GFX_VAL,
> >
> > _______________________________________________
> > Linux-omap-open-source mailing list
> > Linux-omap-open-source@linux.omap.com
> > http://linux.omap.com/mailman/listinfo/linux-omap-open-source
> >
> >
^ permalink raw reply [flat|nested] 7+ messages in thread
* RE: [PATCH] Add PRCM scheme I on omap2420
2006-05-10 0:02 Woodruff, Richard
@ 2006-05-17 6:56 ` Komal Shah
0 siblings, 0 replies; 7+ messages in thread
From: Komal Shah @ 2006-05-17 6:56 UTC (permalink / raw)
To: Woodruff, Richard, kyungmin.park, linux-omap-open-source
--- "Woodruff, Richard" <r-woodruff2@ti.com> wrote:
>
> The open-source git kernel has no chance of booting, 2430 is not
> fully
> merged here. The processors are similar but there are enough address
> space changes to ensure it won't work even for a minimal kernel. We
> have also not yet attempted to sync up the external u-boot tree.
Here is first kernel boot (crash!!, but that's ok) of omap-git tree on
2430. I just started to add minimal support. Need to look at cpu id,
clocks, and gpios now. I will post the patch. We need to come at some
conclusion to avoid lots #ifders I have used in my code for 243x :)
<5>Linux version 2.6.17-rc4-omap1-gabfedf52-dirty (komal@everest) (gcc
version
3.4.0 20040409 (CodeSourcery ARM Q1A 2004)) #266 Wed May 17 12:10:48
IST 2006
CPU: Some Random V6 Processor [4107b362] revision 2 (ARMv6TEJ)
Machine: Generic OMAP24xx
Memory policy: ECC disabled, Data cache writeback
<7>On node 0 totalpages: 32768
<7> DMA zone: 32768 pages, LIFO batch:7
<7>OMAP_TAP_IDCODE 0x00000204 REV 0 HAWKEYE 0x0000 MANF 102
<7>OMAP_TAP_DIE_ID_0: 0x00000218
<7>OMAP_TAP_DIE_ID_1: 0x0000021c DEV_REV: 0
<7>OMAP_TAP_DIE_ID_2: 0x00000220
<7>OMAP_TAP_DIE_ID_3: 0x00000224
<7>OMAP_TAP_PROD_ID_0: 0x00000208 DEV_TYPE: 0
<3>Unknown OMAP CPU id
<6>SRAM: Mapped pa 0x4020f000 to va 0xd0000000 size: 0x1000
CPU0: D VIPT write-back cache
CPU0: I cache: 32768 bytes, associativity 4, 32 byte lines, 256 sets
CPU0: D cache: 32768 bytes, associativity 4, 32 byte lines, 256 sets
Built 1 zonelists
<5>Kernel command line: console=ttyS0,115200n8 noinitrd root=/dev/nfs r
w nfsroot=10.203.96.33:/pub/fs/oss,wsize=1024
ip=10.203.96.34:10.203.96.33:
255.255.254.0:omap2:eth0:
<6>Clocking rate (Crystal/DPLL/MPU): 13.0/0/0 MHz
<3>clock.c: Enable for dpll_ck without enable code
<6>IRQ: Found an INTC at 0x480fe000 (revision 3.0) with 96 interrupts
<6>Total of 96 interrupts on 1 active controller
PID hash table entries: 1024 (order: 10, 4096 bytes)
<3>Could not get sys_ck
<6>OMAP2 GP timer (HW version 1.6)
Console: colour dummy device 80x30
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
<6>Memory: 128MB = 128MB total
<5>Memory: 128128KB available (1260K code, 325K data, 84K init)
<7>Calibrating delay loop... 303.92 BogoMIPS (lpj=1519616)
Mount-cache hash table entries: 512
<6>CPU: Testing write buffer coherency: ok
<1>Unhandled fault: external abort on linefetch (0x806) at 0x00000000
Internal error: : 806 [#1]
Modules linked in:
CPU: 0
PC is at kernel_thread_helper+0x0/0xc
LR is at kernel_thread_helper+0x0/0xc
pc : [<c001f478>] lr : [<c001f478>] Not tainted
sp : c02e9ff8 ip : 00000000 fp : 00000000
r10: 00000000 r9 : 00000000 r8 : 00000000
r7 : 00000000 r6 : 00000000 r5 : 00000000 r4 : 00000000
r3 : c0039c9c r2 : c001d058 r1 : 00000000 r0 : 00000000
Flags: nzcv IRQs on FIQs on Mode SVC_32 Segment kernel
Control: C5387F Table: 80004000 DAC: 00000017
Process swapper (pid: 1, stack limit = 0xc02e8190)
Stack: (0xc02e9ff8 to 0xc02ea000)
9fe0: 0000000a
00000001
Backtrace: no frame pointer
Code: db043fac e89da800 c0195e60 c015da44 (e1a00001)
---Komal Shah
http://komalshah.blogspot.com/
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH] Add PRCM scheme I on omap2420
@ 2007-02-16 1:49 Kyungmin Park
2007-03-07 12:02 ` Tony Lindgren
0 siblings, 1 reply; 7+ messages in thread
From: Kyungmin Park @ 2007-02-16 1:49 UTC (permalink / raw)
To: linux-omap-open-source
[-- Attachment #1: Type: text/plain, Size: 199 bytes --]
Hi,
In the previous time, I sent the patch but not applied. [1]
Here's current git patch.
Thank you,
Kyungmin Park
1. http://linux.omap.com/pipermail/linux-omap-open-source/2006-
May/007076.html
[-- Attachment #2: 0001-ARM-OMAP-Add-PRCM-I-scheme-on-OMAP2.txt --]
[-- Type: text/plain, Size: 3775 bytes --]
>From 4f8531d975c4cb44ffb3f86d68e5c9f141de0410 Mon Sep 17 00:00:00 2001
From: Kyungmin Park <kyungmin.park@samsung.com>
Date: Fri, 16 Feb 2007 10:45:46 +0900
Subject: [PATCH] ARM: OMAP: Add PRCM I scheme on OMAP2
Add PRCM I scheme on OMAP2
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
---
arch/arm/mach-omap2/clock.h | 38 +++++++++++++++++++++++++++++++++++++-
1 files changed, 37 insertions(+), 1 deletions(-)
diff --git a/arch/arm/mach-omap2/clock.h b/arch/arm/mach-omap2/clock.h
index 162978f..54bd116 100644
--- a/arch/arm/mach-omap2/clock.h
+++ b/arch/arm/mach-omap2/clock.h
@@ -174,7 +174,7 @@ struct prcm_config {
#define RII_CLKSEL_DSP (3 << 0) /* c5x - 200MHz */
#define RII_CLKSEL_DSP_IF (2 << 5) /* c5x - 100MHz */
#define RII_SYNC_DSP (0 << 7) /* Bypass sync */
-#define RII_CLKSEL_IVA (6 << 8) /* iva1 - 200MHz */
+#define RII_CLKSEL_IVA (3 << 8) /* iva1 - 200MHz */
#define RII_SYNC_IVA (0 << 13) /* Bypass sync */
#define RII_CM_CLKSEL_DSP_VAL RII_SYNC_IVA | RII_CLKSEL_IVA | \
RII_SYNC_DSP | RII_CLKSEL_DSP_IF | \
@@ -182,6 +182,27 @@ struct prcm_config {
#define RII_CLKSEL_GFX (2 << 0) /* 50MHz */
#define RII_CM_CLKSEL_GFX_VAL RII_CLKSEL_GFX
+/* 2420-PRCM I 660MHz core */
+#define RI_CLKSEL_L3 (4 << 0) /* 165MHz */
+#define RI_CLKSEL_L4 (2 << 5) /* 82.5MHz */
+#define RI_CLKSEL_USB (4 << 25) /* 41.25MHz */
+#define RI_CM_CLKSEL1_CORE_VAL RI_CLKSEL_USB | \
+ RXX_CLKSEL_SSI | RXX_CLKSEL_VLYNQ | \
+ RX_CLKSEL_DSS2 | RX_CLKSEL_DSS1 | \
+ RI_CLKSEL_L4 | RI_CLKSEL_L3
+#define RI_CLKSEL_MPU (2 << 0) /* 330MHz */
+#define RI_CM_CLKSEL_MPU_VAL RI_CLKSEL_MPU
+#define RI_CLKSEL_DSP (3 << 0) /* c5x - 220MHz */
+#define RI_CLKSEL_DSP_IF (2 << 5) /* c5x - 110MHz */
+#define RI_SYNC_DSP (1 << 7) /* Activate sync */
+#define RI_CLKSEL_IVA (4 << 8) /* iva1 - 165MHz */
+#define RI_SYNC_IVA (0 << 13) /* Bypass sync */
+#define RI_CM_CLKSEL_DSP_VAL RI_SYNC_IVA | RI_CLKSEL_IVA | \
+ RI_SYNC_DSP | RI_CLKSEL_DSP_IF | \
+ RI_CLKSEL_DSP
+#define RI_CLKSEL_GFX (1 << 0) /* 165MHz */
+#define RI_CM_CLKSEL_GFX_VAL RI_CLKSEL_GFX
+
/* 2420-PRCM VII (boot) */
#define RVII_CLKSEL_L3 (1 << 0)
#define RVII_CLKSEL_L4 (1 << 5)
@@ -300,6 +321,13 @@ struct prcm_config {
* boot (boot)
*/
+/* PRCM I target DPLL = 2*330MHz = 660MHz */
+#define MI_DPLL_MULT_12 (55 << 12)
+#define MI_DPLL_DIV_12 (1 << 8)
+#define MI_CM_CLKSEL1_PLL_12_VAL MX_48M_SRC | MX_54M_SRC | \
+ MI_DPLL_DIV_12 | MI_DPLL_MULT_12 | \
+ MX_APLLS_CLIKIN_12
+
/*
* 2420 Equivalent - mode registers
* PRCM II , target DPLL = 2*300MHz = 600MHz
@@ -352,6 +380,7 @@ struct prcm_config {
* By having the boot loader boot up in the fastest L4 speed available likely
* will result in something which you can switch between.
*/
+#define V24XX_SDRC_RFR_CTRL_165MHz (0x00044c00 | 1)
#define V24XX_SDRC_RFR_CTRL_133MHz (0x0003de00 | 1)
#define V24XX_SDRC_RFR_CTRL_100MHz (0x0002da01 | 1)
#define V24XX_SDRC_RFR_CTRL_110MHz (0x0002da01 | 1) /* Need to calc */
@@ -394,6 +423,13 @@ struct prcm_config {
* Note: This table needs to be sorted, fastest to slowest.
*-------------------------------------------------------------------------*/
static struct prcm_config rate_table[] = {
+ /* PRCM I - FAST */
+ {S12M, S660M, S330M, RI_CM_CLKSEL_MPU_VAL, /* 330MHz ARM */
+ RI_CM_CLKSEL_DSP_VAL, RI_CM_CLKSEL_GFX_VAL,
+ RI_CM_CLKSEL1_CORE_VAL, MI_CM_CLKSEL1_PLL_12_VAL,
+ MX_CLKSEL2_PLL_2x_VAL, 0, V24XX_SDRC_RFR_CTRL_165MHz,
+ RATE_IN_242X},
+
/* PRCM II - FAST */
{S12M, S600M, S300M, RII_CM_CLKSEL_MPU_VAL, /* 300MHz ARM */
RII_CM_CLKSEL_DSP_VAL, RII_CM_CLKSEL_GFX_VAL,
--
1.4.4.2
[-- Attachment #3: Type: text/plain, Size: 0 bytes --]
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH] Add PRCM scheme I on omap2420
2007-02-16 1:49 [PATCH] Add PRCM scheme I on omap2420 Kyungmin Park
@ 2007-03-07 12:02 ` Tony Lindgren
0 siblings, 0 replies; 7+ messages in thread
From: Tony Lindgren @ 2007-03-07 12:02 UTC (permalink / raw)
To: Kyungmin Park; +Cc: linux-omap-open-source
* Kyungmin Park <kmpark@infradead.org> [070215 17:56]:
> Hi,
>
> In the previous time, I sent the patch but not applied. [1]
>
> Here's current git patch.
I've pushed this. Please note that the PRCM stuff will be cleaned
up soonish (This time I really mean it :)
Tony
> 1. http://linux.omap.com/pipermail/linux-omap-open-source/2006-
> May/007076.html
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2007-03-07 12:02 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-02-16 1:49 [PATCH] Add PRCM scheme I on omap2420 Kyungmin Park
2007-03-07 12:02 ` Tony Lindgren
-- strict thread matches above, loose matches on Subject: below --
2006-05-10 0:02 Woodruff, Richard
2006-05-17 6:56 ` Komal Shah
2006-05-08 15:13 Woodruff, Richard
2006-05-09 23:26 ` Kyungmin Park
2006-05-08 6:02 Kyungmin Park
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox