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

prabhakar at freescale.com prabhakar at freescale.com
Wed Mar 18 04:59:04 CET 2015


> -----Original Message-----
> From: U-Boot [mailto:u-boot-bounces at lists.denx.de] On Behalf Of Vijay Rai
> Sent: Wednesday, March 18, 2015 2:50 PM
> To: Sun York-R58495; u-boot at 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.rai at freescale.com>
> Signed-off-by: Priyanka Jain <Priyanka.Jain at 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,     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, 0x0708080A, 0x0A0B0C09},
> @@ -40,10 +47,14 @@ static const struct board_specific_parameters udimm0[]
> = {
>  	{1,  1350, 0, 4,     7, 0x0708080A, 0x0A0B0C09},
>  	{1,  1666, 4, 4,     7, 0x0808090B, 0x0C0D0E0A},
>  	{1,  1666, 0, 4,     7, 0x0808090B, 0x0C0D0E0A},
> +#else
> +#error DDR type not defined
> +#endif
>  	{}
>  };
> 
> +#endif
> +
>  static const struct board_specific_parameters *udimms[] = {
>  	udimm0,
>  };
> -#endif
> diff --git a/board/freescale/t104xrdb/eth.c b/board/freescale/t104xrdb/eth.c
> index 7581a4cd..9c4e922 100644
> --- a/board/freescale/t104xrdb/eth.c
> +++ b/board/freescale/t104xrdb/eth.c
> @@ -43,9 +43,11 @@ int board_eth_init(bd_t *bis)
>  		int idx = i - FM1_DTSEC1;
> 
>  		switch (fm_info_get_enet_if(i)) {
> -#ifdef CONFIG_T1040RDB
> +#if defined(CONFIG_T1040RDB) || (CONFIG_T1040D4RDB)

looks wrong!!
It should be 
#if defined(CONFIG_T1040RDB) || defined(CONFIG_T1040D4RDB)

--prabhakar


More information about the U-Boot mailing list