powerpc/t1023rdb: Add T1023 RDB board support
T1023RDB is a Freescale Reference Design Board that hosts the T1023 SoC. T1023RDB board Overview ----------------------- - T1023 SoC integrating two 64-bit e5500 cores up to 1.4GHz - CoreNet fabric supporting coherent and noncoherent transactions with prioritization and bandwidth allocation - Memory: 2GB Micron MT40A512M8HX unbuffered 32-bit fixed DDR4 without ECC - Accelerator: DPAA components consist of FMan, BMan, QMan, DCE and SEC - Ethernet interfaces: - one 1G RGMII port on-board(RTL8211F PHY) - one 1G SGMII port on-board(RTL8211F PHY) - one 2.5G SGMII port on-board(AQR105 PHY) - PCIe: Two Mini-PCIe connectors on-board. - SerDes: 4 lanes up to 10.3125GHz - NOR: 128MB S29GL01GS110TFIV10 Spansion NOR Flash - NAND: 512MB S34MS04G200BFI000 Spansion NAND Flash - eSPI: 64MB S25FL512SAGMFI010 Spansion SPI flash. - USB: one Type-A USB 2.0 port with internal PHY - eSDHC: support SD/MMC card and eMMC on-board - 256Kbit M24256 I2C EEPROM - RTC: Real-time clock DS1339 on I2C bus - UART: one serial port on-board with RJ45 connector - Debugging: JTAG/COP for T1023 debugging As well updated T1024RDB to add T1023RDB. Signed-off-by: Shengzhou Liu <Shengzhou.Liu@freescale.com> [York Sun: fix defconfig files] Reviewed-by: York Sun <yorksun@freescale.com>
This commit is contained in:
parent
1d0b59a9b0
commit
e8a7f1c32b
@ -8,3 +8,8 @@ F: configs/T1024RDB_NAND_defconfig
|
|||||||
F: configs/T1024RDB_SDCARD_defconfig
|
F: configs/T1024RDB_SDCARD_defconfig
|
||||||
F: configs/T1024RDB_SPIFLASH_defconfig
|
F: configs/T1024RDB_SPIFLASH_defconfig
|
||||||
F: configs/T1024RDB_SECURE_BOOT_defconfig
|
F: configs/T1024RDB_SECURE_BOOT_defconfig
|
||||||
|
F: configs/T1023RDB_defconfig
|
||||||
|
F: configs/T1023RDB_NAND_defconfig
|
||||||
|
F: configs/T1023RDB_SDCARD_defconfig
|
||||||
|
F: configs/T1023RDB_SPIFLASH_defconfig
|
||||||
|
F: configs/T1023RDB_SECURE_BOOT_defconfig
|
||||||
|
@ -8,7 +8,7 @@ ifdef CONFIG_SPL_BUILD
|
|||||||
obj-y += spl.o
|
obj-y += spl.o
|
||||||
else
|
else
|
||||||
obj-y += t102xrdb.o
|
obj-y += t102xrdb.o
|
||||||
obj-y += cpld.o
|
obj-$(CONFIG_T1024RDB) += cpld.o
|
||||||
obj-y += eth_t102xrdb.o
|
obj-y += eth_t102xrdb.o
|
||||||
obj-$(CONFIG_PCI) += pci.o
|
obj-$(CONFIG_PCI) += pci.o
|
||||||
endif
|
endif
|
||||||
|
@ -98,6 +98,30 @@ T1024RDB board Overview
|
|||||||
- Four I2C ports
|
- Four I2C ports
|
||||||
|
|
||||||
|
|
||||||
|
T1023RDB board Overview
|
||||||
|
-----------------------
|
||||||
|
- T1023 SoC integrating two 64-bit e5500 cores up to 1.4GHz
|
||||||
|
- CoreNet fabric supporting coherent and noncoherent transactions with
|
||||||
|
prioritization and bandwidth allocation
|
||||||
|
- SDRAM memory: 2GB Micron MT40A512M8HX unbuffered 32-bit DDR4 w/o ECC
|
||||||
|
- Accelerator: DPAA components consist of FMan, BMan, QMan, DCE and SEC
|
||||||
|
- Ethernet interfaces:
|
||||||
|
- one 1G RGMII port on-board(RTL8211FS PHY)
|
||||||
|
- one 1G SGMII port on-board(RTL8211FS PHY)
|
||||||
|
- one 2.5G SGMII port on-board(AQR105 PHY)
|
||||||
|
- PCIe: Two Mini-PCIe connectors on-board.
|
||||||
|
- SerDes: 4 lanes up to 10.3125GHz
|
||||||
|
- NOR: 128MB S29GL01GS110TFIV10 Spansion NOR Flash
|
||||||
|
- NAND: 512MB S34MS04G200BFI000 Spansion NAND Flash
|
||||||
|
- eSPI: 64MB S25FL512SAGMFI010 Spansion SPI flash.
|
||||||
|
- USB: one Type-A USB 2.0 port with internal PHY
|
||||||
|
- eSDHC: support SD/MMC and eMMC card
|
||||||
|
- 256Kbit M24256 I2C EEPROM
|
||||||
|
- RTC: Real-time clock DS1339U on I2C bus
|
||||||
|
- UART: one serial port on-board with RJ45 connector
|
||||||
|
- Debugging: JTAG/COP for T1023 debugging
|
||||||
|
|
||||||
|
|
||||||
Memory map on T1024RDB
|
Memory map on T1024RDB
|
||||||
----------------------
|
----------------------
|
||||||
Start Address End Address Description Size
|
Start Address End Address Description Size
|
||||||
@ -117,29 +141,39 @@ Start Address End Address Description Size
|
|||||||
0x0_0000_0000 0x0_ffff_ffff DDR 4GB
|
0x0_0000_0000 0x0_ffff_ffff DDR 4GB
|
||||||
|
|
||||||
|
|
||||||
128MB NOR Flash memory Map
|
128MB NOR Flash Memory Layout
|
||||||
--------------------------
|
-----------------------------
|
||||||
Start Address End Address Definition Max size
|
Start Address End Address Definition Max size
|
||||||
0xEFF40000 0xEFFFFFFF u-boot (current bank) 768KB
|
0xEFF40000 0xEFFFFFFF u-boot (current bank) 768KB
|
||||||
0xEFF20000 0xEFF3FFFF u-boot env (current bank) 128KB
|
0xEFF20000 0xEFF3FFFF u-boot env (current bank) 128KB
|
||||||
0xEFF00000 0xEFF1FFFF FMAN Ucode (current bank) 128KB
|
0xEFF00000 0xEFF1FFFF FMAN Ucode (current bank) 128KB
|
||||||
0xEFE00000 0xEFE3FFFF QE firmware (current bank) 256KB
|
0xEFE00000 0xEFE3FFFF QE firmware (current bank) 256KB
|
||||||
0xED300000 0xEFEFFFFF rootfs (alt bank) 44MB
|
0xED300000 0xEFDFFFFF rootfs (alt bank) 44MB
|
||||||
|
0xED000000 0xED2FFFFF Guest image #3 (alternate bank) 3MB
|
||||||
|
0xECD00000 0xECFFFFFF Guest image #2 (alternate bank) 3MB
|
||||||
|
0xECA00000 0xECCFFFFF Guest image #1 (alternate bank) 3MB
|
||||||
|
0xEC900000 0xEC9FFFFF HV config device tree(alt bank) 1MB
|
||||||
0xEC800000 0xEC8FFFFF Hardware device tree (alt bank) 1MB
|
0xEC800000 0xEC8FFFFF Hardware device tree (alt bank) 1MB
|
||||||
0xEC020000 0xEC7FFFFF Linux.uImage (alt bank) 7MB + 875KB
|
0xEC700000 0xEC7FFFFF HV.uImage (alternate bank) 1MB
|
||||||
|
0xEC020000 0xEC6FFFFF Linux.uImage (alt bank) ~7MB
|
||||||
0xEC000000 0xEC01FFFF RCW (alt bank) 128KB
|
0xEC000000 0xEC01FFFF RCW (alt bank) 128KB
|
||||||
0xEBF40000 0xEBFFFFFF u-boot (alt bank) 768KB
|
0xEBF40000 0xEBFFFFFF u-boot (alt bank) 768KB
|
||||||
0xEBF20000 0xEBF3FFFF u-boot env (alt bank) 128KB
|
0xEBF20000 0xEBF3FFFF u-boot env (alt bank) 128KB
|
||||||
0xEBF00000 0xEBF1FFFF FMAN ucode (alt bank) 128KB
|
0xEBF00000 0xEBF1FFFF FMAN ucode (alt bank) 128KB
|
||||||
0xEBE00000 0xEBE3FFFF QE firmware (alt bank) 256KB
|
0xEBE00000 0xEBE3FFFF QE firmware (alt bank) 256KB
|
||||||
0xE9300000 0xEBEFFFFF rootfs (current bank) 44MB
|
0xE9300000 0xEBDFFFFF rootfs (current bank) 44MB
|
||||||
|
0xE9000000 0xE92FFFFF Guest image #3 (current bank) 3MB
|
||||||
|
0xE8D00000 0xE8FFFFFF Guest image #2 (current bank) 3MB
|
||||||
|
0xE8A00000 0xE8CFFFFF Guest image #1 (current bank) 3MB
|
||||||
|
0xE8900000 0xE89FFFFF HV config device tree(cur bank) 1MB
|
||||||
0xE8800000 0xE88FFFFF Hardware device tree (cur bank) 1MB
|
0xE8800000 0xE88FFFFF Hardware device tree (cur bank) 1MB
|
||||||
0xE8020000 0xE86FFFFF Linux.uImage (current bank) 7MB + 875KB
|
0xE8700000 0xE87FFFFF HV.uImage (current bank) 1MB
|
||||||
|
0xE8020000 0xE86FFFFF Linux.uImage (current bank) ~7MB
|
||||||
0xE8000000 0xE801FFFF RCW (current bank) 128KB
|
0xE8000000 0xE801FFFF RCW (current bank) 128KB
|
||||||
|
|
||||||
|
|
||||||
T1024 Clock frequency
|
T1024/T1023 Clock frequency
|
||||||
---------------------
|
---------------------------
|
||||||
BIN Core DDR Platform FMan
|
BIN Core DDR Platform FMan
|
||||||
Bin1: 1400MHz 1600MT/s 400MHz 700MHz
|
Bin1: 1400MHz 1600MT/s 400MHz 700MHz
|
||||||
Bin2: 1200MHz 1600MT/s 400MHz 600MHz
|
Bin2: 1200MHz 1600MT/s 400MHz 600MHz
|
||||||
@ -155,16 +189,27 @@ Software configurations and board settings
|
|||||||
b. program u-boot.bin image to NOR flash
|
b. program u-boot.bin image to NOR flash
|
||||||
=> tftp 1000000 u-boot.bin
|
=> tftp 1000000 u-boot.bin
|
||||||
=> pro off all;era eff40000 efffffff;cp.b 1000000 eff40000 $filesize
|
=> pro off all;era eff40000 efffffff;cp.b 1000000 eff40000 $filesize
|
||||||
set SW1[1:8] = '00010011', SW2[1] = '1', SW3[4] = '0' for NOR boot
|
on T1024RDB:
|
||||||
|
set SW1[1:8] = '00010011', SW2[1] = '1', SW3[4] = '0' for NOR boot
|
||||||
|
on T1023RDB:
|
||||||
|
set SW1[1:8] = '00010110', SW2[1] = '0', SW3[4] = '0' for NOR boot
|
||||||
|
|
||||||
Switching between default bank0 and alternate bank4 on NOR flash
|
Switching between default bank0 and alternate bank4 on NOR flash
|
||||||
To change boot source to vbank4:
|
To change boot source to vbank4:
|
||||||
via software: run command 'cpld reset altbank' in u-boot.
|
on T1024RDB:
|
||||||
via DIP-switch: set SW3[5:7] = '100'
|
via software: run command 'cpld reset altbank' in u-boot.
|
||||||
|
via DIP-switch: set SW3[5:7] = '100'
|
||||||
|
on T1023RDB:
|
||||||
|
via software: run command 'gpio vbank4' in u-boot.
|
||||||
|
via DIP-switch: set SW3[5:7] = '100'
|
||||||
|
|
||||||
To change boot source to vbank0:
|
To change boot source to vbank0:
|
||||||
via software: run command 'cpld reset' in u-boot.
|
on T1024RDB:
|
||||||
via DIP-Switch: set SW3[5:7] = '000'
|
via software: run command 'cpld reset' in u-boot.
|
||||||
|
via DIP-Switch: set SW3[5:7] = '000'
|
||||||
|
on T1023RDB:
|
||||||
|
via software: run command 'gpio vbank0' in u-boot.
|
||||||
|
via DIP-switch: set SW3[5:7] = '000'
|
||||||
|
|
||||||
2. NAND Boot:
|
2. NAND Boot:
|
||||||
a. build PBL image for NAND boot
|
a. build PBL image for NAND boot
|
||||||
@ -183,8 +228,11 @@ Software configurations and board settings
|
|||||||
b. program u-boot-with-spl-pbl.bin to SPI flash
|
b. program u-boot-with-spl-pbl.bin to SPI flash
|
||||||
=> tftp 1000000 u-boot-with-spl-pbl.bin
|
=> tftp 1000000 u-boot-with-spl-pbl.bin
|
||||||
=> sf probe 0
|
=> sf probe 0
|
||||||
=> sf erase 0 f0000
|
=> sf erase 0 100000
|
||||||
=> sf write 1000000 0 $filesize
|
=> sf write 1000000 0 $filesize
|
||||||
|
=> tftp 1000000 fsl_fman_ucode_t1024_xx.bin
|
||||||
|
=> sf erase 100000 100000
|
||||||
|
=> sf write 1000000 110000 20000
|
||||||
set SW1[1:8] = '00100010', SW2[1] ='1' for SPI boot
|
set SW1[1:8] = '00100010', SW2[1] ='1' for SPI boot
|
||||||
|
|
||||||
4. SD Boot:
|
4. SD Boot:
|
||||||
@ -236,23 +284,34 @@ Start End Definition Size
|
|||||||
0x200000 0x27FFFF QE Firmware 512KB(1 block)
|
0x200000 0x27FFFF QE Firmware 512KB(1 block)
|
||||||
|
|
||||||
|
|
||||||
|
NAND Flash memory Map on T1023RDB
|
||||||
|
----------------------------------------------------
|
||||||
|
Start End Definition Size
|
||||||
|
0x000000 0x0FFFFF u-boot 1MB
|
||||||
|
0x100000 0x15FFFF u-boot env 8KB
|
||||||
|
0x160000 0x17FFFF FMAN Ucode 128KB
|
||||||
|
|
||||||
|
|
||||||
SD Card memory Map on T1024RDB
|
SD Card memory Map on T1024RDB
|
||||||
----------------------------------------------------
|
----------------------------------------------------
|
||||||
Block #blocks Definition Size
|
Block #blocks Definition Size
|
||||||
0x008 2048 u-boot img 1MB
|
0x008 2048 u-boot img 1MB
|
||||||
0x800 0016 u-boot env 8KB
|
0x800 0016 u-boot env 8KB
|
||||||
0x820 0256 FMAN Ucode 128KB
|
0x820 0256 FMAN Ucode 128KB
|
||||||
0x920 0256 QE Firmware 128KB
|
0x920 0256 QE Firmware 128KB(only T1024RDB)
|
||||||
|
|
||||||
|
|
||||||
SPI Flash memory Map on T1024RDB
|
64MB SPI Flash memory Map on T102xRDB
|
||||||
----------------------------------------------------
|
----------------------------------------------------
|
||||||
Start End Definition Size
|
Start End Definition Size
|
||||||
0x000000 0x0FFFFF u-boot img 1MB
|
0x000000 0x0FFFFF u-boot img 1MB
|
||||||
0x100000 0x101FFF u-boot env 8KB
|
0x100000 0x101FFF u-boot env 8KB
|
||||||
0x110000 0x12FFFF FMAN Ucode 128KB
|
0x110000 0x12FFFF FMAN Ucode 128KB
|
||||||
0x130000 0x14FFFF QE Firmware 128KB
|
0x130000 0x14FFFF QE Firmware 128KB(only T1024RDB)
|
||||||
|
0x300000 0x3FFFFF device tree 128KB
|
||||||
|
0x400000 0x9FFFFF Linux kernel 6MB
|
||||||
|
0xa00000 0x3FFFFFF rootfs 54MB
|
||||||
|
|
||||||
|
|
||||||
For more details, please refer to T1024RDB Reference Manual and access
|
For more details, please refer to T1024RDB Reference Manual
|
||||||
website www.freescale.com and Freescale QorIQ SDK Infocenter document.
|
and Freescale QorIQ SDK Infocenter document.
|
||||||
|
@ -135,8 +135,83 @@ found:
|
|||||||
/* for DDR bus 32bit test on T1024 */
|
/* for DDR bus 32bit test on T1024 */
|
||||||
popts->data_bus_width = DDR_DATA_BUS_WIDTH_32;
|
popts->data_bus_width = DDR_DATA_BUS_WIDTH_32;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_T1023RDB
|
||||||
|
popts->wrlvl_ctl_2 = 0x07070606;
|
||||||
|
popts->half_strength_driver_enable = 1;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_SYS_DDR_RAW_TIMING
|
||||||
|
/* 2GB discrete DDR4 MT40A512M8HX on T1023RDB */
|
||||||
|
dimm_params_t ddr_raw_timing = {
|
||||||
|
.n_ranks = 1,
|
||||||
|
.rank_density = 0x80000000,
|
||||||
|
.capacity = 0x80000000,
|
||||||
|
.primary_sdram_width = 32,
|
||||||
|
.ec_sdram_width = 8,
|
||||||
|
.registered_dimm = 0,
|
||||||
|
.mirrored_dimm = 0,
|
||||||
|
.n_row_addr = 15,
|
||||||
|
.n_col_addr = 10,
|
||||||
|
.bank_addr_bits = 2,
|
||||||
|
.bank_group_bits = 2,
|
||||||
|
.edc_config = 0,
|
||||||
|
.burst_lengths_bitmask = 0x0c,
|
||||||
|
.tckmin_x_ps = 938,
|
||||||
|
.tckmax_ps = 1500,
|
||||||
|
.caslat_x = 0x000DFA00,
|
||||||
|
.taa_ps = 13500,
|
||||||
|
.trcd_ps = 13500,
|
||||||
|
.trp_ps = 13500,
|
||||||
|
.tras_ps = 33000,
|
||||||
|
.trc_ps = 46500,
|
||||||
|
.trfc1_ps = 260000,
|
||||||
|
.trfc2_ps = 160000,
|
||||||
|
.trfc4_ps = 110000,
|
||||||
|
.tfaw_ps = 25000,
|
||||||
|
.trrds_ps = 3700,
|
||||||
|
.trrdl_ps = 5300,
|
||||||
|
.tccdl_ps = 5355,
|
||||||
|
.refresh_rate_ps = 7800000,
|
||||||
|
.dq_mapping[0] = 0x0,
|
||||||
|
.dq_mapping[1] = 0x0,
|
||||||
|
.dq_mapping[2] = 0x0,
|
||||||
|
.dq_mapping[3] = 0x0,
|
||||||
|
.dq_mapping[4] = 0x0,
|
||||||
|
.dq_mapping[5] = 0x0,
|
||||||
|
.dq_mapping[6] = 0x0,
|
||||||
|
.dq_mapping[7] = 0x0,
|
||||||
|
.dq_mapping[8] = 0x0,
|
||||||
|
.dq_mapping[9] = 0x0,
|
||||||
|
.dq_mapping[10] = 0x0,
|
||||||
|
.dq_mapping[11] = 0x0,
|
||||||
|
.dq_mapping[12] = 0x0,
|
||||||
|
.dq_mapping[13] = 0x0,
|
||||||
|
.dq_mapping[14] = 0x0,
|
||||||
|
.dq_mapping[15] = 0x0,
|
||||||
|
.dq_mapping[16] = 0x0,
|
||||||
|
.dq_mapping[17] = 0x0,
|
||||||
|
.dq_mapping_ors = 1,
|
||||||
|
};
|
||||||
|
|
||||||
|
int fsl_ddr_get_dimm_params(dimm_params_t *pdimm,
|
||||||
|
unsigned int controller_number,
|
||||||
|
unsigned int dimm_number)
|
||||||
|
{
|
||||||
|
const char dimm_model[] = "Fixed DDR4 on board";
|
||||||
|
|
||||||
|
if (((controller_number == 0) && (dimm_number == 0)) ||
|
||||||
|
((controller_number == 1) && (dimm_number == 0))) {
|
||||||
|
memcpy(pdimm, &ddr_raw_timing, sizeof(dimm_params_t));
|
||||||
|
memset(pdimm->mpart, 0, sizeof(pdimm->mpart));
|
||||||
|
memcpy(pdimm->mpart, dimm_model, sizeof(dimm_model) - 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(CONFIG_DEEP_SLEEP)
|
#if defined(CONFIG_DEEP_SLEEP)
|
||||||
void board_mem_sleep_setup(void)
|
void board_mem_sleep_setup(void)
|
||||||
{
|
{
|
||||||
@ -155,8 +230,9 @@ phys_size_t initdram(int board_type)
|
|||||||
phys_size_t dram_size;
|
phys_size_t dram_size;
|
||||||
|
|
||||||
#if defined(CONFIG_SPL_BUILD) || !defined(CONFIG_RAMBOOT_PBL)
|
#if defined(CONFIG_SPL_BUILD) || !defined(CONFIG_RAMBOOT_PBL)
|
||||||
|
#ifndef CONFIG_SYS_DDR_RAW_TIMING
|
||||||
puts("Initializing....using SPD\n");
|
puts("Initializing....using SPD\n");
|
||||||
|
#endif
|
||||||
dram_size = fsl_ddr_sdram();
|
dram_size = fsl_ddr_sdram();
|
||||||
dram_size = setup_ddr_tlbs(dram_size / 0x100000);
|
dram_size = setup_ddr_tlbs(dram_size / 0x100000);
|
||||||
dram_size *= 0x100000;
|
dram_size *= 0x100000;
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2014 Freescale Semiconductor, Inc.
|
* Copyright 2014 Freescale Semiconductor, Inc.
|
||||||
*
|
*
|
||||||
|
* Shengzhou Liu <Shengzhou.Liu@freescale.com>
|
||||||
|
*
|
||||||
* SPDX-License-Identifier: GPL-2.0+
|
* SPDX-License-Identifier: GPL-2.0+
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -56,6 +58,7 @@ int board_eth_init(bd_t *bis)
|
|||||||
fm_info_set_phy_address(FM1_DTSEC4, RGMII_PHY1_ADDR);
|
fm_info_set_phy_address(FM1_DTSEC4, RGMII_PHY1_ADDR);
|
||||||
|
|
||||||
switch (srds_s1) {
|
switch (srds_s1) {
|
||||||
|
#ifdef CONFIG_T1024RDB
|
||||||
case 0x95:
|
case 0x95:
|
||||||
/* set the on-board RGMII2 PHY */
|
/* set the on-board RGMII2 PHY */
|
||||||
fm_info_set_phy_address(FM1_DTSEC3, RGMII_PHY2_ADDR);
|
fm_info_set_phy_address(FM1_DTSEC3, RGMII_PHY2_ADDR);
|
||||||
@ -63,10 +66,17 @@ int board_eth_init(bd_t *bis)
|
|||||||
/* set 10G XFI with Aquantia AQR105 PHY */
|
/* set 10G XFI with Aquantia AQR105 PHY */
|
||||||
fm_info_set_phy_address(FM1_10GEC1, FM1_10GEC1_PHY_ADDR);
|
fm_info_set_phy_address(FM1_10GEC1, FM1_10GEC1_PHY_ADDR);
|
||||||
break;
|
break;
|
||||||
|
#endif
|
||||||
|
case 0x6a:
|
||||||
|
case 0x6b:
|
||||||
case 0x77:
|
case 0x77:
|
||||||
case 0x135:
|
case 0x135:
|
||||||
/* set the on-board 2.5G SGMII AQR105 PHY */
|
/* set the on-board 2.5G SGMII AQR105 PHY */
|
||||||
fm_info_set_phy_address(FM1_DTSEC3, SGMII_PHY1_ADDR);
|
fm_info_set_phy_address(FM1_DTSEC3, SGMII_AQR_PHY_ADDR);
|
||||||
|
#ifdef CONFIG_T1023RDB
|
||||||
|
/* set the on-board 1G SGMII RTL8211F PHY */
|
||||||
|
fm_info_set_phy_address(FM1_DTSEC1, SGMII_RTK_PHY_ADDR);
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
printf("SerDes protocol 0x%x is not supported on T102xRDB\n",
|
printf("SerDes protocol 0x%x is not supported on T102xRDB\n",
|
||||||
@ -81,6 +91,14 @@ int board_eth_init(bd_t *bis)
|
|||||||
dev = miiphy_get_dev_by_name(DEFAULT_FM_MDIO_NAME);
|
dev = miiphy_get_dev_by_name(DEFAULT_FM_MDIO_NAME);
|
||||||
fm_info_set_mdio(i, dev);
|
fm_info_set_mdio(i, dev);
|
||||||
break;
|
break;
|
||||||
|
case PHY_INTERFACE_MODE_SGMII:
|
||||||
|
#if defined(CONFIG_T1023RDB)
|
||||||
|
dev = miiphy_get_dev_by_name(DEFAULT_FM_MDIO_NAME);
|
||||||
|
#elif defined(CONFIG_T1024RDB)
|
||||||
|
dev = miiphy_get_dev_by_name(DEFAULT_FM_TGEC_MDIO_NAME);
|
||||||
|
#endif
|
||||||
|
fm_info_set_mdio(i, dev);
|
||||||
|
break;
|
||||||
case PHY_INTERFACE_MODE_SGMII_2500:
|
case PHY_INTERFACE_MODE_SGMII_2500:
|
||||||
dev = miiphy_get_dev_by_name(DEFAULT_FM_TGEC_MDIO_NAME);
|
dev = miiphy_get_dev_by_name(DEFAULT_FM_TGEC_MDIO_NAME);
|
||||||
fm_info_set_mdio(i, dev);
|
fm_info_set_mdio(i, dev);
|
||||||
@ -110,13 +128,16 @@ int board_eth_init(bd_t *bis)
|
|||||||
void board_ft_fman_fixup_port(void *fdt, char *compat, phys_addr_t addr,
|
void board_ft_fman_fixup_port(void *fdt, char *compat, phys_addr_t addr,
|
||||||
enum fm_port port, int offset)
|
enum fm_port port, int offset)
|
||||||
{
|
{
|
||||||
if ((fm_info_get_enet_if(port) == PHY_INTERFACE_MODE_SGMII_2500) &&
|
#if defined(CONFIG_T1024RDB)
|
||||||
(port == FM1_DTSEC3)) {
|
if (((fm_info_get_enet_if(port) == PHY_INTERFACE_MODE_SGMII_2500) ||
|
||||||
|
(fm_info_get_enet_if(port) == PHY_INTERFACE_MODE_SGMII)) &&
|
||||||
|
(port == FM1_DTSEC3)) {
|
||||||
fdt_set_phy_handle(fdt, compat, addr, "sg_2500_aqr105_phy4");
|
fdt_set_phy_handle(fdt, compat, addr, "sg_2500_aqr105_phy4");
|
||||||
fdt_setprop(fdt, offset, "phy-connection-type",
|
fdt_setprop(fdt, offset, "phy-connection-type",
|
||||||
"sgmii-2500", 10);
|
"sgmii-2500", 10);
|
||||||
fdt_status_disabled_by_alias(fdt, "xg_aqr105_phy3");
|
fdt_status_disabled_by_alias(fdt, "xg_aqr105_phy3");
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void fdt_fixup_board_enet(void *fdt)
|
void fdt_fixup_board_enet(void *fdt)
|
||||||
|
8
board/freescale/t102xrdb/t1023_rcw.cfg
Normal file
8
board/freescale/t102xrdb/t1023_rcw.cfg
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
#PBL preamble and RCW header for T1023RDB
|
||||||
|
aa55aa55 010e0100
|
||||||
|
#SerDes Protocol: 0x77
|
||||||
|
#Core/DDR: 1400Mhz/1600MT/s with single source clock
|
||||||
|
0810000e 00000000 00000000 00000000
|
||||||
|
3b800003 00000012 e8104000 21000000
|
||||||
|
00000000 00000000 00000000 00020800
|
||||||
|
00000130 04020200 00000000 00000006
|
@ -18,11 +18,25 @@
|
|||||||
#include <asm/fsl_liodn.h>
|
#include <asm/fsl_liodn.h>
|
||||||
#include <fm_eth.h>
|
#include <fm_eth.h>
|
||||||
#include "t102xrdb.h"
|
#include "t102xrdb.h"
|
||||||
|
#ifdef CONFIG_T1024RDB
|
||||||
#include "cpld.h"
|
#include "cpld.h"
|
||||||
|
#endif
|
||||||
#include "../common/sleep.h"
|
#include "../common/sleep.h"
|
||||||
|
|
||||||
DECLARE_GLOBAL_DATA_PTR;
|
DECLARE_GLOBAL_DATA_PTR;
|
||||||
|
|
||||||
|
#ifdef CONFIG_T1023RDB
|
||||||
|
enum {
|
||||||
|
GPIO1_SD_SEL = 0x00020000, /* GPIO1_14, 0: EMMC, 1:SD/MMC */
|
||||||
|
GPIO1_EMMC_SEL,
|
||||||
|
GPIO1_VBANK0,
|
||||||
|
GPIO1_VBANK4 = 0x00008000, /* GPIO1_16/20/22, 100:vBank4 */
|
||||||
|
GPIO1_VBANK_MASK = 0x00008a00,
|
||||||
|
GPIO1_DIR_OUTPUT = 0x00028a00,
|
||||||
|
GPIO1_GET_VAL,
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
int checkboard(void)
|
int checkboard(void)
|
||||||
{
|
{
|
||||||
struct cpu_type *cpu = gd->arch.cpu;
|
struct cpu_type *cpu = gd->arch.cpu;
|
||||||
@ -34,14 +48,17 @@ int checkboard(void)
|
|||||||
srds_s1 >>= FSL_CORENET2_RCWSR4_SRDS1_PRTCL_SHIFT;
|
srds_s1 >>= FSL_CORENET2_RCWSR4_SRDS1_PRTCL_SHIFT;
|
||||||
|
|
||||||
printf("Board: %sRDB, ", cpu->name);
|
printf("Board: %sRDB, ", cpu->name);
|
||||||
printf("Board rev: 0x%02x CPLD ver: 0x%02x, boot from ",
|
#ifdef CONFIG_T1024RDB
|
||||||
|
printf("Board rev: 0x%02x CPLD ver: 0x%02x, ",
|
||||||
CPLD_READ(hw_ver), CPLD_READ(sw_ver));
|
CPLD_READ(hw_ver), CPLD_READ(sw_ver));
|
||||||
|
#endif
|
||||||
|
printf("boot from ");
|
||||||
|
|
||||||
#ifdef CONFIG_SDCARD
|
#ifdef CONFIG_SDCARD
|
||||||
puts("SD/MMC\n");
|
puts("SD/MMC\n");
|
||||||
#elif CONFIG_SPIFLASH
|
#elif CONFIG_SPIFLASH
|
||||||
puts("SPI\n");
|
puts("SPI\n");
|
||||||
#else
|
#elif defined(CONFIG_T1024RDB)
|
||||||
u8 reg;
|
u8 reg;
|
||||||
|
|
||||||
reg = CPLD_READ(flash_csr);
|
reg = CPLD_READ(flash_csr);
|
||||||
@ -52,17 +69,25 @@ int checkboard(void)
|
|||||||
reg = ((reg & CPLD_LBMAP_MASK) >> CPLD_LBMAP_SHIFT);
|
reg = ((reg & CPLD_LBMAP_MASK) >> CPLD_LBMAP_SHIFT);
|
||||||
printf("NOR vBank%d\n", reg);
|
printf("NOR vBank%d\n", reg);
|
||||||
}
|
}
|
||||||
|
#elif defined(CONFIG_T1023RDB)
|
||||||
|
#ifdef CONFIG_NAND
|
||||||
|
puts("NAND\n");
|
||||||
|
#else
|
||||||
|
printf("NOR vBank%d\n", (t1023rdb_gpio_ctrl(GPIO1_GET_VAL) &
|
||||||
|
GPIO1_VBANK4) >> 15 ? 4 : 0);
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
puts("SERDES Reference Clocks:\n");
|
puts("SERDES Reference Clocks:\n");
|
||||||
if (srds_s1 == 0x95)
|
if (srds_s1 == 0x95)
|
||||||
printf("SD1_CLK1=%s, SD1_CLK2=%s\n", freq[2], freq[0]);
|
printf("SD1_CLK1=%s, SD1_CLK2=%s\n", freq[2], freq[0]);
|
||||||
else
|
else
|
||||||
printf("SD1_CLK1=%s, SD1_CLK2=%s\n", freq[0], freq[0]);
|
printf("SD1_CLK1=%s, SD1_CLK2=%s\n", freq[0], freq[1]);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_T1024RDB
|
||||||
static void board_mux_lane(void)
|
static void board_mux_lane(void)
|
||||||
{
|
{
|
||||||
ccsr_gur_t __iomem *gur = (void *)(CONFIG_SYS_MPC85xx_GUTS_ADDR);
|
ccsr_gur_t __iomem *gur = (void *)(CONFIG_SYS_MPC85xx_GUTS_ADDR);
|
||||||
@ -82,6 +107,7 @@ static void board_mux_lane(void)
|
|||||||
}
|
}
|
||||||
CPLD_WRITE(boot_override, CPLD_OVERRIDE_MUX_EN);
|
CPLD_WRITE(boot_override, CPLD_OVERRIDE_MUX_EN);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
int board_early_init_f(void)
|
int board_early_init_f(void)
|
||||||
{
|
{
|
||||||
@ -124,7 +150,9 @@ int board_early_init_r(void)
|
|||||||
#ifdef CONFIG_SYS_DPAA_QBMAN
|
#ifdef CONFIG_SYS_DPAA_QBMAN
|
||||||
setup_portals();
|
setup_portals();
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef CONFIG_T1024RDB
|
||||||
board_mux_lane();
|
board_mux_lane();
|
||||||
|
#endif
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -170,3 +198,62 @@ int ft_board_setup(void *blob, bd_t *bd)
|
|||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef CONFIG_T1023RDB
|
||||||
|
static u32 t1023rdb_gpio_ctrl(u32 ctrl_type)
|
||||||
|
{
|
||||||
|
ccsr_gpio_t *pgpio = (void *)(CONFIG_SYS_MPC85xx_GPIO_ADDR);
|
||||||
|
u32 gpioval;
|
||||||
|
|
||||||
|
setbits_be32(&pgpio->gpdir, GPIO1_DIR_OUTPUT);
|
||||||
|
gpioval = in_be32(&pgpio->gpdat);
|
||||||
|
|
||||||
|
switch (ctrl_type) {
|
||||||
|
case GPIO1_SD_SEL:
|
||||||
|
gpioval |= GPIO1_SD_SEL;
|
||||||
|
break;
|
||||||
|
case GPIO1_EMMC_SEL:
|
||||||
|
gpioval &= ~GPIO1_SD_SEL;
|
||||||
|
break;
|
||||||
|
case GPIO1_VBANK0:
|
||||||
|
gpioval &= ~GPIO1_VBANK_MASK;
|
||||||
|
break;
|
||||||
|
case GPIO1_VBANK4:
|
||||||
|
gpioval &= ~GPIO1_VBANK_MASK;
|
||||||
|
gpioval |= GPIO1_VBANK4;
|
||||||
|
break;
|
||||||
|
case GPIO1_GET_VAL:
|
||||||
|
return gpioval;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
out_be32(&pgpio->gpdat, gpioval);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int gpio_cmd(cmd_tbl_t *cmdtp, int flag, int argc,
|
||||||
|
char * const argv[])
|
||||||
|
{
|
||||||
|
if (argc < 2)
|
||||||
|
return CMD_RET_USAGE;
|
||||||
|
if (!strcmp(argv[1], "vbank0"))
|
||||||
|
t1023rdb_gpio_ctrl(GPIO1_VBANK0);
|
||||||
|
else if (!strcmp(argv[1], "vbank4"))
|
||||||
|
t1023rdb_gpio_ctrl(GPIO1_VBANK4);
|
||||||
|
else if (!strcmp(argv[1], "sd"))
|
||||||
|
t1023rdb_gpio_ctrl(GPIO1_SD_SEL);
|
||||||
|
else if (!strcmp(argv[1], "EMMC"))
|
||||||
|
t1023rdb_gpio_ctrl(GPIO1_EMMC_SEL);
|
||||||
|
else
|
||||||
|
return CMD_RET_USAGE;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
U_BOOT_CMD(
|
||||||
|
gpio, 2, 0, gpio_cmd,
|
||||||
|
"for vbank0/vbank4/SD/eMMC switch control in runtime",
|
||||||
|
"command (e.g. gpio vbank4)"
|
||||||
|
);
|
||||||
|
#endif
|
||||||
|
@ -9,5 +9,7 @@
|
|||||||
|
|
||||||
void fdt_fixup_board_enet(void *blob);
|
void fdt_fixup_board_enet(void *blob);
|
||||||
void pci_of_setup(void *blob, bd_t *bd);
|
void pci_of_setup(void *blob, bd_t *bd);
|
||||||
|
#ifdef CONFIG_T1023RDB
|
||||||
|
static u32 t1023rdb_gpio_ctrl(u32 ctrl_type);
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
5
configs/T1023RDB_NAND_defconfig
Normal file
5
configs/T1023RDB_NAND_defconfig
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
CONFIG_SPL=y
|
||||||
|
CONFIG_SYS_EXTRA_OPTIONS="PPC_T1023,T1023RDB,RAMBOOT_PBL,SPL_FSL_PBL,NAND"
|
||||||
|
CONFIG_PPC=y
|
||||||
|
CONFIG_MPC85xx=y
|
||||||
|
CONFIG_TARGET_T102XRDB=y
|
5
configs/T1023RDB_SDCARD_defconfig
Normal file
5
configs/T1023RDB_SDCARD_defconfig
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
CONFIG_SPL=y
|
||||||
|
CONFIG_SYS_EXTRA_OPTIONS="PPC_T1023,T1023RDB,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD"
|
||||||
|
CONFIG_PPC=y
|
||||||
|
CONFIG_MPC85xx=y
|
||||||
|
CONFIG_TARGET_T102XRDB=y
|
4
configs/T1023RDB_SECURE_BOOT_defconfig
Normal file
4
configs/T1023RDB_SECURE_BOOT_defconfig
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
CONFIG_SYS_EXTRA_OPTIONS="PPC_T1023,T1023RDB,SECURE_BOOT"
|
||||||
|
CONFIG_PPC=y
|
||||||
|
CONFIG_MPC85xx=y
|
||||||
|
CONFIG_TARGET_T102XRDB=y
|
5
configs/T1023RDB_SPIFLASH_defconfig
Normal file
5
configs/T1023RDB_SPIFLASH_defconfig
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
CONFIG_SPL=y
|
||||||
|
CONFIG_SYS_EXTRA_OPTIONS="PPC_T1023,T1023RDB,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH"
|
||||||
|
CONFIG_PPC=y
|
||||||
|
CONFIG_MPC85xx=y
|
||||||
|
CONFIG_TARGET_T102XRDB=y
|
4
configs/T1023RDB_defconfig
Normal file
4
configs/T1023RDB_defconfig
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
CONFIG_SYS_EXTRA_OPTIONS="PPC_T1023,T1023RDB"
|
||||||
|
CONFIG_PPC=y
|
||||||
|
CONFIG_MPC85xx=y
|
||||||
|
CONFIG_TARGET_T102XRDB=y
|
@ -1,5 +1,5 @@
|
|||||||
CONFIG_SPL=y
|
CONFIG_SPL=y
|
||||||
CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024,RAMBOOT_PBL,SPL_FSL_PBL,NAND"
|
CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024,T1024RDB,RAMBOOT_PBL,SPL_FSL_PBL,NAND"
|
||||||
CONFIG_PPC=y
|
CONFIG_PPC=y
|
||||||
CONFIG_MPC85xx=y
|
CONFIG_MPC85xx=y
|
||||||
CONFIG_TARGET_T102XRDB=y
|
CONFIG_TARGET_T102XRDB=y
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
CONFIG_SPL=y
|
CONFIG_SPL=y
|
||||||
CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD"
|
CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024,T1024RDB,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD"
|
||||||
CONFIG_PPC=y
|
CONFIG_PPC=y
|
||||||
CONFIG_MPC85xx=y
|
CONFIG_MPC85xx=y
|
||||||
CONFIG_TARGET_T102XRDB=y
|
CONFIG_TARGET_T102XRDB=y
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024,SECURE_BOOT"
|
CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024,T1024RDB,SECURE_BOOT"
|
||||||
CONFIG_PPC=y
|
CONFIG_PPC=y
|
||||||
CONFIG_MPC85xx=y
|
CONFIG_MPC85xx=y
|
||||||
CONFIG_TARGET_T102XRDB=y
|
CONFIG_TARGET_T102XRDB=y
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
CONFIG_SPL=y
|
CONFIG_SPL=y
|
||||||
CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH"
|
CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024,T1024RDB,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH"
|
||||||
CONFIG_PPC=y
|
CONFIG_PPC=y
|
||||||
CONFIG_MPC85xx=y
|
CONFIG_MPC85xx=y
|
||||||
CONFIG_TARGET_T102XRDB=y
|
CONFIG_TARGET_T102XRDB=y
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024"
|
CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024,T1024RDB"
|
||||||
CONFIG_PPC=y
|
CONFIG_PPC=y
|
||||||
CONFIG_MPC85xx=y
|
CONFIG_MPC85xx=y
|
||||||
CONFIG_TARGET_T102XRDB=y
|
CONFIG_TARGET_T102XRDB=y
|
||||||
|
@ -11,6 +11,12 @@
|
|||||||
#ifndef __T1024RDB_H
|
#ifndef __T1024RDB_H
|
||||||
#define __T1024RDB_H
|
#define __T1024RDB_H
|
||||||
|
|
||||||
|
#if defined(CONFIG_T1023RDB)
|
||||||
|
#ifdef CONFIG_SPL
|
||||||
|
#define CONFIG_SYS_NO_FLASH
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/* High Level Configuration Options */
|
/* High Level Configuration Options */
|
||||||
#define CONFIG_SYS_GENERIC_BOARD
|
#define CONFIG_SYS_GENERIC_BOARD
|
||||||
#define CONFIG_DISPLAY_BOARDINFO
|
#define CONFIG_DISPLAY_BOARDINFO
|
||||||
@ -35,7 +41,9 @@
|
|||||||
#define CONFIG_ENV_OVERWRITE
|
#define CONFIG_ENV_OVERWRITE
|
||||||
|
|
||||||
/* support deep sleep */
|
/* support deep sleep */
|
||||||
|
#ifdef CONFIG_PPC_T1024
|
||||||
#define CONFIG_DEEP_SLEEP
|
#define CONFIG_DEEP_SLEEP
|
||||||
|
#endif
|
||||||
#if defined(CONFIG_DEEP_SLEEP)
|
#if defined(CONFIG_DEEP_SLEEP)
|
||||||
#define CONFIG_SILENT_CONSOLE
|
#define CONFIG_SILENT_CONSOLE
|
||||||
#define CONFIG_BOARD_EARLY_INIT_F
|
#define CONFIG_BOARD_EARLY_INIT_F
|
||||||
@ -43,7 +51,11 @@
|
|||||||
|
|
||||||
#ifdef CONFIG_RAMBOOT_PBL
|
#ifdef CONFIG_RAMBOOT_PBL
|
||||||
#define CONFIG_SYS_FSL_PBL_PBI board/freescale/t102xrdb/t1024_pbi.cfg
|
#define CONFIG_SYS_FSL_PBL_PBI board/freescale/t102xrdb/t1024_pbi.cfg
|
||||||
|
#if defined(CONFIG_T1024RDB)
|
||||||
#define CONFIG_SYS_FSL_PBL_RCW board/freescale/t102xrdb/t1024_rcw.cfg
|
#define CONFIG_SYS_FSL_PBL_RCW board/freescale/t102xrdb/t1024_rcw.cfg
|
||||||
|
#elif defined(CONFIG_T1023RDB)
|
||||||
|
#define CONFIG_SYS_FSL_PBL_RCW board/freescale/t102xrdb/t1023_rcw.cfg
|
||||||
|
#endif
|
||||||
#define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT
|
#define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT
|
||||||
#define CONFIG_SPL_ENV_SUPPORT
|
#define CONFIG_SPL_ENV_SUPPORT
|
||||||
#define CONFIG_SPL_SERIAL_SUPPORT
|
#define CONFIG_SPL_SERIAL_SUPPORT
|
||||||
@ -177,7 +189,11 @@
|
|||||||
#define CONFIG_ENV_SPI_MODE 0
|
#define CONFIG_ENV_SPI_MODE 0
|
||||||
#define CONFIG_ENV_SIZE 0x2000 /* 8KB */
|
#define CONFIG_ENV_SIZE 0x2000 /* 8KB */
|
||||||
#define CONFIG_ENV_OFFSET 0x100000 /* 1MB */
|
#define CONFIG_ENV_OFFSET 0x100000 /* 1MB */
|
||||||
|
#if defined(CONFIG_T1024RDB)
|
||||||
#define CONFIG_ENV_SECT_SIZE 0x10000
|
#define CONFIG_ENV_SECT_SIZE 0x10000
|
||||||
|
#elif defined(CONFIG_T1023RDB)
|
||||||
|
#define CONFIG_ENV_SECT_SIZE 0x40000
|
||||||
|
#endif
|
||||||
#elif defined(CONFIG_SDCARD)
|
#elif defined(CONFIG_SDCARD)
|
||||||
#define CONFIG_SYS_EXTRA_ENV_RELOC
|
#define CONFIG_SYS_EXTRA_ENV_RELOC
|
||||||
#define CONFIG_ENV_IS_IN_MMC
|
#define CONFIG_ENV_IS_IN_MMC
|
||||||
@ -188,7 +204,11 @@
|
|||||||
#define CONFIG_SYS_EXTRA_ENV_RELOC
|
#define CONFIG_SYS_EXTRA_ENV_RELOC
|
||||||
#define CONFIG_ENV_IS_IN_NAND
|
#define CONFIG_ENV_IS_IN_NAND
|
||||||
#define CONFIG_ENV_SIZE 0x2000
|
#define CONFIG_ENV_SIZE 0x2000
|
||||||
|
#if defined(CONFIG_T1024RDB)
|
||||||
#define CONFIG_ENV_OFFSET (2 * CONFIG_SYS_NAND_BLOCK_SIZE)
|
#define CONFIG_ENV_OFFSET (2 * CONFIG_SYS_NAND_BLOCK_SIZE)
|
||||||
|
#elif defined(CONFIG_T1023RDB)
|
||||||
|
#define CONFIG_ENV_OFFSET (10 * CONFIG_SYS_NAND_BLOCK_SIZE)
|
||||||
|
#endif
|
||||||
#elif defined(CONFIG_SRIO_PCIE_BOOT_SLAVE)
|
#elif defined(CONFIG_SRIO_PCIE_BOOT_SLAVE)
|
||||||
#define CONFIG_ENV_IS_IN_REMOTE
|
#define CONFIG_ENV_IS_IN_REMOTE
|
||||||
#define CONFIG_ENV_ADDR 0xffe20000
|
#define CONFIG_ENV_ADDR 0xffe20000
|
||||||
@ -209,7 +229,7 @@ unsigned long get_board_ddr_clk(void);
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define CONFIG_SYS_CLK_FREQ 100000000
|
#define CONFIG_SYS_CLK_FREQ 100000000
|
||||||
#define CONFIG_DDR_CLK_FREQ 66660000
|
#define CONFIG_DDR_CLK_FREQ 100000000
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* These can be toggled for performance analysis, otherwise use default.
|
* These can be toggled for performance analysis, otherwise use default.
|
||||||
@ -224,6 +244,7 @@ unsigned long get_board_ddr_clk(void);
|
|||||||
#define CONFIG_MEM_INIT_VALUE 0xdeadbeef
|
#define CONFIG_MEM_INIT_VALUE 0xdeadbeef
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#define CONFIG_CMD_MEMTEST
|
||||||
#define CONFIG_SYS_MEMTEST_START 0x00200000 /* memtest works on */
|
#define CONFIG_SYS_MEMTEST_START 0x00200000 /* memtest works on */
|
||||||
#define CONFIG_SYS_MEMTEST_END 0x00400000
|
#define CONFIG_SYS_MEMTEST_END 0x00400000
|
||||||
#define CONFIG_SYS_ALT_MEMTEST
|
#define CONFIG_SYS_ALT_MEMTEST
|
||||||
@ -265,13 +286,18 @@ unsigned long get_board_ddr_clk(void);
|
|||||||
#define CONFIG_SYS_SDRAM_BASE CONFIG_SYS_DDR_SDRAM_BASE
|
#define CONFIG_SYS_SDRAM_BASE CONFIG_SYS_DDR_SDRAM_BASE
|
||||||
#define CONFIG_DIMM_SLOTS_PER_CTLR 1
|
#define CONFIG_DIMM_SLOTS_PER_CTLR 1
|
||||||
#define CONFIG_CHIP_SELECTS_PER_CTRL (4 * CONFIG_DIMM_SLOTS_PER_CTLR)
|
#define CONFIG_CHIP_SELECTS_PER_CTRL (4 * CONFIG_DIMM_SLOTS_PER_CTLR)
|
||||||
|
#define CONFIG_FSL_DDR_INTERACTIVE
|
||||||
|
#if defined(CONFIG_T1024RDB)
|
||||||
#define CONFIG_DDR_SPD
|
#define CONFIG_DDR_SPD
|
||||||
#define CONFIG_SYS_FSL_DDR3
|
#define CONFIG_SYS_FSL_DDR3
|
||||||
|
|
||||||
#define CONFIG_SYS_SPD_BUS_NUM 0
|
#define CONFIG_SYS_SPD_BUS_NUM 0
|
||||||
#define SPD_EEPROM_ADDRESS 0x51
|
#define SPD_EEPROM_ADDRESS 0x51
|
||||||
|
|
||||||
#define CONFIG_SYS_SDRAM_SIZE 4096 /* for fixed parameter use */
|
#define CONFIG_SYS_SDRAM_SIZE 4096 /* for fixed parameter use */
|
||||||
|
#elif defined(CONFIG_T1023RDB)
|
||||||
|
#define CONFIG_SYS_FSL_DDR4
|
||||||
|
#define CONFIG_SYS_DDR_RAW_TIMING
|
||||||
|
#define CONFIG_SYS_SDRAM_SIZE 2048
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* IFC Definitions
|
* IFC Definitions
|
||||||
@ -291,7 +317,12 @@ unsigned long get_board_ddr_clk(void);
|
|||||||
#define CONFIG_SYS_NOR_AMASK IFC_AMASK(128*1024*1024)
|
#define CONFIG_SYS_NOR_AMASK IFC_AMASK(128*1024*1024)
|
||||||
|
|
||||||
/* NOR Flash Timing Params */
|
/* NOR Flash Timing Params */
|
||||||
|
#if defined(CONFIG_T1024RDB)
|
||||||
#define CONFIG_SYS_NOR_CSOR CSOR_NAND_TRHZ_80
|
#define CONFIG_SYS_NOR_CSOR CSOR_NAND_TRHZ_80
|
||||||
|
#elif defined(CONFIG_T1023RDB)
|
||||||
|
#define CONFIG_SYS_NOR_CSOR (CSOR_NOR_ADM_SHIFT(4) | \
|
||||||
|
CSOR_NAND_TRHZ_80 | CSOR_NOR_ADM_SHFT_MODE_EN)
|
||||||
|
#endif
|
||||||
#define CONFIG_SYS_NOR_FTIM0 (FTIM0_NOR_TACSE(0x4) | \
|
#define CONFIG_SYS_NOR_FTIM0 (FTIM0_NOR_TACSE(0x4) | \
|
||||||
FTIM0_NOR_TEADC(0x5) | \
|
FTIM0_NOR_TEADC(0x5) | \
|
||||||
FTIM0_NOR_TEAHC(0x5))
|
FTIM0_NOR_TEAHC(0x5))
|
||||||
@ -315,6 +346,7 @@ unsigned long get_board_ddr_clk(void);
|
|||||||
#define CONFIG_SYS_FLASH_EMPTY_INFO
|
#define CONFIG_SYS_FLASH_EMPTY_INFO
|
||||||
#define CONFIG_SYS_FLASH_BANKS_LIST {CONFIG_SYS_FLASH_BASE_PHYS}
|
#define CONFIG_SYS_FLASH_BANKS_LIST {CONFIG_SYS_FLASH_BASE_PHYS}
|
||||||
|
|
||||||
|
#ifdef CONFIG_T1024RDB
|
||||||
/* CPLD on IFC */
|
/* CPLD on IFC */
|
||||||
#define CONFIG_SYS_CPLD_BASE 0xffdf0000
|
#define CONFIG_SYS_CPLD_BASE 0xffdf0000
|
||||||
#define CONFIG_SYS_CPLD_BASE_PHYS (0xf00000000ull | CONFIG_SYS_CPLD_BASE)
|
#define CONFIG_SYS_CPLD_BASE_PHYS (0xf00000000ull | CONFIG_SYS_CPLD_BASE)
|
||||||
@ -336,6 +368,7 @@ unsigned long get_board_ddr_clk(void);
|
|||||||
FTIM2_GPCM_TCH(0x8) | \
|
FTIM2_GPCM_TCH(0x8) | \
|
||||||
FTIM2_GPCM_TWP(0x1f))
|
FTIM2_GPCM_TWP(0x1f))
|
||||||
#define CONFIG_SYS_CS2_FTIM3 0x0
|
#define CONFIG_SYS_CS2_FTIM3 0x0
|
||||||
|
#endif
|
||||||
|
|
||||||
/* NAND Flash on IFC */
|
/* NAND Flash on IFC */
|
||||||
#define CONFIG_NAND_FSL_IFC
|
#define CONFIG_NAND_FSL_IFC
|
||||||
@ -352,6 +385,7 @@ unsigned long get_board_ddr_clk(void);
|
|||||||
| CSPR_V)
|
| CSPR_V)
|
||||||
#define CONFIG_SYS_NAND_AMASK IFC_AMASK(64*1024)
|
#define CONFIG_SYS_NAND_AMASK IFC_AMASK(64*1024)
|
||||||
|
|
||||||
|
#if defined(CONFIG_T1024RDB)
|
||||||
#define CONFIG_SYS_NAND_CSOR (CSOR_NAND_ECC_ENC_EN /* ECC on encode */ \
|
#define CONFIG_SYS_NAND_CSOR (CSOR_NAND_ECC_ENC_EN /* ECC on encode */ \
|
||||||
| CSOR_NAND_ECC_DEC_EN /* ECC on decode */ \
|
| CSOR_NAND_ECC_DEC_EN /* ECC on decode */ \
|
||||||
| CSOR_NAND_ECC_MODE_4 /* 4-bit ECC */ \
|
| CSOR_NAND_ECC_MODE_4 /* 4-bit ECC */ \
|
||||||
@ -359,9 +393,17 @@ unsigned long get_board_ddr_clk(void);
|
|||||||
| CSOR_NAND_PGS_4K /* Page Size = 4K */ \
|
| CSOR_NAND_PGS_4K /* Page Size = 4K */ \
|
||||||
| CSOR_NAND_SPRZ_224 /* Spare size = 224 */ \
|
| CSOR_NAND_SPRZ_224 /* Spare size = 224 */ \
|
||||||
| CSOR_NAND_PB(64)) /*Pages Per Block = 64*/
|
| CSOR_NAND_PB(64)) /*Pages Per Block = 64*/
|
||||||
|
#define CONFIG_SYS_NAND_BLOCK_SIZE (512 * 1024)
|
||||||
|
#elif defined(CONFIG_T1023RDB)
|
||||||
|
#define CONFIG_SYS_NAND_CSOR (CSOR_NAND_RAL_3 /* RAL 3Bytes */ \
|
||||||
|
| CSOR_NAND_RAL_3 /* RAL 3Bytes */ \
|
||||||
|
| CSOR_NAND_PGS_2K /* Page Size = 2K */ \
|
||||||
|
| CSOR_NAND_SPRZ_128 /* Spare size = 128 */ \
|
||||||
|
| CSOR_NAND_PB(64)) /*Pages Per Block = 64*/
|
||||||
|
#define CONFIG_SYS_NAND_BLOCK_SIZE (128 * 1024)
|
||||||
|
#endif
|
||||||
|
|
||||||
#define CONFIG_SYS_NAND_ONFI_DETECTION
|
#define CONFIG_SYS_NAND_ONFI_DETECTION
|
||||||
|
|
||||||
/* ONFI NAND Flash mode0 Timing Params */
|
/* ONFI NAND Flash mode0 Timing Params */
|
||||||
#define CONFIG_SYS_NAND_FTIM0 (FTIM0_NAND_TCCST(0x07) | \
|
#define CONFIG_SYS_NAND_FTIM0 (FTIM0_NAND_TCCST(0x07) | \
|
||||||
FTIM0_NAND_TWP(0x18) | \
|
FTIM0_NAND_TWP(0x18) | \
|
||||||
@ -381,8 +423,6 @@ unsigned long get_board_ddr_clk(void);
|
|||||||
#define CONFIG_SYS_MAX_NAND_DEVICE 1
|
#define CONFIG_SYS_MAX_NAND_DEVICE 1
|
||||||
#define CONFIG_CMD_NAND
|
#define CONFIG_CMD_NAND
|
||||||
|
|
||||||
#define CONFIG_SYS_NAND_BLOCK_SIZE (512 * 1024)
|
|
||||||
|
|
||||||
#if defined(CONFIG_NAND)
|
#if defined(CONFIG_NAND)
|
||||||
#define CONFIG_SYS_CSPR0_EXT CONFIG_SYS_NAND_CSPR_EXT
|
#define CONFIG_SYS_CSPR0_EXT CONFIG_SYS_NAND_CSPR_EXT
|
||||||
#define CONFIG_SYS_CSPR0 CONFIG_SYS_NAND_CSPR
|
#define CONFIG_SYS_CSPR0 CONFIG_SYS_NAND_CSPR
|
||||||
@ -536,7 +576,11 @@ unsigned long get_board_ddr_clk(void);
|
|||||||
*/
|
*/
|
||||||
#define CONFIG_FSL_ESPI
|
#define CONFIG_FSL_ESPI
|
||||||
#define CONFIG_SPI_FLASH
|
#define CONFIG_SPI_FLASH
|
||||||
|
#if defined(CONFIG_T1024RDB)
|
||||||
#define CONFIG_SPI_FLASH_STMICRO
|
#define CONFIG_SPI_FLASH_STMICRO
|
||||||
|
#elif defined(CONFIG_T1023RDB)
|
||||||
|
#define CONFIG_SPI_FLASH_SPANSION
|
||||||
|
#endif
|
||||||
#define CONFIG_CMD_SF
|
#define CONFIG_CMD_SF
|
||||||
#define CONFIG_SPI_FLASH_BAR
|
#define CONFIG_SPI_FLASH_BAR
|
||||||
#define CONFIG_SF_DEFAULT_SPEED 10000000
|
#define CONFIG_SF_DEFAULT_SPEED 10000000
|
||||||
@ -736,8 +780,13 @@ unsigned long get_board_ddr_clk(void);
|
|||||||
#define CONFIG_SYS_QE_FW_ADDR (512 * 0x920)
|
#define CONFIG_SYS_QE_FW_ADDR (512 * 0x920)
|
||||||
#elif defined(CONFIG_NAND)
|
#elif defined(CONFIG_NAND)
|
||||||
#define CONFIG_SYS_QE_FMAN_FW_IN_NAND
|
#define CONFIG_SYS_QE_FMAN_FW_IN_NAND
|
||||||
|
#if defined(CONFIG_T1024RDB)
|
||||||
#define CONFIG_SYS_FMAN_FW_ADDR (3 * CONFIG_SYS_NAND_BLOCK_SIZE)
|
#define CONFIG_SYS_FMAN_FW_ADDR (3 * CONFIG_SYS_NAND_BLOCK_SIZE)
|
||||||
#define CONFIG_SYS_QE_FW_ADDR (4 * CONFIG_SYS_NAND_BLOCK_SIZE)
|
#define CONFIG_SYS_QE_FW_ADDR (4 * CONFIG_SYS_NAND_BLOCK_SIZE)
|
||||||
|
#elif defined(CONFIG_T1023RDB)
|
||||||
|
#define CONFIG_SYS_FMAN_FW_ADDR (11 * CONFIG_SYS_NAND_BLOCK_SIZE)
|
||||||
|
#define CONFIG_SYS_QE_FW_ADDR (12 * CONFIG_SYS_NAND_BLOCK_SIZE)
|
||||||
|
#endif
|
||||||
#elif defined(CONFIG_SRIO_PCIE_BOOT_SLAVE)
|
#elif defined(CONFIG_SRIO_PCIE_BOOT_SLAVE)
|
||||||
/*
|
/*
|
||||||
* Slave has no ucode locally, it can fetch this from remote. When implementing
|
* Slave has no ucode locally, it can fetch this from remote. When implementing
|
||||||
@ -762,10 +811,16 @@ unsigned long get_board_ddr_clk(void);
|
|||||||
#define CONFIG_PHYLIB_10G
|
#define CONFIG_PHYLIB_10G
|
||||||
#define CONFIG_PHY_REALTEK
|
#define CONFIG_PHY_REALTEK
|
||||||
#define CONFIG_PHY_AQUANTIA
|
#define CONFIG_PHY_AQUANTIA
|
||||||
|
#if defined(CONFIG_T1024RDB)
|
||||||
#define RGMII_PHY1_ADDR 0x2
|
#define RGMII_PHY1_ADDR 0x2
|
||||||
#define RGMII_PHY2_ADDR 0x6
|
#define RGMII_PHY2_ADDR 0x6
|
||||||
#define SGMII_PHY1_ADDR 0x2
|
#define SGMII_AQR_PHY_ADDR 0x2
|
||||||
#define FM1_10GEC1_PHY_ADDR 0x1
|
#define FM1_10GEC1_PHY_ADDR 0x1
|
||||||
|
#elif defined(CONFIG_T1023RDB)
|
||||||
|
#define RGMII_PHY1_ADDR 0x1
|
||||||
|
#define SGMII_RTK_PHY_ADDR 0x3
|
||||||
|
#define SGMII_AQR_PHY_ADDR 0x2
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_FMAN_ENET
|
#ifdef CONFIG_FMAN_ENET
|
||||||
@ -855,21 +910,23 @@ unsigned long get_board_ddr_clk(void);
|
|||||||
*/
|
*/
|
||||||
#define CONFIG_ROOTPATH "/opt/nfsroot"
|
#define CONFIG_ROOTPATH "/opt/nfsroot"
|
||||||
#define CONFIG_BOOTFILE "uImage"
|
#define CONFIG_BOOTFILE "uImage"
|
||||||
#define CONFIG_UBOOTPATH "u-boot.bin" /* U-Boot image on TFTP server */
|
#define CONFIG_UBOOTPATH u-boot.bin /* U-Boot image on TFTP server */
|
||||||
#define CONFIG_LOADADDR 1000000 /* default location for tftp, bootm */
|
#define CONFIG_LOADADDR 1000000 /* default location for tftp, bootm */
|
||||||
#define CONFIG_BOOTDELAY 10 /* -1 disables auto-boot */
|
#define CONFIG_BOOTDELAY 10 /* -1 disables auto-boot */
|
||||||
#define CONFIG_BAUDRATE 115200
|
#define CONFIG_BAUDRATE 115200
|
||||||
#define __USB_PHY_TYPE utmi
|
#define __USB_PHY_TYPE utmi
|
||||||
|
|
||||||
#ifdef CONFIG_PPC_T1024
|
#ifdef CONFIG_PPC_T1024
|
||||||
#define CONFIG_BOARDNAME "t1024rdb"
|
#define CONFIG_BOARDNAME t1024rdb
|
||||||
|
#define BANK_INTLV cs0_cs1
|
||||||
#else
|
#else
|
||||||
#define CONFIG_BOARDNAME "t1023rdb"
|
#define CONFIG_BOARDNAME t1023rdb
|
||||||
|
#define BANK_INTLV null
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||||
"hwconfig=fsl_ddr:ctlr_intlv=cacheline," \
|
"hwconfig=fsl_ddr:ctlr_intlv=cacheline," \
|
||||||
"bank_intlv=cs0_cs1\0" \
|
"bank_intlv=" __stringify(BANK_INTLV) "\0" \
|
||||||
"usb1:dr_mode=host,phy_type=" __stringify(__USB_PHY_TYPE) "\0" \
|
"usb1:dr_mode=host,phy_type=" __stringify(__USB_PHY_TYPE) "\0" \
|
||||||
"ramdiskfile=" __stringify(CONFIG_BOARDNAME) "/ramdisk.uboot\0" \
|
"ramdiskfile=" __stringify(CONFIG_BOARDNAME) "/ramdisk.uboot\0" \
|
||||||
"fdtfile=" __stringify(CONFIG_BOARDNAME) "/" \
|
"fdtfile=" __stringify(CONFIG_BOARDNAME) "/" \
|
||||||
|
Loading…
Reference in New Issue
Block a user