linux-omap.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/5] Initial change for merge of new board
@ 2010-04-06 16:51 Laine Walker-Avina
  2010-04-06 16:51 ` [PATCH 1/5] OMAP: Add in helper macros for the SDRAM timings Laine Walker-Avina
  2010-04-23  0:48 ` [PATCH 0/5] Initial change for merge of new board Paul Walmsley
  0 siblings, 2 replies; 15+ messages in thread
From: Laine Walker-Avina @ 2010-04-06 16:51 UTC (permalink / raw)
  To: linux-omap; +Cc: Laine Walker-Avina

Hi all,

I'm beginning to merge some of the changes for my new board. These include:
   * Adding macros to compute the ACTIM values for the SDRAM timings, eliminating magic numbers. The original authors may want to verify their timings were converted correctly.
   * Adding the ability to use the clock API to select the divider for sys_clkout2
   * Making the GPRC timing API aware of the time-granularity flag

Let me know if there are any comments or questions.

Cheers,
Laine Walker-Avina
PASCO scientific

----

Laine Walker-Avina (5):
  OMAP: Add in helper macros for the SDRAM timings
  OMAP: Convert the sdram-*.h timings to use the SDRAM timing macros
  OMAP: Add SDRAM timings for Micron mt46h16m32lf-6
  OMAP: Add support for setting the divider for sys_clkout2 using
    clk_set_rate
  OMAP: Make set_gpmc_timing_reg aware of the TIMEPARAGRANULARITY flag

 arch/arm/mach-omap2/clock3xxx_data.c               |    1 +
 arch/arm/mach-omap2/gpmc.c                         |   14 +++-
 arch/arm/mach-omap2/sdram-hynix-h8mbx00u0mer-0em.h |   44 ++++++++-----
 arch/arm/mach-omap2/sdram-micron-mt46h16m32lf-6.h  |   67 ++++++++++++++++++++
 arch/arm/mach-omap2/sdram-micron-mt46h32m32lf-6.h  |   44 ++++++++-----
 arch/arm/mach-omap2/sdram-numonyx-m65kxxxxam.h     |   52 +++++++++------
 .../mach-omap2/sdram-qimonda-hyb18m512160af-6.h    |   50 +++++++++------
 arch/arm/plat-omap/include/plat/sdrc.h             |   23 +++++++
 8 files changed, 220 insertions(+), 75 deletions(-)
 create mode 100644 arch/arm/mach-omap2/sdram-micron-mt46h16m32lf-6.h


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH 1/5] OMAP: Add in helper macros for the SDRAM timings
  2010-04-06 16:51 [PATCH 0/5] Initial change for merge of new board Laine Walker-Avina
@ 2010-04-06 16:51 ` Laine Walker-Avina
  2010-04-06 16:51   ` [PATCH 2/5] OMAP: Convert the sdram-*.h timings to use the SDRAM timing macros Laine Walker-Avina
  2010-04-06 17:17   ` [PATCH 1/5] OMAP: Add in helper macros for the SDRAM timings Felipe Balbi
  2010-04-23  0:48 ` [PATCH 0/5] Initial change for merge of new board Paul Walmsley
  1 sibling, 2 replies; 15+ messages in thread
From: Laine Walker-Avina @ 2010-04-06 16:51 UTC (permalink / raw)
  To: linux-omap; +Cc: Laine Walker-Avina


Signed-off-by: Laine Walker-Avina <lwalkera@ieee.org>
---
 arch/arm/plat-omap/include/plat/sdrc.h |   23 +++++++++++++++++++++++
 1 files changed, 23 insertions(+), 0 deletions(-)

diff --git a/arch/arm/plat-omap/include/plat/sdrc.h b/arch/arm/plat-omap/include/plat/sdrc.h
index 7b76f50..c74d1e7 100644
--- a/arch/arm/plat-omap/include/plat/sdrc.h
+++ b/arch/arm/plat-omap/include/plat/sdrc.h
@@ -124,6 +124,29 @@ struct omap_sdrc_params {
 	u32 mr;
 };
 
+/* Helper macros and defines for the omap_sdrc_params registers */
+#define ACTIM_TRFC(a)		(((a) & 0x1f)<<27)
+#define ACTIM_TRC(a)		(((a) & 0x1f)<<22)
+#define ACTIM_TRAS(a)		(((a) & 0xf)<<18)
+#define ACTIM_TRP(a)		(((a) & 0x3)<<15)
+#define ACTIM_TRCD(a)		(((a) & 0x3)<<12)
+#define ACTIM_TRRD(a)		(((a) & 0x3)<<9)
+#define ACTIM_TDPL(a)		(((a) & 0x3)<<6)
+#define ACTIM_TDAL(a)		(((a) & 0x1f)<<0)
+
+#define ACTIM_TWTR(a)		(((a) & 0x3)<<16)
+#define ACTIM_TCKE(a)		(((a) & 0x7)<<12)
+#define ACTIM_TXP(a)		(((a) & 0x7)<<8)
+#define ACTIM_TXSR(a)		(((a) & 0xff)<<0)
+
+#define RFR_CTRL_ARCV(a)	(((a) & 0xffff)<<8)
+#define RFR_CTRL_ARE(a)		(((a) & 0x3)<<0)
+
+#define MR_WBST(a)			(((a) & 0x1)<<9)
+#define MR_CASL(a)			(((a) & 0x7)<<4)
+#define MR_BL(a)			(((a) & 0x7)<<0)
+
+
 void __init omap2_sdrc_init(struct omap_sdrc_params *sdrc_cs0,
 			    struct omap_sdrc_params *sdrc_cs1);
 int omap2_sdrc_get_params(unsigned long r,
-- 
1.6.3.3


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 2/5] OMAP: Convert the sdram-*.h timings to use the SDRAM timing macros
  2010-04-06 16:51 ` [PATCH 1/5] OMAP: Add in helper macros for the SDRAM timings Laine Walker-Avina
@ 2010-04-06 16:51   ` Laine Walker-Avina
  2010-04-06 16:51     ` [PATCH 3/5] OMAP: Add SDRAM timings for Micron mt46h16m32lf-6 Laine Walker-Avina
  2010-04-06 17:17   ` [PATCH 1/5] OMAP: Add in helper macros for the SDRAM timings Felipe Balbi
  1 sibling, 1 reply; 15+ messages in thread
From: Laine Walker-Avina @ 2010-04-06 16:51 UTC (permalink / raw)
  To: linux-omap; +Cc: Laine Walker-Avina


Signed-off-by: Laine Walker-Avina <lwalkera@ieee.org>
---
 arch/arm/mach-omap2/sdram-hynix-h8mbx00u0mer-0em.h |   44 +++++++++++------
 arch/arm/mach-omap2/sdram-micron-mt46h32m32lf-6.h  |   44 +++++++++++------
 arch/arm/mach-omap2/sdram-numonyx-m65kxxxxam.h     |   52 ++++++++++++--------
 .../mach-omap2/sdram-qimonda-hyb18m512160af-6.h    |   50 ++++++++++++-------
 4 files changed, 119 insertions(+), 71 deletions(-)

