Patchwork [U-Boot] p1020rdb-pd: platform support

login
register
mail settings
Submitter Haijun.Zhang
Date April 28, 2013, 6:17 a.m.
Message ID <1367129854-31258-1-git-send-email-Haijun.Zhang@freescale.com>
Download mbox | patch
Permalink /patch/240242/
State Changes Requested
Delegated to: Andy Fleming
Headers show

Comments

Haijun.Zhang - April 28, 2013, 6:17 a.m.
From: "Haijun.Zhang" <haijun.zhang@freescale.com>

Add platform support for p1020rdb-pd

Signed-off-by: Jerry Huang <Chang-Ming.Huang@freescale.com>
Signed-off-by: Haijun Zhang <Haijun.Zhang@freescale.com>
CC: Sun Yusong-R58495 <yorksun@freescale.com>
CC: u-boot@lists.denx.de
---
 board/freescale/p1_p2_rdb_pc/ddr.c |  2 +-
 boards.cfg                         |  4 ++++
 include/configs/p1_p2_rdb_pc.h     | 19 +++++++++++++++++--
 3 files changed, 22 insertions(+), 3 deletions(-)
Zhang Haijun-B42677 - June 27, 2013, 8:58 a.m.
Hi, Scott

Sorry to reply to so late.
Pls see my reply below.


Regards & Thanks
Haijun.

> -----Original Message-----
> From: Wood Scott-B07421
> Sent: Wednesday, May 22, 2013 6:24 AM
> To: Zhang Haijun-B42677
> Cc: Fleming Andy-AFLEMING; u-boot@lists.denx.de; Huang Changming-R66093;
> Zhang Haijun-B42677; Zhang Haijun-B42677; sun york-R58495
> Subject: Re: [U-Boot] [PATCH] p1020rdb-pd: platform support
> 
> On 04/28/2013 01:17:34 AM, Haijun.Zhang wrote:
> > From: "Haijun.Zhang" <haijun.zhang@freescale.com>
> >
> > Add platform support for p1020rdb-pd
> 
> Explain what is different about "-pd" and why this new revision requires
> a separate compile-time target.
> 
[Haijun Wrote:] We use P1020RDB-PD to instead of P1020RDB-PC board later on.
They are all supported. Nand, DDR, Nor and Spi Flash are different between them.
So I thinks they should be two separate board as P1020UTM and P1020MBG do. 
 
> If it's due to raw DDR config, say so in the changelog.  Is there any way
> we could read a revision register to select the proper DDR config at
> runtime?
[Haijun Wrote:] Now we read DDR config from SPD fist, if not found read from config file.
> 
> If it's due to different NAND page size, that will no longer be an issue
> once this is applied:
> http://patchwork.ozlabs.org/patch/223436/
> 
> > +#if (defined(CONFIG_P1020RDB) || defined(CONFIG_P1020RDB_PD))
> >  #if defined(CONFIG_P1020RDB)
> >  #define CONFIG_BOARDNAME "P1020RDB-PC"
> > +#elif defined(CONFIG_P1020RDB_PD)
> > +#define CONFIG_BOARDNAME "P1020RDB-PD"
> > +#endif
> 
> CONFIG_P1020RDB is not a good name to mean specifically the -PC revision.
> Change it so that CONFIG_P1020RDB is set for all revisions of P1020RDB,
> and introduce CONFIG_P1020RDB-PC for PC-specific things.
> 
> -Scott
Scott Wood - June 27, 2013, 8:10 p.m.
On 06/27/2013 03:58:57 AM, Zhang Haijun-B42677 wrote:
> Hi, Scott
> 
> Sorry to reply to so late.
> Pls see my reply below.
> 
> 
> Regards & Thanks
> Haijun.
> 
> > -----Original Message-----
> > From: Wood Scott-B07421
> > Sent: Wednesday, May 22, 2013 6:24 AM
> > To: Zhang Haijun-B42677
> > Cc: Fleming Andy-AFLEMING; u-boot@lists.denx.de; Huang  
> Changming-R66093;
> > Zhang Haijun-B42677; Zhang Haijun-B42677; sun york-R58495
> > Subject: Re: [U-Boot] [PATCH] p1020rdb-pd: platform support
> >
> > On 04/28/2013 01:17:34 AM, Haijun.Zhang wrote:
> > > From: "Haijun.Zhang" <haijun.zhang@freescale.com>
> > >
> > > Add platform support for p1020rdb-pd
> >
> > Explain what is different about "-pd" and why this new revision  
> requires
> > a separate compile-time target.
> >
> [Haijun Wrote:] We use P1020RDB-PD to instead of P1020RDB-PC board  
> later on.
> They are all supported. Nand, DDR, Nor and Spi Flash are different  
> between them.
> So I thinks they should be two separate board as P1020UTM and  
> P1020MBG do.

