[PATCH RFC v1]

9 views
Skip to first unread message

Joel A Fernandes

unread,
Jun 7, 2011, 3:50:15 PM6/7/11
to x-loader, k-k...@ti.com, j...@ti.com, s-ki...@ti.com, beagl...@googlegroups.com
This patch adds Rev C5 support for a new memory chip that was added to
the Beagleboard Revision C5. The chip is 256MB SDRAM and the following
patch enables it.

The micron memory chip part is: MT29C4G48MAZAPAKQ-5 IT.

I have tested my patch and it works fine but before I submit it, I
will be grateful if I can get some review feedback (specially with the
details of timing and AC parameter values). Thanks

Signed-off-by: Joel A Fernandes <joel...@ti.com>
---
board/omap3530beagle/omap3530beagle.c | 19 ++++++++++++++++++-
1 files changed, 18 insertions(+), 1 deletions(-)

diff --git a/board/omap3530beagle/omap3530beagle.c b/board/
omap3530beagle/omap3530beagle.c
index 15943f5..6d2c71a 100644
--- a/board/omap3530beagle/omap3530beagle.c
+++ b/board/omap3530beagle/omap3530beagle.c
@@ -281,6 +281,7 @@ u32 wait_on_value(u32 read_bit_mask, u32
match_value, u32 read_addr, u32 bound)

#define MICRON_DDR 0
#define NUMONYX_MCP 1
+#define MICRON_MCP 2
int identify_xm_ddr()
{
int mfr, id;
@@ -303,6 +304,8 @@ int identify_xm_ddr()
return MICRON_DDR;
if ((mfr == 0x20) && (id == 0xba))
return NUMONYX_MCP;
+ if ((mfr == 0x2c) && (id == 0xbc))
+ return MICRON_MCP;
}
/
*********************************************************************
* config_3430sdram_ddr() - Init DDR on 3430SDP dev board.
@@ -329,7 +332,19 @@ void config_3430sdram_ddr(void)
__raw_writel(NUMONYX_V_ACTIMB_165,
SDRC_ACTIM_CTRLB_1);
__raw_writel(SDP_3430_SDRC_RFR_CTRL_165MHz,
SDRC_RFR_CTRL_0);
__raw_writel(SDP_3430_SDRC_RFR_CTRL_165MHz,
SDRC_RFR_CTRL_1);
- } else {
+ } else if(identify_xm_ddr() == MICRON_MCP){
+ /* Beagleboard Rev C5 */
+ __raw_writel(0x2, SDRC_CS_CFG); /* 256MB/bank
*/
+ __raw_writel(SDP_SDRC_MDCFG_0_DDR_MICRON_XM,
SDRC_MCFG_0);
+ __raw_writel(SDP_SDRC_MDCFG_0_DDR_MICRON_XM,
SDRC_MCFG_1);
+ __raw_writel(MICRON_V_ACTIMA_200,
SDRC_ACTIM_CTRLA_0);
+ __raw_writel(MICRON_V_ACTIMB_200,
SDRC_ACTIM_CTRLB_0);
+ __raw_writel(MICRON_V_ACTIMA_200,
SDRC_ACTIM_CTRLA_1);
+ __raw_writel(MICRON_V_ACTIMB_200,
SDRC_ACTIM_CTRLB_1);
+ __raw_writel(SDP_3430_SDRC_RFR_CTRL_200MHz,
SDRC_RFR_CTRL_0);
+ __raw_writel(SDP_3430_SDRC_RFR_CTRL_200MHz,
SDRC_RFR_CTRL_1);
+ }
+ else {
__raw_writel(0x1, SDRC_CS_CFG); /* 128MB/bank
*/
__raw_writel(SDP_SDRC_MDCFG_0_DDR,
SDRC_MCFG_0);
__raw_writel(SDP_SDRC_MDCFG_0_DDR,
SDRC_MCFG_1);
@@ -699,6 +714,8 @@ int misc_init_r(void)
case REVISION_C4:
if (identify_xm_ddr() == NUMONYX_MCP)
printf("Beagle Rev C4 from Special Computing
\n");
+ else if(identify_xm_ddr() == MICRON_MCP)
+ printf("Beagle Rev C5\n");
else
printf("Beagle Rev C4\n");
break;

Koen Kooi

unread,
Jun 7, 2011, 4:03:17 PM6/7/11
to x-lo...@googlegroups.com, Jason Kridner, Steven Kipisz, beagleboard@googlegroups.com Board
Is it just me or did something mangle tabs to spaces in this patch?

> --
> --
> To unsubscribe from this group, email: x-loader+u...@googlegroups.com
> For more options: http://groups.google.com/group/x-loader?hl=en?hl=en
> Home Page: http://gitorious.org/x-loader

Reply all
Reply to author
Forward
0 new messages