diff --git a/arch/arm/mach-omap2/sdram-hynix-h8mbx00u0mer-0em.h b/arch/arm/mach-omap2/sdram-hynix-h8mbx00u0mer-0em.h
index 8bfaf34..2e6a606 100644
--- a/arch/arm/mach-omap2/sdram-hynix-h8mbx00u0mer-0em.h
+++ b/arch/arm/mach-omap2/sdram-hynix-h8mbx00u0mer-0em.h
@@ -17,31 +17,43 @@
 static struct omap_sdrc_params h8mbx00u0mer0em_sdrc_params[] = {
 	[0] = {
 		.rate        = 200000000,
-		.actim_ctrla = 0xa2e1b4c6,
-		.actim_ctrlb = 0x0002131c,
-		.rfr_ctrl    = 0x0005e601,
-		.mr          = 0x00000032,
+		.actim_ctrla = ACTIM_TRFC(20) | ACTIM_TRC(11) | ACTIM_TRAS(8) |
+			ACTIM_TRP(3) | ACTIM_TRCD(3) | ACTIM_TRRD(2) | ACTIM_TDPL(3) |
+			ACTIM_TDAL(6),
+		.actim_ctrlb = ACTIM_TWTR(2) | ACTIM_TCKE(1) | ACTIM_TXP(3) |
+			ACTIM_TXSR(28),
+		.rfr_ctrl    = RFR_CTRL_ARCV(1510) | RFR_CTRL_ARE(1),
+		.mr          = MR_WBST(0) | MR_CASL(3) | MR_BL(2),
 	},
 	[1] = {
 		.rate        = 166000000,
-		.actim_ctrla = 0x629db4c6,
-		.actim_ctrlb = 0x00012214,
-		.rfr_ctrl    = 0x0004dc01,
-		.mr          = 0x00000032,
+		.actim_ctrla = ACTIM_TRFC(12) | ACTIM_TRC(10) | ACTIM_TRAS(7) |
+			ACTIM_TRP(3) | ACTIM_TRCD(3) | ACTIM_TRRD(2) | ACTIM_TDPL(3) |
+			ACTIM_TDAL(6),
+		.actim_ctrlb = ACTIM_TWTR(1) | ACTIM_TCKE(2) | ACTIM_TXP(2) |
+			ACTIM_TXSR(20),
+		.rfr_ctrl    = RFR_CTRL_ARCV(1244) | RFR_CTRL_ARE(1),
+		.mr          = MR_WBST(0) | MR_CASL(3) | MR_BL(2),
 	},
 	[2] = {
 		.rate        = 100000000,
-		.actim_ctrla = 0x51912284,
-		.actim_ctrlb = 0x0002120e,
-		.rfr_ctrl    = 0x0002d101,
-		.mr          = 0x00000022,
+		.actim_ctrla = ACTIM_TRFC(10) | ACTIM_TRC(6) | ACTIM_TRAS(4) |
+			ACTIM_TRP(2) | ACTIM_TRCD(2) | ACTIM_TRRD(1) | ACTIM_TDPL(2) |
+			ACTIM_TDAL(4),
+		.actim_ctrlb = ACTIM_TWTR(2) | ACTIM_TCKE(1) | ACTIM_TXP(2) |
+			ACTIM_TXSR(14),
+		.rfr_ctrl    = RFR_CTRL_ARCV(721) | RFR_CTRL_ARE(1),
+		.mr          = MR_WBST(0) | MR_CASL(2) | MR_BL(2),
 	},
 	[3] = {
 		.rate        = 83000000,
-		.actim_ctrla = 0x31512283,
-		.actim_ctrlb = 0x0001220a,
-		.rfr_ctrl    = 0x00025501,
-		.mr          = 0x00000022,
+		.actim_ctrla = ACTIM_TRFC(6) | ACTIM_TRC(5) | ACTIM_TRAS(4) |
+			ACTIM_TRP(2) | ACTIM_TRCD(2) | ACTIM_TRRD(1) | ACTIM_TDPL(2) |
+			ACTIM_TDAL(3),
+		.actim_ctrlb = ACTIM_TWTR(1) | ACTIM_TCKE(2) | ACTIM_TXP(2) |
+			ACTIM_TXSR(10),
+		.rfr_ctrl    = RFR_CTRL_ARCV(597) | RFR_CTRL_ARE(1),
+		.mr          = MR_WBST(0) | MR_CASL(2) | MR_BL(2),
 	},
 	[4] = {
 		.rate        = 0
diff --git a/arch/arm/mach-omap2/sdram-micron-mt46h32m32lf-6.h b/arch/arm/mach-omap2/sdram-micron-mt46h32m32lf-6.h
index a391b49..00accf2 100644
--- a/arch/arm/mach-omap2/sdram-micron-mt46h32m32lf-6.h
+++ b/arch/arm/mach-omap2/sdram-micron-mt46h32m32lf-6.h
@@ -21,31 +21,43 @@
 static struct omap_sdrc_params mt46h32m32lf6_sdrc_params[] = {
 	[0] = {
 		.rate	     = 166000000,
-		.actim_ctrla = 0x9a9db4c6,
-		.actim_ctrlb = 0x00011217,
-		.rfr_ctrl    = 0x0004dc01,
-		.mr	     = 0x00000032,
+		.actim_ctrla = ACTIM_TRFC(19) | ACTIM_TRC(10) | ACTIM_TRAS(7) |
+			ACTIM_TRP(3) | ACTIM_TRCD(3) | ACTIM_TRRD(2) | ACTIM_TDPL(3) |
+			ACTIM_TDAL(6),
+		.actim_ctrlb = ACTIM_TWTR(1) | ACTIM_TCKE(1) | ACTIM_TXP(2) |
+			ACTIM_TXSR(23),
+		.rfr_ctrl    = RFR_CTRL_ARCV(1244) | RFR_CTRL_ARE(1),
+		.mr	         = MR_WBST(0) | MR_CASL(3) | MR_BL(2),
 	},
 	[1] = {
 		.rate	     = 165941176,
-		.actim_ctrla = 0x9a9db4c6,
-		.actim_ctrlb = 0x00011217,
-		.rfr_ctrl    = 0x0004dc01,
-		.mr	     = 0x00000032,
+		.actim_ctrla = ACTIM_TRFC(19) | ACTIM_TRC(10) | ACTIM_TRAS(7) |
+			ACTIM_TRP(3)   | ACTIM_TRCD(3) | ACTIM_TRRD(2) | ACTIM_TDPL(3) |
+			ACTIM_TDAL(6),
+		.actim_ctrlb = ACTIM_TWTR(1)  | ACTIM_TCKE(1) | ACTIM_TXP(2) |
+			ACTIM_TXSR(23),
+		.rfr_ctrl    = RFR_CTRL_ARCV(1244) | RFR_CTRL_ARE(1),
+		.mr	         = MR_WBST(0) | MR_CASL(3) | MR_BL(2),
 	},
 	[2] = {
 		.rate	     = 83000000,
-		.actim_ctrla = 0x51512283,
-		.actim_ctrlb = 0x0001120c,
-		.rfr_ctrl    = 0x00025501,
-		.mr	     = 0x00000032,
+		.actim_ctrla = ACTIM_TRFC(10) | ACTIM_TRC(5) | ACTIM_TRAS(4) |
+			ACTIM_TRP(2) | ACTIM_TRCD(2) | ACTIM_TRRD(1) | ACTIM_TDPL(2) |
+			ACTIM_TDAL(3),
+		.actim_ctrlb = ACTIM_TWTR(1) | ACTIM_TCKE(1) | ACTIM_TXP(2) |
+			ACTIM_TXSR(12),
+		.rfr_ctrl    = RFR_CTRL_ARCV(597) | RFR_CTRL_ARE(1),
+		.mr	         = MR_WBST(0) | MR_CASL(3) | MR_BL(2),
 	},
 	[3] = {
 		.rate	     = 82970588,
-		.actim_ctrla = 0x51512283,
-		.actim_ctrlb = 0x0001120c,
-		.rfr_ctrl    = 0x00025501,
-		.mr	     = 0x00000032,
+		.actim_ctrla = ACTIM_TRFC(10) | ACTIM_TRC(5) | ACTIM_TRAS(4) |
+			ACTIM_TRP(2) | ACTIM_TRCD(2) | ACTIM_TRRD(1) | ACTIM_TDPL(2) |
+			ACTIM_TDAL(3),
+		.actim_ctrlb = ACTIM_TWTR(1) | ACTIM_TCKE(1) | ACTIM_TXP(2) |
+			ACTIM_TXSR(12),
+		.rfr_ctrl    = RFR_CTRL_ARCV(597) | RFR_CTRL_ARE(1),
+		.mr	         = MR_WBST(0) | MR_CASL(3) | MR_BL(2),
 	},
 	[4] = {
 		.rate	     = 0
diff --git a/arch/arm/mach-omap2/sdram-numonyx-m65kxxxxam.h b/arch/arm/mach-omap2/sdram-numonyx-m65kxxxxam.h
index cd43529..394bfe7 100644
--- a/arch/arm/mach-omap2/sdram-numonyx-m65kxxxxam.h
+++ b/arch/arm/mach-omap2/sdram-numonyx-m65kxxxxam.h
@@ -16,32 +16,44 @@
 /* Numonyx  M65KXXXXAM */
 static struct omap_sdrc_params m65kxxxxam_sdrc_params[] = {
 	[0] = {
-		.rate		= 200000000,
-		.actim_ctrla	= 0xe321d4c6,
-		.actim_ctrlb	= 0x00022328,
-		.rfr_ctrl	= 0x0005e601,
-		.mr		= 0x00000032,
+		.rate        = 200000000,
+		.actim_ctrla = ACTIM_TRFC(28) | ACTIM_TRC(12) | ACTIM_TRAS(8) |
+			ACTIM_TRP(3) | ACTIM_TRCD(1) | ACTIM_TRRD(2) | ACTIM_TDPL(3) |
+			ACTIM_TDAL(6),
+		.actim_ctrlb = ACTIM_TWTR(2) | ACTIM_TCKE(2) | ACTIM_TXP(3) |
+			ACTIM_TXSR(40),
+		.rfr_ctrl    = RFR_CTRL_ARCV(1510) | RFR_CTRL_ARE(1),
+		.mr          = MR_WBST(0) | MR_CASL(3) | MR_BL(2),
 	},
 	[1] = {
-		.rate		= 166000000,
-		.actim_ctrla	= 0xba9dc485,
-		.actim_ctrlb	= 0x00022321,
-		.rfr_ctrl	= 0x0004dc01,
-		.mr		= 0x00000032,
+		.rate        = 166000000,
+		.actim_ctrla = ACTIM_TRFC(23) | ACTIM_TRC(10) | ACTIM_TRAS(7) |
+			ACTIM_TRP(3) | ACTIM_TRCD(0) | ACTIM_TRRD(2) | ACTIM_TDPL(2) |
+			ACTIM_TDAL(5),
+		.actim_ctrlb = ACTIM_TWTR(2) | ACTIM_TCKE(2) | ACTIM_TXP(3) |
+			ACTIM_TXSR(33),
+		.rfr_ctrl    = RFR_CTRL_ARCV(1244) | RFR_CTRL_ARE(1),
+		.mr          = MR_WBST(0) | MR_CASL(3) | MR_BL(2),
 	},
 	[2] = {
-		.rate		= 133000000,
-		.actim_ctrla	= 0x9a19b485,
-		.actim_ctrlb	= 0x0002231b,
-		.rfr_ctrl	= 0x0003de01,
-		.mr		= 0x00000032,
+		.rate        = 133000000,
+		.actim_ctrla = ACTIM_TRFC(19) | ACTIM_TRC(8) | ACTIM_TRAS(6) |
+			ACTIM_TRP(3) | ACTIM_TRCD(3) | ACTIM_TRRD(2) | ACTIM_TDPL(2) |
+			ACTIM_TDAL(5),
+		.actim_ctrlb = ACTIM_TWTR(2) | ACTIM_TCKE(2) | ACTIM_TXP(3) |
+			ACTIM_TXSR(27),
+		.rfr_ctrl    = RFR_CTRL_ARCV(990) | RFR_CTRL_ARE(1),
+		.mr          = MR_WBST(0) | MR_CASL(3) | MR_BL(2),
 	},
 	[3] = {
-		.rate		= 83000000,
-		.actim_ctrla	= 0x594ca242,
-		.actim_ctrlb	= 0x00022310,
-		.rfr_ctrl	= 0x00025501,
-		.mr		= 0x00000032,
+		.rate        = 83000000,
+		.actim_ctrla = ACTIM_TRFC(11) | ACTIM_TRC(5) | ACTIM_TRAS(3) |
+			ACTIM_TRP(1) | ACTIM_TRCD(2) | ACTIM_TRRD(1) | ACTIM_TDPL(1) |
+			ACTIM_TDAL(2),
+		.actim_ctrlb = ACTIM_TWTR(2) | ACTIM_TCKE(2) | ACTIM_TXP(3) |
+			ACTIM_TXSR(16),
+		.rfr_ctrl    = RFR_CTRL_ARCV(597) | RFR_CTRL_ARE(1),
+		.mr          = MR_WBST(0) | MR_CASL(3) | MR_BL(2),
 	},
 	[4] = {
 		.rate			= 0
diff --git a/arch/arm/mach-omap2/sdram-qimonda-hyb18m512160af-6.h b/arch/arm/mach-omap2/sdram-qimonda-hyb18m512160af-6.h
index 0e518a7..6cef229 100644
--- a/arch/arm/mach-omap2/sdram-qimonda-hyb18m512160af-6.h
+++ b/arch/arm/mach-omap2/sdram-qimonda-hyb18m512160af-6.h
@@ -19,32 +19,44 @@
 /* Qimonda HYB18M512160AF-6 */
 static struct omap_sdrc_params hyb18m512160af6_sdrc_params[] = {
 	[0] = {
-		.rate	     = 166000000,
-		.actim_ctrla = 0x629db4c6,
-		.actim_ctrlb = 0x00012214,
-		.rfr_ctrl    = 0x0004dc01,
-		.mr	     = 0x00000032,
+		.rate        = 166000000,
+		.actim_ctrla = ACTIM_TRFC(12) | ACTIM_TRC(10) | ACTIM_TRAS(7) |
+			ACTIM_TRP(3) | ACTIM_TRCD(3) | ACTIM_TRRD(2) | ACTIM_TDPL(3) |
+			ACTIM_TDAL(6),
+		.actim_ctrlb = ACTIM_TWTR(1) | ACTIM_TCKE(2) | ACTIM_TXP(2) |
+			ACTIM_TXSR(20),
+		.rfr_ctrl    = RFR_CTRL_ARCV(1244) | RFR_CTRL_ARE(1),
+		.mr          = MR_WBST(0) | MR_CASL(3) | MR_BL(2),
 	},
 	[1] = {
-		.rate	     = 165941176,
-		.actim_ctrla = 0x629db4c6,
-		.actim_ctrlb = 0x00012214,
-		.rfr_ctrl    = 0x0004dc01,
-		.mr	     = 0x00000032,
+		.rate        = 165941176,
+		.actim_ctrla = ACTIM_TRFC(12) | ACTIM_TRC(10) | ACTIM_TRAS(7) |
+			ACTIM_TRP(3) | ACTIM_TRCD(3) | ACTIM_TRRD(2) | ACTIM_TDPL(3) |
+			ACTIM_TDAL(6),
+		.actim_ctrlb = ACTIM_TWTR(1) | ACTIM_TCKE(2) | ACTIM_TXP(2) |
+			ACTIM_TXSR(20),
+		.rfr_ctrl    = RFR_CTRL_ARCV(1244) | RFR_CTRL_ARE(1),
+		.mr          = MR_WBST(0) | MR_CASL(3) | MR_BL(2),
 	},
 	[2] = {
 		.rate	     = 83000000,
-		.actim_ctrla = 0x31512283,
-		.actim_ctrlb = 0x0001220a,
-		.rfr_ctrl    = 0x00025501,
-		.mr	     = 0x00000022,
+		.actim_ctrla = ACTIM_TRFC(6) | ACTIM_TRC(5) | ACTIM_TRAS(4) |
+			ACTIM_TRP(2) | ACTIM_TRCD(2) | ACTIM_TRRD(1) | ACTIM_TDPL(2) |
+			ACTIM_TDAL(3),
+		.actim_ctrlb = ACTIM_TWTR(1) | ACTIM_TCKE(2) | ACTIM_TXP(2) |
+			ACTIM_TXSR(10),
+		.rfr_ctrl    = RFR_CTRL_ARCV(597) | RFR_CTRL_ARE(1),
+		.mr          = MR_WBST(0) | MR_CASL(2) | MR_BL(2),
 	},
 	[3] = {
-		.rate	     = 82970588,
-		.actim_ctrla = 0x31512283,
-		.actim_ctrlb = 0x0001220a,
-		.rfr_ctrl    = 0x00025501,
-		.mr	     = 0x00000022,
+		.rate        = 82970588,
+		.actim_ctrla = ACTIM_TRFC(6) | ACTIM_TRC(5) | ACTIM_TRAS(4) |
+			ACTIM_TRP(2) | ACTIM_TRCD(2) | ACTIM_TRRD(1) | ACTIM_TDPL(2) |
+			ACTIM_TDAL(3),
+		.actim_ctrlb = ACTIM_TWTR(1) | ACTIM_TCKE(2) | ACTIM_TXP(2) |
+			ACTIM_TXSR(10),
+		.rfr_ctrl    = RFR_CTRL_ARCV(597) | RFR_CTRL_ARE(1),
+		.mr          = MR_WBST(0) | MR_CASL(2) | MR_BL(2),
 	},
 	[4] = {
 		.rate	     = 0
-- 
1.6.3.3


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 3/5] OMAP: Add SDRAM timings for Micron mt46h16m32lf-6
  2010-04-06 16:51   ` [PATCH 2/5] OMAP: Convert the sdram-*.h timings to use the SDRAM timing macros Laine Walker-Avina
@ 2010-04-06 16:51     ` Laine Walker-Avina
  2010-04-06 16:51       ` [PATCH 4/5] OMAP: Add support for setting the divider for sys_clkout2 using clk_set_rate Laine Walker-Avina
  0 siblings, 1 reply; 15+ messages in thread
From: Laine Walker-Avina @ 2010-04-06 16:51 UTC (permalink / raw)
  To: linux-omap; +Cc: Laine Walker-Avina


Signed-off-by: Laine Walker-Avina <lwalkera@ieee.org>
---
 arch/arm/mach-omap2/sdram-micron-mt46h16m32lf-6.h |   67 +++++++++++++++++++++
 1 files changed, 67 insertions(+), 0 deletions(-)
 create mode 100644 arch/arm/mach-omap2/sdram-micron-mt46h16m32lf-6.h

diff --git a/arch/arm/mach-omap2/sdram-micron-mt46h16m32lf-6.h b/arch/arm/mach-omap2/sdram-micron-mt46h16m32lf-6.h
new file mode 100644
index 0000000..5e7c3e8
--- /dev/null
+++ b/arch/arm/mach-omap2/sdram-micron-mt46h16m32lf-6.h
@@ -0,0 +1,67 @@
+/*
+ * SDRC register values for the Micron MT46H16M32LF-6
+ *
+ * Copyright (C) 2010 PASCO scientifc
+ *
+ * Laine Walker-Avina
+ *
+ * Based on the file for the Micron MT46H32M32LF-6 by Paul Walmsley
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#ifndef ARCH_ARM_MACH_OMAP2_SDRAM_MICRON_MT46H16M32LF
+#define ARCH_ARM_MACH_OMAP2_SDRAM_MICRON_MT46H16M32LF
+
+#include <plat/sdrc.h>
+
+/* Micron MT46H16M32LF-6 */
+static struct omap_sdrc_params mt46h16m32lf6_sdrc_params[] = {
+	[0] = {
+		.rate	     = 166000000,
+		.actim_ctrla = ACTIM_TRFC(17) | ACTIM_TRC(10) | ACTIM_TRAS(7) |
+			ACTIM_TRP(3) | ACTIM_TRCD(3) | ACTIM_TRRD(2) | ACTIM_TDPL(3) |
+			ACTIM_TDAL(6),
+		.actim_ctrlb = ACTIM_TWTR(2) | ACTIM_TCKE(1) | ACTIM_TXP(1) |
+			ACTIM_TXSR(20),
+		.rfr_ctrl    = RFR_CTRL_ARCV(1244) | RFR_CTRL_ARE(1),
+		.mr	         = MR_WBST(0) | MR_CASL(3) | MR_BL(2),
+	},
+	[1] = {
+		.rate	     = 165941176,
+		.actim_ctrla = ACTIM_TRFC(17) | ACTIM_TRC(10) | ACTIM_TRAS(7) |
+			ACTIM_TRP(3)   | ACTIM_TRCD(3) | ACTIM_TRRD(2) | ACTIM_TDPL(3) |
+			ACTIM_TDAL(6),
+		.actim_ctrlb = ACTIM_TWTR(2)  | ACTIM_TCKE(1) | ACTIM_TXP(1) |
+			ACTIM_TXSR(20),
+		.rfr_ctrl    = RFR_CTRL_ARCV(1244) | RFR_CTRL_ARE(1),
+		.mr	         = MR_WBST(0) | MR_CASL(3) | MR_BL(2),
+	},
+	[2] = {
+		.rate	     = 83000000,
+		.actim_ctrla = ACTIM_TRFC(9) | ACTIM_TRC(5) | ACTIM_TRAS(4) |
+			ACTIM_TRP(2) | ACTIM_TRCD(2) | ACTIM_TRRD(1) | ACTIM_TDPL(2) |
+			ACTIM_TDAL(3),
+		.actim_ctrlb = ACTIM_TWTR(1) | ACTIM_TCKE(1) | ACTIM_TXP(1) |
+			ACTIM_TXSR(10),
+		.rfr_ctrl    = RFR_CTRL_ARCV(597) | RFR_CTRL_ARE(1),
+		.mr	         = MR_WBST(0) | MR_CASL(3) | MR_BL(2),
+	},
+	[3] = {
+		.rate	     = 82970588,
+		.actim_ctrla = ACTIM_TRFC(10) | ACTIM_TRC(5) | ACTIM_TRAS(4) |
+			ACTIM_TRP(2) | ACTIM_TRCD(2) | ACTIM_TRRD(1) | ACTIM_TDPL(2) |
+			ACTIM_TDAL(3),
+		.actim_ctrlb = ACTIM_TWTR(1) | ACTIM_TCKE(1) | ACTIM_TXP(2) |
+			ACTIM_TXSR(12),
+		.rfr_ctrl    = RFR_CTRL_ARCV(597) | RFR_CTRL_ARE(1),
+		.mr	         = MR_WBST(0) | MR_CASL(3) | MR_BL(2),
+	},
+	[4] = {
+		.rate	     = 0
+	},
+};
+
+#endif
-- 
1.6.3.3


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 4/5] OMAP: Add support for setting the divider for sys_clkout2 using clk_set_rate
  2010-04-06 16:51     ` [PATCH 3/5] OMAP: Add SDRAM timings for Micron mt46h16m32lf-6 Laine Walker-Avina
@ 2010-04-06 16:51       ` Laine Walker-Avina
  2010-04-06 16:51         ` [PATCH 5/5] OMAP: Make set_gpmc_timing_reg aware of the TIMEPARAGRANULARITY flag Laine Walker-Avina
  2010-04-23  0:55         ` [PATCH 4/5] OMAP: Add support for setting the divider for sys_clkout2 using clk_set_rate Paul Walmsley
  0 siblings, 2 replies; 15+ messages in thread
From: Laine Walker-Avina @ 2010-04-06 16:51 UTC (permalink / raw)
  To: linux-omap; +Cc: Laine Walker-Avina


Signed-off-by: Laine Walker-Avina <lwalkera@ieee.org>
---
 arch/arm/mach-omap2/clock3xxx_data.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/clock3xxx_data.c b/arch/arm/mach-omap2/clock3xxx_data.c
index d5153b6..2a62779 100644
--- a/arch/arm/mach-omap2/clock3xxx_data.c
+++ b/arch/arm/mach-omap2/clock3xxx_data.c
@@ -1111,6 +1111,7 @@ static struct clk sys_clkout2 = {
 	.clksel_mask	= OMAP3430_CLKOUT2_DIV_MASK,
 	.clksel		= sys_clkout2_clksel,
 	.recalc		= &omap2_clksel_recalc,
+	.set_rate	= &omap2_clksel_set_rate,
 };
 
 /* CM OUTPUT CLOCKS */
-- 
1.6.3.3


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 5/5] OMAP: Make set_gpmc_timing_reg aware of the TIMEPARAGRANULARITY flag
  2010-04-06 16:51       ` [PATCH 4/5] OMAP: Add support for setting the divider for sys_clkout2 using clk_set_rate Laine Walker-Avina
@ 2010-04-06 16:51         ` Laine Walker-Avina
  2010-04-06 22:36           ` Kevin Hilman
  2010-04-23  0:55         ` [PATCH 4/5] OMAP: Add support for setting the divider for sys_clkout2 using clk_set_rate Paul Walmsley
  1 sibling, 1 reply; 15+ messages in thread
From: Laine Walker-Avina @ 2010-04-06 16:51 UTC (permalink / raw)
  To: linux-omap; +Cc: Laine Walker-Avina


Signed-off-by: Laine Walker-Avina <lwalkera@ieee.org>
---
 arch/arm/mach-omap2/gpmc.c |   14 ++++++++++----
 1 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/arch/arm/mach-omap2/gpmc.c b/arch/arm/mach-omap2/gpmc.c
index 5bc3ca0..9fa80e3 100644
--- a/arch/arm/mach-omap2/gpmc.c
+++ b/arch/arm/mach-omap2/gpmc.c
@@ -171,12 +171,15 @@ static int set_gpmc_timing_reg(int cs, int reg, int st_bit, int end_bit,
 #endif
 {
 	u32 l;
-	int ticks, mask, nr_bits;
+	int ticks, mask, nr_bits, para_gran;
+
+	para_gran = (gpmc_cs_read_reg(cs, GPMC_CS_CONFIG1) &
+		GPMC_CONFIG1_TIME_PARA_GRAN ? 2 : 1);
 
 	if (time == 0)
 		ticks = 0;
 	else
-		ticks = gpmc_ns_to_ticks(time);
+		ticks = gpmc_ns_to_ticks(time/para_gran);
 	nr_bits = end_bit - st_bit + 1;
 	if (ticks >= 1 << nr_bits) {
 #ifdef DEBUG
@@ -191,8 +194,8 @@ static int set_gpmc_timing_reg(int cs, int reg, int st_bit, int end_bit,
 #ifdef DEBUG
 	printk(KERN_INFO
 		"GPMC CS%d: %-10s: %3d ticks, %3lu ns (was %3i ticks) %3d ns\n",
-	       cs, name, ticks, gpmc_get_fclk_period() * ticks / 1000,
-			(l >> st_bit) & mask, time);
+	       cs, name, ticks, gpmc_get_fclk_period() * para_gran *
+		   ticks / 1000, (l >> st_bit) & mask, time);
 #endif
 	l &= ~(mask << st_bit);
 	l |= ticks << st_bit;
@@ -231,6 +234,9 @@ int gpmc_cs_set_timings(int cs, const struct gpmc_timings *t)
 {
 	int div;
 	u32 l;
+#ifdef DEBUG
+	printk(KERN_INFO "GPMC_FCLK: %ld\n", gpmc_get_fclk_period());
+#endif
 
 	div = gpmc_cs_calc_divider(cs, t->sync_clk);
 	if (div < 0)
-- 
1.6.3.3


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* Re: [PATCH 1/5] OMAP: Add in helper macros for the SDRAM timings
  2010-04-06 16:51 ` [PATCH 1/5] OMAP: Add in helper macros for the SDRAM timings Laine Walker-Avina
  2010-04-06 16:51   ` [PATCH 2/5] OMAP: Convert the sdram-*.h timings to use the SDRAM timing macros Laine Walker-Avina
@ 2010-04-06 17:17   ` Felipe Balbi
  2010-04-06 17:26     ` Laine Walker-Avina
  2010-04-06 17:31     ` [PATCH v2 " Laine Walker-Avina
  1 sibling, 2 replies; 15+ messages in thread
From: Felipe Balbi @ 2010-04-06 17:17 UTC (permalink / raw)
  To: ext Laine Walker-Avina; +Cc: linux-omap

On Tue, Apr 06, 2010 at 06:51:04PM +0200, ext Laine Walker-Avina wrote:
>
>Signed-off-by: Laine Walker-Avina <lwalkera@ieee.org>
>---
> arch/arm/plat-omap/include/plat/sdrc.h |   23 +++++++++++++++++++++++
> 1 files changed, 23 insertions(+), 0 deletions(-)
>
>diff --git a/arch/arm/plat-omap/include/plat/sdrc.h b/arch/arm/plat-omap/include/plat/sdrc.h
>index 7b76f50..c74d1e7 100644
>--- a/arch/arm/plat-omap/include/plat/sdrc.h
>+++ b/arch/arm/plat-omap/include/plat/sdrc.h
>@@ -124,6 +124,29 @@ struct omap_sdrc_params {
> 	u32 mr;
> };
>
>+/* Helper macros and defines for the omap_sdrc_params registers */
>+#define ACTIM_TRFC(a)		(((a) & 0x1f)<<27)

you need to add more spacing in all these macros, something like:

#define ACTIM_TRFC(a)		(((a) & 0x1f) << 27)

similar to all others.

-- 
balbi

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 1/5] OMAP: Add in helper macros for the SDRAM timings
  2010-04-06 17:17   ` [PATCH 1/5] OMAP: Add in helper macros for the SDRAM timings Felipe Balbi
@ 2010-04-06 17:26     ` Laine Walker-Avina
  2010-04-06 17:28       ` Felipe Balbi
  2010-04-06 17:31     ` [PATCH v2 " Laine Walker-Avina
  1 sibling, 1 reply; 15+ messages in thread
From: Laine Walker-Avina @ 2010-04-06 17:26 UTC (permalink / raw)
  To: felipe.balbi; +Cc: linux-omap

On Tue, Apr 6, 2010 at 10:17 AM, Felipe Balbi <felipe.balbi@nokia.com> wrote:
>> +/* Helper macros and defines for the omap_sdrc_params registers */
>> +#define ACTIM_TRFC(a)          (((a) & 0x1f)<<27)
>
> you need to add more spacing in all these macros, something like:
>
> #define ACTIM_TRFC(a)           (((a) & 0x1f) << 27)
>
> similar to all others.
>
> --
> balbi
>

I'll do it, however checkpatch.pl didn't flag that as a warning.
-- 
Laine Walker-Avina
Firmware Engineer
PASCO scientific
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 1/5] OMAP: Add in helper macros for the SDRAM timings
  2010-04-06 17:26     ` Laine Walker-Avina
@ 2010-04-06 17:28       ` Felipe Balbi
  0 siblings, 0 replies; 15+ messages in thread
From: Felipe Balbi @ 2010-04-06 17:28 UTC (permalink / raw)
  To: ext Laine Walker-Avina; +Cc: Balbi Felipe (Nokia-D/Helsinki), linux-omap

On Tue, Apr 06, 2010 at 07:26:48PM +0200, ext Laine Walker-Avina wrote:
>I'll do it, however checkpatch.pl didn't flag that as a warning.

I guess you need to call it with --strict :-)

-- 
balbi

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH v2 1/5] OMAP: Add in helper macros for the SDRAM timings
  2010-04-06 17:17   ` [PATCH 1/5] OMAP: Add in helper macros for the SDRAM timings Felipe Balbi
  2010-04-06 17:26     ` Laine Walker-Avina
@ 2010-04-06 17:31     ` Laine Walker-Avina
  1 sibling, 0 replies; 15+ messages in thread
From: Laine Walker-Avina @ 2010-04-06 17:31 UTC (permalink / raw)
  To: linux-omap; +Cc: Laine Walker-Avina

Signed-off-by: Laine Walker-Avina <lwalkera@ieee.org>
---
 arch/arm/plat-omap/include/plat/sdrc.h |   23 +++++++++++++++++++++++
 1 files changed, 23 insertions(+), 0 deletions(-)

diff --git a/arch/arm/plat-omap/include/plat/sdrc.h b/arch/arm/plat-omap/include/plat/sdrc.h
index 7b76f50..c74d1e7 100644
--- a/arch/arm/plat-omap/include/plat/sdrc.h
+++ b/arch/arm/plat-omap/include/plat/sdrc.h
@@ -124,6 +124,29 @@ struct omap_sdrc_params {
 	u32 mr;
 };
 
+/* Helper macros and defines for the omap_sdrc_params registers */
+#define ACTIM_TRFC(a)		(((a) & 0x1f) << 27)
+#define ACTIM_TRC(a)		(((a) & 0x1f) << 22)
+#define ACTIM_TRAS(a)		(((a) & 0xf) << 18)
+#define ACTIM_TRP(a)		(((a) & 0x3) << 15)
+#define ACTIM_TRCD(a)		(((a) & 0x3) << 12)
+#define ACTIM_TRRD(a)		(((a) & 0x3) << 9)
+#define ACTIM_TDPL(a)		(((a) & 0x3) << 6)
+#define ACTIM_TDAL(a)		(((a) & 0x1f) << 0)
+
+#define ACTIM_TWTR(a)		(((a) & 0x3) << 16)
+#define ACTIM_TCKE(a)		(((a) & 0x7) << 12)
+#define ACTIM_TXP(a)		(((a) & 0x7) << 8)
+#define ACTIM_TXSR(a)		(((a) & 0xff) << 0)
+
+#define RFR_CTRL_ARCV(a)	(((a) & 0xffff) << 8)
+#define RFR_CTRL_ARE(a)	(((a) & 0x3) << 0)
+
+#define MR_WBST(a)		(((a) & 0x1) << 9)
+#define MR_CASL(a)		(((a) & 0x7) << 4)
+#define MR_BL(a)		(((a) & 0x7) << 0)
+
+
 void __init omap2_sdrc_init(struct omap_sdrc_params *sdrc_cs0,
 			    struct omap_sdrc_params *sdrc_cs1);
 int omap2_sdrc_get_params(unsigned long r,
-- 
1.6.3.3


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* Re: [PATCH 5/5] OMAP: Make set_gpmc_timing_reg aware of the TIMEPARAGRANULARITY flag
  2010-04-06 16:51         ` [PATCH 5/5] OMAP: Make set_gpmc_timing_reg aware of the TIMEPARAGRANULARITY flag Laine Walker-Avina
@ 2010-04-06 22:36           ` Kevin Hilman
  2010-07-29 21:44             ` [PATCH v2] " Laine Walker-Avina
  0 siblings, 1 reply; 15+ messages in thread
From: Kevin Hilman @ 2010-04-06 22:36 UTC (permalink / raw)
  To: Laine Walker-Avina; +Cc: linux-omap

Laine Walker-Avina <lwalkera@ieee.org> writes:

> Signed-off-by: Laine Walker-Avina <lwalkera@ieee.org>

All of the patches in this series should have a more descriptive
changelog.  Typically that means answering "why?" to the subject, and
for more complicated series, also answering "how?"

[...]

> +#ifdef DEBUG
> +	printk(KERN_INFO "GPMC_FCLK: %ld\n", gpmc_get_fclk_period());
> +#endif

should just use pr_debug(...)

Kevin

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 0/5] Initial change for merge of new board
  2010-04-06 16:51 [PATCH 0/5] Initial change for merge of new board Laine Walker-Avina
  2010-04-06 16:51 ` [PATCH 1/5] OMAP: Add in helper macros for the SDRAM timings Laine Walker-Avina
@ 2010-04-23  0:48 ` Paul Walmsley
  1 sibling, 0 replies; 15+ messages in thread
From: Paul Walmsley @ 2010-04-23  0:48 UTC (permalink / raw)
  To: Laine Walker-Avina; +Cc: linux-omap

Hello Laine,

On Tue, 6 Apr 2010, Laine Walker-Avina wrote:

> I'm beginning to merge some of the changes for my new board. These include:
>    * Adding macros to compute the ACTIM values for the SDRAM timings, 
> eliminating magic numbers. The original authors may want to verify their 
> timings were converted correctly.

Have you verified that your changes result in the correct values?

Also, have you looked at the approach used in 
arch/arm/mach-omap2/board-rx51-sdram.c.  That seems like a better way?

>    * Adding the ability to use the clock API to select the divider for sys_clkout2
>    * Making the GPRC timing API aware of the time-granularity flag
> 
> Let me know if there are any comments or questions.
> 
> Cheers,
> Laine Walker-Avina
> PASCO scientific
> 
> ----
> 
> Laine Walker-Avina (5):
>   OMAP: Add in helper macros for the SDRAM timings
>   OMAP: Convert the sdram-*.h timings to use the SDRAM timing macros
>   OMAP: Add SDRAM timings for Micron mt46h16m32lf-6
>   OMAP: Add support for setting the divider for sys_clkout2 using
>     clk_set_rate
>   OMAP: Make set_gpmc_timing_reg aware of the TIMEPARAGRANULARITY flag
> 
>  arch/arm/mach-omap2/clock3xxx_data.c               |    1 +
>  arch/arm/mach-omap2/gpmc.c                         |   14 +++-
>  arch/arm/mach-omap2/sdram-hynix-h8mbx00u0mer-0em.h |   44 ++++++++-----
>  arch/arm/mach-omap2/sdram-micron-mt46h16m32lf-6.h  |   67 ++++++++++++++++++++
>  arch/arm/mach-omap2/sdram-micron-mt46h32m32lf-6.h  |   44 ++++++++-----
>  arch/arm/mach-omap2/sdram-numonyx-m65kxxxxam.h     |   52 +++++++++------
>  .../mach-omap2/sdram-qimonda-hyb18m512160af-6.h    |   50 +++++++++------
>  arch/arm/plat-omap/include/plat/sdrc.h             |   23 +++++++
>  8 files changed, 220 insertions(+), 75 deletions(-)
>  create mode 100644 arch/arm/mach-omap2/sdram-micron-mt46h16m32lf-6.h
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 


- Paul

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 4/5] OMAP: Add support for setting the divider for sys_clkout2 using clk_set_rate
  2010-04-06 16:51       ` [PATCH 4/5] OMAP: Add support for setting the divider for sys_clkout2 using clk_set_rate Laine Walker-Avina
  2010-04-06 16:51         ` [PATCH 5/5] OMAP: Make set_gpmc_timing_reg aware of the TIMEPARAGRANULARITY flag Laine Walker-Avina
@ 2010-04-23  0:55         ` Paul Walmsley
  2010-05-18 22:04           ` Paul Walmsley
  1 sibling, 1 reply; 15+ messages in thread
From: Paul Walmsley @ 2010-04-23  0:55 UTC (permalink / raw)
  To: Laine Walker-Avina; +Cc: linux-omap

Hello Laine,

two minor comments:

On Tue, 6 Apr 2010, Laine Walker-Avina wrote:

> 
> Signed-off-by: Laine Walker-Avina <lwalkera@ieee.org>

Please add a brief changelog.  Nothing fancy needed...

> ---
>  arch/arm/mach-omap2/clock3xxx_data.c |    1 +
>  1 files changed, 1 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/arm/mach-omap2/clock3xxx_data.c b/arch/arm/mach-omap2/clock3xxx_data.c
> index d5153b6..2a62779 100644
> --- a/arch/arm/mach-omap2/clock3xxx_data.c
> +++ b/arch/arm/mach-omap2/clock3xxx_data.c
> @@ -1111,6 +1111,7 @@ static struct clk sys_clkout2 = {
>  	.clksel_mask	= OMAP3430_CLKOUT2_DIV_MASK,
>  	.clksel		= sys_clkout2_clksel,
>  	.recalc		= &omap2_clksel_recalc,

Please add a .round_rate function pointer here also, pointing to 
omap2_clksel_round_rate.

> +	.set_rate	= &omap2_clksel_set_rate,
>  };
>  
>  /* CM OUTPUT CLOCKS */
> -- 
> 1.6.3.3


- Paul

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 4/5] OMAP: Add support for setting the divider for sys_clkout2 using clk_set_rate
  2010-04-23  0:55         ` [PATCH 4/5] OMAP: Add support for setting the divider for sys_clkout2 using clk_set_rate Paul Walmsley
@ 2010-05-18 22:04           ` Paul Walmsley
  0 siblings, 0 replies; 15+ messages in thread
From: Paul Walmsley @ 2010-05-18 22:04 UTC (permalink / raw)
  To: Laine Walker-Avina; +Cc: linux-omap

On Thu, 22 Apr 2010, Paul Walmsley wrote:

> Hello Laine,
> 
> two minor comments:
> 
> On Tue, 6 Apr 2010, Laine Walker-Avina wrote:
> 
> > 
> > Signed-off-by: Laine Walker-Avina <lwalkera@ieee.org>
> 
> Please add a brief changelog.  Nothing fancy needed...
> 
> > ---
> >  arch/arm/mach-omap2/clock3xxx_data.c |    1 +
> >  1 files changed, 1 insertions(+), 0 deletions(-)
> > 
> > diff --git a/arch/arm/mach-omap2/clock3xxx_data.c b/arch/arm/mach-omap2/clock3xxx_data.c
> > index d5153b6..2a62779 100644
> > --- a/arch/arm/mach-omap2/clock3xxx_data.c
> > +++ b/arch/arm/mach-omap2/clock3xxx_data.c
> > @@ -1111,6 +1111,7 @@ static struct clk sys_clkout2 = {
> >  	.clksel_mask	= OMAP3430_CLKOUT2_DIV_MASK,
> >  	.clksel		= sys_clkout2_clksel,
> >  	.recalc		= &omap2_clksel_recalc,
> 
> Please add a .round_rate function pointer here also, pointing to 
> omap2_clksel_round_rate.
> 
> > +	.set_rate	= &omap2_clksel_set_rate,
> >  };
> >  
> >  /* CM OUTPUT CLOCKS */

Haven't heard anything further on this.  The changes needed are 
straightforward enough that I'll make them here and queue it for 2.6.35.


- Paul


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH v2] OMAP: Make set_gpmc_timing_reg aware of the TIMEPARAGRANULARITY flag
  2010-04-06 22:36           ` Kevin Hilman
@ 2010-07-29 21:44             ` Laine Walker-Avina
  0 siblings, 0 replies; 15+ messages in thread
From: Laine Walker-Avina @ 2010-07-29 21:44 UTC (permalink / raw)
  To: linux-omap; +Cc: Laine Walker-Avina

This patch modifies the math used to convert clock ticks to nanoseconds
so that it is aware of the effect of the TIMEPARAGRANULARITY flag which
acts as a divide by 2 to the GPMC timing registers. This enables the use
of slower devices on the GPMC bus.
---
 arch/arm/mach-omap2/gpmc.c |   11 +++++++----
 1 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/arch/arm/mach-omap2/gpmc.c b/arch/arm/mach-omap2/gpmc.c
index 5bc3ca0..6c3a786 100644
--- a/arch/arm/mach-omap2/gpmc.c
+++ b/arch/arm/mach-omap2/gpmc.c
@@ -171,12 +171,15 @@ static int set_gpmc_timing_reg(int cs, int reg, int st_bit, int end_bit,
 #endif
 {
 	u32 l;
-	int ticks, mask, nr_bits;
+	int ticks, mask, nr_bits, para_gran;
+
+	para_gran = (gpmc_cs_read_reg(cs, GPMC_CS_CONFIG1) &
+		GPMC_CONFIG1_TIME_PARA_GRAN ? 2:1);
 
 	if (time == 0)
 		ticks = 0;
 	else
-		ticks = gpmc_ns_to_ticks(time);
+		ticks = gpmc_ns_to_ticks(time/para_gran);
 	nr_bits = end_bit - st_bit + 1;
 	if (ticks >= 1 << nr_bits) {
 #ifdef DEBUG
@@ -191,8 +194,8 @@ static int set_gpmc_timing_reg(int cs, int reg, int st_bit, int end_bit,
 #ifdef DEBUG
 	printk(KERN_INFO
 		"GPMC CS%d: %-10s: %3d ticks, %3lu ns (was %3i ticks) %3d ns\n",
-	       cs, name, ticks, gpmc_get_fclk_period() * ticks / 1000,
-			(l >> st_bit) & mask, time);
+	       cs, name, ticks, gpmc_get_fclk_period() * para_gran *
+		   ticks / 1000, (l >> st_bit) & mask, time);
 #endif
 	l &= ~(mask << st_bit);
 	l |= ticks << st_bit;
-- 
1.6.3.3


^ permalink raw reply related	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2010-07-29 21:54 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-04-06 16:51 [PATCH 0/5] Initial change for merge of new board Laine Walker-Avina
2010-04-06 16:51 ` [PATCH 1/5] OMAP: Add in helper macros for the SDRAM timings Laine Walker-Avina
2010-04-06 16:51   ` [PATCH 2/5] OMAP: Convert the sdram-*.h timings to use the SDRAM timing macros Laine Walker-Avina
2010-04-06 16:51     ` [PATCH 3/5] OMAP: Add SDRAM timings for Micron mt46h16m32lf-6 Laine Walker-Avina
2010-04-06 16:51       ` [PATCH 4/5] OMAP: Add support for setting the divider for sys_clkout2 using clk_set_rate Laine Walker-Avina
2010-04-06 16:51         ` [PATCH 5/5] OMAP: Make set_gpmc_timing_reg aware of the TIMEPARAGRANULARITY flag Laine Walker-Avina
2010-04-06 22:36           ` Kevin Hilman
2010-07-29 21:44             ` [PATCH v2] " Laine Walker-Avina
2010-04-23  0:55         ` [PATCH 4/5] OMAP: Add support for setting the divider for sys_clkout2 using clk_set_rate Paul Walmsley
2010-05-18 22:04           ` Paul Walmsley
2010-04-06 17:17   ` [PATCH 1/5] OMAP: Add in helper macros for the SDRAM timings Felipe Balbi
2010-04-06 17:26     ` Laine Walker-Avina
2010-04-06 17:28       ` Felipe Balbi
2010-04-06 17:31     ` [PATCH v2 " Laine Walker-Avina
2010-04-23  0:48 ` [PATCH 0/5] Initial change for merge of new board Paul Walmsley

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).