Put this information in the changelog.

> > If it's due to raw DDR config, say so in the changelog.  Is there  
> any way
> > we could read a revision register to select the proper DDR config at
> > runtime?
> [Haijun Wrote:] Now we read DDR config from SPD fist, if not found  
> read from config file.

Is there any reason why SPD would not be found?

> > > +#if (defined(CONFIG_P1020RDB) || defined(CONFIG_P1020RDB_PD))
> > >  #if defined(CONFIG_P1020RDB)
> > >  #define CONFIG_BOARDNAME "P1020RDB-PC"
> > > +#elif defined(CONFIG_P1020RDB_PD)
> > > +#define CONFIG_BOARDNAME "P1020RDB-PD"
> > > +#endif
> >
> > CONFIG_P1020RDB is not a good name to mean specifically the -PC  
> revision.
> > Change it so that CONFIG_P1020RDB is set for all revisions of  
> P1020RDB,
> > and introduce CONFIG_P1020RDB-PC for PC-specific things.

Could you reply to this one?

...and of course I meant CONFIG_P1020RDB_PC rather than  
CONFIG_P1020RDB-PC. :-)

-Scott
Zhang Haijun-B42677 - June 28, 2013, 2:07 a.m.
Regards
Haijun.


> -----Original Message-----
> From: Zhang Haijun-B42677
> Sent: Friday, June 28, 2013 9:55 AM
> To: Wood Scott-B07421
> Cc: Fleming Andy-AFLEMING; u-boot@lists.denx.de; Huang Changming-R66093;
> sun york-R58495
> Subject: RE: [U-Boot] [PATCH] p1020rdb-pd: platform support
> 
> 
> 
> 
> Regards
> Haijun.
> 
> 
> > -----Original Message-----
> > From: Wood Scott-B07421
> > Sent: Friday, June 28, 2013 4:10 AM
> > To: Zhang Haijun-B42677
> > Cc: Wood Scott-B07421; Fleming Andy-AFLEMING; u-boot@lists.denx.de;
> > Huang Changming-R66093; sun york-R58495
> > Subject: Re: [U-Boot] [PATCH] p1020rdb-pd: platform support
> >
> > On 06/27/2013 03:58:57 AM, Zhang Haijun-B42677 wrote:
> > > Hi, Scott
> > >
> > > Sorry to reply to so late.
> > > Pls see my reply below.
> > >
> > >
> > > Regards & Thanks
> > > Haijun.
> > >
> > > > -----Original Message-----
> > > > From: Wood Scott-B07421
> > > > Sent: Wednesday, May 22, 2013 6:24 AM
> > > > To: Zhang Haijun-B42677
> > > > Cc: Fleming Andy-AFLEMING; u-boot@lists.denx.de; Huang
> > > Changming-R66093;
> > > > Zhang Haijun-B42677; Zhang Haijun-B42677; sun york-R58495
> > > > Subject: Re: [U-Boot] [PATCH] p1020rdb-pd: platform support
> > > >
> > > > On 04/28/2013 01:17:34 AM, Haijun.Zhang wrote:
> > > > > From: "Haijun.Zhang" <haijun.zhang@freescale.com>
> > > > >
> > > > > Add platform support for p1020rdb-pd
> > > >
> > > > Explain what is different about "-pd" and why this new revision
> > > requires
> > > > a separate compile-time target.
> > > >
> > > [Haijun Wrote:] We use P1020RDB-PD to instead of P1020RDB-PC board
> > > later on.
> > > They are all supported. Nand, DDR, Nor and Spi Flash are different
> > > between them.
> > > So I thinks they should be two separate board as P1020UTM and
> > > P1020MBG do.
> >
> > Put this information in the changelog.
[Haijun Wrote:] change log you mean?
> >
> > > > If it's due to raw DDR config, say so in the changelog.  Is there
> > > any way
> > > > we could read a revision register to select the proper DDR config
> > > > at runtime?
> > > [Haijun Wrote:] Now we read DDR config from SPD fist, if not found
> > > read from config file.
> >
> > Is there any reason why SPD would not be found?
[Haijun Wrote:] If someone erase the I2C area(SPD EEPROM) by mistake or
change by other possible reason.
They will need to read from local config file to make sure uboot can
working.
> >
> > > > > +#if (defined(CONFIG_P1020RDB) || defined(CONFIG_P1020RDB_PD))
> > > > >  #if defined(CONFIG_P1020RDB)
> > > > >  #define CONFIG_BOARDNAME "P1020RDB-PC"
> > > > > +#elif defined(CONFIG_P1020RDB_PD) #define CONFIG_BOARDNAME
> > > > > +"P1020RDB-PD"
> > > > > +#endif
> > > >
> > > > CONFIG_P1020RDB is not a good name to mean specifically the -PC
> > > revision.
> > > > Change it so that CONFIG_P1020RDB is set for all revisions of
> > > P1020RDB,
> > > > and introduce CONFIG_P1020RDB-PC for PC-specific things.
> >
> > Could you reply to this one?
> >
> > ...and of course I meant CONFIG_P1020RDB_PC rather than
> > CONFIG_P1020RDB- PC. :-)
[Haijun Wrote:] Oh, yes I agree. It a little strange to have "-PD", but
this patch was aim at add new board p1020rdb-pd board. If need i'll send
another patch to change the config name for PC,RDB and PD.

