Re: [U-Boot] [PATCH V4] mpc85xx/T104xD4RDB: Add T104xD4RDB boards support

2015-03-17 Thread prabha...@freescale.com
 -Original Message-
 From: U-Boot [mailto:u-boot-boun...@lists.denx.de] On Behalf Of Vijay Rai
 Sent: Wednesday, March 18, 2015 2:50 PM
 To: Sun York-R58495; u-boot@lists.denx.de
 Subject: [U-Boot] [PATCH V4] mpc85xx/T104xD4RDB: Add T104xD4RDB boards
 support
 
 T1040D4RDB is a Freescale reference board that hosts the T1040 SoC.
 T1040D4RDB is re-designed T1040RDB board with following changes :
 - Support of DDR4 memory
 - Support of 0x66 serdes protocol which can support following interfaces
 - 2 RGMII's on DTSEC4, DTSEC5
 - 1 SGMII on DTSEC3
 - Support of QE-TDM
 
 Similarily T1042D4RDB is a Freescale reference board that hosts the T1040
 SoC. T1042D4RDB is re-designed T1042RDB board with following changes :
 - Support of DDR4 memory
 - Support for 0x86 serdes protocol which can support following interfaces
 - 2 RGMII's on DTSEC4, DTSEC5
 - 3 SGMII on DTSEC1, DTSEC2  DTSEC3
 - Support of DIU
 
 Signed-off-by: Vijay Rai vijay@freescale.com
 Signed-off-by: Priyanka Jain priyanka.j...@freescale.com
 ---
 changes from v2 :
  - removes checkpatch error
 

