[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