> >
> > -Scott

Patch

diff --git a/board/freescale/p1_p2_rdb_pc/ddr.c b/board/freescale/p1_p2_rdb_pc/ddr.c
index 9355536..262fd36 100644
--- a/board/freescale/p1_p2_rdb_pc/ddr.c
+++ b/board/freescale/p1_p2_rdb_pc/ddr.c
@@ -80,7 +80,7 @@  dimm_params_t ddr_raw_timing = {
 	.refresh_rate_ps = 7800000,
 	.tFAW_ps = 30000,
 };
-#elif defined(CONFIG_P1020MBG)
+#elif (defined(CONFIG_P1020MBG) || defined(CONFIG_P1020RDB_PD))
 /* Micron MT41J512M8_187E */
 dimm_params_t ddr_raw_timing = {
 	.n_ranks = 2,
diff --git a/boards.cfg b/boards.cfg
index 79ee5e7..a855348 100644
--- a/boards.cfg
+++ b/boards.cfg
@@ -772,6 +772,10 @@  P1020RDB-PC_SDCARD           powerpc     mpc85xx     p1_p2_rdb_pc        freesca
 P1020RDB-PC_SPIFLASH         powerpc     mpc85xx     p1_p2_rdb_pc        freescale      -           p1_p2_rdb_pc:P1020RDB,SPIFLASH
 P1020RDB_SDCARD              powerpc     mpc85xx     p1_p2_rdb           freescale      -           P1_P2_RDB:P1020RDB,SDCARD
 P1020RDB_SPIFLASH            powerpc     mpc85xx     p1_p2_rdb           freescale      -           P1_P2_RDB:P1020RDB,SPIFLASH
+P1020RDB-PD                  powerpc     mpc85xx     p1_p2_rdb_pc        freescale      -           p1_p2_rdb_pc:P1020RDB_PD
+P1020RDB-PD_NAND             powerpc     mpc85xx     p1_p2_rdb_pc        freescale      -           p1_p2_rdb_pc:P1020RDB_PD,NAND
+P1020RDB-PD_SDCARD           powerpc     mpc85xx     p1_p2_rdb_pc        freescale      -           p1_p2_rdb_pc:P1020RDB_PD,SDCARD
+P1020RDB-PD_SPIFLASH         powerpc     mpc85xx     p1_p2_rdb_pc        freescale      -           p1_p2_rdb_pc:P1020RDB_PD,SPIFLASH
 P1020UTM-PC                  powerpc     mpc85xx     p1_p2_rdb_pc        freescale      -           p1_p2_rdb_pc:P1020UTM
 P1020UTM-PC_36BIT            powerpc     mpc85xx     p1_p2_rdb_pc        freescale      -           p1_p2_rdb_pc:P1020UTM,36BIT
 P1020UTM-PC_36BIT_SDCARD     powerpc     mpc85xx     p1_p2_rdb_pc        freescale      -           p1_p2_rdb_pc:P1020UTM,36BIT,SDCARD
diff --git a/include/configs/p1_p2_rdb_pc.h b/include/configs/p1_p2_rdb_pc.h
index 1a8ea3a..d65c5b7 100644
--- a/include/configs/p1_p2_rdb_pc.h
+++ b/include/configs/p1_p2_rdb_pc.h
@@ -50,8 +50,12 @@ 
 #define CONFIG_SYS_L2_SIZE	(256 << 10)
 #endif
 
+#if (defined(CONFIG_P1020RDB) || defined(CONFIG_P1020RDB_PD))
 #if defined(CONFIG_P1020RDB)
 #define CONFIG_BOARDNAME "P1020RDB-PC"
+#elif defined(CONFIG_P1020RDB_PD)
+#define CONFIG_BOARDNAME "P1020RDB-PD"
+#endif
 #define CONFIG_NAND_FSL_ELBC
 #define CONFIG_P1020
 #define CONFIG_SPI_FLASH
@@ -278,7 +282,7 @@ 
 #define SPD_EEPROM_ADDRESS 0x52
 #undef CONFIG_FSL_DDR_INTERACTIVE
 
-#ifdef CONFIG_P1020MBG
+#if (defined(CONFIG_P1020MBG) || defined(CONFIG_P1020RDB_PD))
 #define CONFIG_SYS_SDRAM_SIZE_LAW	LAW_SIZE_2G
 #define CONFIG_CHIP_SELECTS_PER_CTRL	2
 #else
@@ -349,7 +353,7 @@ 
 /*
  * Local Bus Definitions
  */
-#if defined(CONFIG_P1020MBG)
+#if (defined(CONFIG_P1020MBG) || defined(CONFIG_P1020RDB_PD))
 #define CONFIG_SYS_MAX_FLASH_SECT	512	/* 64M */
 #define CONFIG_SYS_FLASH_BASE		0xec000000
 #elif defined(CONFIG_P1020UTM)
@@ -407,6 +411,16 @@ 
 	| BR_PS_8	/* Port Size = 8 bit */ \
 	| BR_MS_FCM	/* MSEL = FCM */ \
 	| BR_V)	/* valid */
+#if defined(CONFIG_P1020RDB_PD)
+#define CONFIG_SYS_NAND_OR_PRELIM	(OR_AM_32KB \
+	| OR_FCM_PGS	/* Large Page*/ \
+	| OR_FCM_CSCT \
+	| OR_FCM_CST \
+	| OR_FCM_CHT \
+	| OR_FCM_SCY_1 \
+	| OR_FCM_TRLX \
+	| OR_FCM_EHTR)
+#else
 #define CONFIG_SYS_NAND_OR_PRELIM	(OR_AM_32KB	/* small page */ \
 	| OR_FCM_CSCT \
 	| OR_FCM_CST \
@@ -414,6 +428,7 @@ 
 	| OR_FCM_SCY_1 \
 	| OR_FCM_TRLX \
 	| OR_FCM_EHTR)
+#endif
 #endif /* CONFIG_NAND_FSL_ELBC */
 
 #define CONFIG_BOARD_EARLY_INIT_R	/* call board_early_init_r function */