Please maintain version history while sending the patch revision.

  board/freescale/t104xrdb/MAINTAINERS |8 ++
  board/freescale/t104xrdb/ddr.c   |6 
  board/freescale/t104xrdb/ddr.h   |   13 -
  board/freescale/t104xrdb/eth.c   |   20 +++--
  board/freescale/t104xrdb/t1040d4_rcw.cfg |7 +
  board/freescale/t104xrdb/t1042d4_rcw.cfg |7 +
  board/freescale/t104xrdb/t104xrdb.c  |   17 +--
  configs/T1040D4RDB_NAND_defconfig|5 
  configs/T1040D4RDB_SDCARD_defconfig  |5 
  configs/T1040D4RDB_SPIFLASH_defconfig|5 
  configs/T1040D4RDB_defconfig |4 +++
  configs/T1042D4RDB_NAND_defconfig|5 
  configs/T1042D4RDB_SDCARD_defconfig  |5 
  configs/T1042D4RDB_SPIFLASH_defconfig|5 
  configs/T1042D4RDB_defconfig |4 +++
  include/configs/T104xRDB.h   |   46 
 --
  16 files changed, 148 insertions(+), 14 deletions(-)  create mode 100644
 board/freescale/t104xrdb/t1040d4_rcw.cfg
  create mode 100644 board/freescale/t104xrdb/t1042d4_rcw.cfg
  create mode 100644 configs/T1040D4RDB_NAND_defconfig  create mode
 100644 configs/T1040D4RDB_SDCARD_defconfig
  create mode 100644 configs/T1040D4RDB_SPIFLASH_defconfig
  create mode 100644 configs/T1040D4RDB_defconfig  create mode 100644
 configs/T1042D4RDB_NAND_defconfig  create mode 100644
 configs/T1042D4RDB_SDCARD_defconfig
  create mode 100644 configs/T1042D4RDB_SPIFLASH_defconfig
  create mode 100644 configs/T1042D4RDB_defconfig
 
 diff --git a/board/freescale/t104xrdb/MAINTAINERS
 b/board/freescale/t104xrdb/MAINTAINERS
 index 13d9be9..32e044f 100644
 --- a/board/freescale/t104xrdb/MAINTAINERS
 +++ b/board/freescale/t104xrdb/MAINTAINERS
 @@ -6,7 +6,13 @@ F:   include/configs/T104xRDB.h
  F:   configs/T1040RDB_defconfig
  F:   configs/T1040RDB_NAND_defconfig
  F:   configs/T1040RDB_SPIFLASH_defconfig
 +F:   configs/T1040D4RDB_defconfig
 +F:   configs/T1040D4RDB_NAND_defconfig
 +F:   configs/T1040D4RDB_SPIFLASH_defconfig
  F:   configs/T1042RDB_defconfig
 +F:   configs/T1042D4RDB_defconfig
 +F:   configs/T1042D4RDB_NAND_defconfig
 +F:   configs/T1042D4RDB_SPIFLASH_defconfig
  F:   configs/T1042RDB_PI_defconfig
  F:   configs/T1042RDB_PI_NAND_defconfig
  F:   configs/T1042RDB_PI_SPIFLASH_defconfig
 @@ -15,6 +21,8 @@ T1040RDB_SDCARD BOARD
  #M:  -
  S:   Maintained
  F:   configs/T1040RDB_SDCARD_defconfig
 +F:   configs/T1040D4RDB_SDCARD_defconfig
 +F:   configs/T1042D4RDB_SDCARD_defconfig
  F:   configs/T1042RDB_PI_SDCARD_defconfig
 
  T1040RDB_SECURE_BOOT BOARD
 diff --git a/board/freescale/t104xrdb/ddr.c b/board/freescale/t104xrdb/ddr.c
 index e1148e5..3c4eabf 100644
 --- a/board/freescale/t104xrdb/ddr.c
 +++ b/board/freescale/t104xrdb/ddr.c
 @@ -91,8 +91,14 @@ found:
   popts-zq_en = 1;
 
   /* DHC_EN =1, ODT = 75 Ohm */
 +#ifdef CONFIG_SYS_FSL_DDR4
 + popts-ddr_cdr1 = DDR_CDR1_DHC_EN |
 DDR_CDR1_ODT(DDR_CDR_ODT_80ohm);
 + popts-ddr_cdr2 = DDR_CDR2_ODT(DDR_CDR_ODT_80ohm) |
 + DDR_CDR2_VREF_OVRD(70);   /* Vref = 70% */
 +#else
   popts-ddr_cdr1 = DDR_CDR1_DHC_EN |
 DDR_CDR1_ODT(DDR_CDR_ODT_75ohm);
   popts-ddr_cdr2 = DDR_CDR2_ODT(DDR_CDR_ODT_75ohm);
 +#endif
  }
 
  #if defined(CONFIG_DEEP_SLEEP)
 diff --git a/board/freescale/t104xrdb/ddr.h b/board/freescale/t104xrdb/ddr.h
 index ab1c32d..eb6ec70 100644
 --- a/board/freescale/t104xrdb/ddr.h
 +++ b/board/freescale/t104xrdb/ddr.h
 @@ -28,6 +28,13 @@ static const struct board_specific_parameters udimm0[] =
 {
*   num|  hi| rank|  clk| wrlvl |   wrlvl
* ranks| mhz| GB  |adjst| start |   ctl2
*/
 +#ifdef CONFIG_SYS_FSL_DDR4
 + {2,  1666, 0, 4, 7, 0x0808090B, 0x0C0D0E0A},
 + {2,  1900, 0, 4

[U-Boot] [PATCH V4] mpc85xx/T104xD4RDB: Add T104xD4RDB boards support

2015-03-17 Thread Vijay Rai
T1040D4RDB is a Freescale reference board that hosts the T1040 SoC.
T1040D4RDB is re-designed T1040RDB board with following changes :
- Support of DDR4 memory
- Support of 0x66 serdes protocol which can support following interfaces
- 2 RGMII's on DTSEC4, DTSEC5
- 1 SGMII on DTSEC3
- Support of QE-TDM

Similarily T1042D4RDB is a Freescale reference board that hosts the T1040
SoC. T1042D4RDB is re-designed T1042RDB board with following changes :
- Support of DDR4 memory
- Support for 0x86 serdes protocol which can support following interfaces
- 2 RGMII's on DTSEC4, DTSEC5
- 3 SGMII on DTSEC1, DTSEC2  DTSEC3
- Support of DIU

Signed-off-by: Vijay Rai vijay@freescale.com
Signed-off-by: Priyanka Jain priyanka.j...@freescale.com
---
changes from v2 :
 - removes checkpatch error

 board/freescale/t104xrdb/MAINTAINERS |8 ++
 board/freescale/t104xrdb/ddr.c   |6 
 board/freescale/t104xrdb/ddr.h   |   13 -
 board/freescale/t104xrdb/eth.c   |   20 +++--
 board/freescale/t104xrdb/t1040d4_rcw.cfg |7 +
 board/freescale/t104xrdb/t1042d4_rcw.cfg |7 +
 board/freescale/t104xrdb/t104xrdb.c  |   17 +--
 configs/T1040D4RDB_NAND_defconfig|5 
 configs/T1040D4RDB_SDCARD_defconfig  |5 
 configs/T1040D4RDB_SPIFLASH_defconfig|5 
 configs/T1040D4RDB_defconfig |4 +++
 configs/T1042D4RDB_NAND_defconfig|5 
 configs/T1042D4RDB_SDCARD_defconfig  |5 
 configs/T1042D4RDB_SPIFLASH_defconfig|5 
 configs/T1042D4RDB_defconfig |4 +++
 include/configs/T104xRDB.h   |   46 --
 16 files changed, 148 insertions(+), 14 deletions(-)
 create mode 100644 board/freescale/t104xrdb/t1040d4_rcw.cfg
 create mode 100644 board/freescale/t104xrdb/t1042d4_rcw.cfg
 create mode 100644 configs/T1040D4RDB_NAND_defconfig
 create mode 100644 configs/T1040D4RDB_SDCARD_defconfig
 create mode 100644 configs/T1040D4RDB_SPIFLASH_defconfig
 create mode 100644 configs/T1040D4RDB_defconfig
 create mode 100644 configs/T1042D4RDB_NAND_defconfig
 create mode 100644 configs/T1042D4RDB_SDCARD_defconfig
 create mode 100644 configs/T1042D4RDB_SPIFLASH_defconfig
 create mode 100644 configs/T1042D4RDB_defconfig

diff --git a/board/freescale/t104xrdb/MAINTAINERS 
b/board/freescale/t104xrdb/MAINTAINERS
index 13d9be9..32e044f 100644
--- a/board/freescale/t104xrdb/MAINTAINERS
+++ b/board/freescale/t104xrdb/MAINTAINERS
@@ -6,7 +6,13 @@ F: include/configs/T104xRDB.h
 F: configs/T1040RDB_defconfig
 F: configs/T1040RDB_NAND_defconfig
 F: configs/T1040RDB_SPIFLASH_defconfig
+F: configs/T1040D4RDB_defconfig
+F: configs/T1040D4RDB_NAND_defconfig
+F: configs/T1040D4RDB_SPIFLASH_defconfig
 F: configs/T1042RDB_defconfig
+F: configs/T1042D4RDB_defconfig
+F: configs/T1042D4RDB_NAND_defconfig
+F: configs/T1042D4RDB_SPIFLASH_defconfig
 F: configs/T1042RDB_PI_defconfig
 F: configs/T1042RDB_PI_NAND_defconfig
 F: configs/T1042RDB_PI_SPIFLASH_defconfig
@@ -15,6 +21,8 @@ T1040RDB_SDCARD BOARD
 #M:-
 S: Maintained
 F: configs/T1040RDB_SDCARD_defconfig
+F: configs/T1040D4RDB_SDCARD_defconfig
+F: configs/T1042D4RDB_SDCARD_defconfig
 F: configs/T1042RDB_PI_SDCARD_defconfig
 
 T1040RDB_SECURE_BOOT BOARD
diff --git a/board/freescale/t104xrdb/ddr.c b/board/freescale/t104xrdb/ddr.c
index e1148e5..3c4eabf 100644
--- a/board/freescale/t104xrdb/ddr.c
+++ b/board/freescale/t104xrdb/ddr.c
@@ -91,8 +91,14 @@ found:
popts-zq_en = 1;
 
/* DHC_EN =1, ODT = 75 Ohm */
+#ifdef CONFIG_SYS_FSL_DDR4
+   popts-ddr_cdr1 = DDR_CDR1_DHC_EN | DDR_CDR1_ODT(DDR_CDR_ODT_80ohm);
+   popts-ddr_cdr2 = DDR_CDR2_ODT(DDR_CDR_ODT_80ohm) |
+   DDR_CDR2_VREF_OVRD(70);   /* Vref = 70% */
+#else
popts-ddr_cdr1 = DDR_CDR1_DHC_EN | DDR_CDR1_ODT(DDR_CDR_ODT_75ohm);
popts-ddr_cdr2 = DDR_CDR2_ODT(DDR_CDR_ODT_75ohm);
+#endif
 }
 
 #if defined(CONFIG_DEEP_SLEEP)
diff --git a/board/freescale/t104xrdb/ddr.h b/board/freescale/t104xrdb/ddr.h
index ab1c32d..eb6ec70 100644
--- a/board/freescale/t104xrdb/ddr.h
+++ b/board/freescale/t104xrdb/ddr.h
@@ -28,6 +28,13 @@ static const struct board_specific_parameters udimm0[] = {
 *   num|  hi| rank|  clk| wrlvl |   wrlvl
 * ranks| mhz| GB  |adjst| start |   ctl2
 */
+#ifdef CONFIG_SYS_FSL_DDR4
+   {2,  1666, 0, 4, 7, 0x0808090B, 0x0C0D0E0A},
+   {2,  1900, 0, 4, 6, 0x08080A0C, 0x0D0E0F0A},
+   {1,  1666, 0, 4, 6, 0x0708090B, 0x0C0D0E09},
+   {1,  1900, 0, 4, 6, 0x08080A0C, 0x0D0E0F0A},
+   {1,  2200, 0, 4, 7, 0x08090A0D, 0x0F0F100C},
+#elif defined(CONFIG_SYS_FSL_DDR3)
{2,  833,  4, 4, 6, 0x06060607, 0x08080807},
{2,  833,  0, 4, 6, 0x06060607, 0x08080807},
{2,  1350, 4, 4, 7,