1*4882a593SmuzhiyunOverview 2*4882a593Smuzhiyun-------- 3*4882a593SmuzhiyunThe T4240QDS is a high-performance computing evaluation, development and test 4*4882a593Smuzhiyunplatform supporting the T4240 QorIQ™ Power Architecture™ processor. T4240QDS is 5*4882a593Smuzhiyunoptimized to support the high-bandwidth DDR3 memory ports, as well as the 6*4882a593Smuzhiyunhighly-configurable SerDes ports. The system is lead-free and RoHS-compliant. 7*4882a593Smuzhiyun 8*4882a593SmuzhiyunBoard Features 9*4882a593Smuzhiyun SERDES Connections 10*4882a593Smuzhiyun 32 lanes grouped into four 8-lane banks 11*4882a593Smuzhiyun Two “front side” banks dedicated to Ethernet 12*4882a593Smuzhiyun - High-speed crosspoint switch fabric on selected lanes 13*4882a593Smuzhiyun - Two PCI Express slots with side-band connector supporting 14*4882a593Smuzhiyun - SGMII 15*4882a593Smuzhiyun - XAUI 16*4882a593Smuzhiyun - HiGig 17*4882a593Smuzhiyun - I-pass connectors allow board-to-board and loopback support 18*4882a593Smuzhiyun Two “back side” banks dedicated to other protocols 19*4882a593Smuzhiyun - High-speed crosspoint switch fabric on all lanes 20*4882a593Smuzhiyun - Four PCI Express slots with side-band connector supporting 21*4882a593Smuzhiyun - PCI Express 3.0 22*4882a593Smuzhiyun - SATA 2.0 23*4882a593Smuzhiyun - SRIO 2.0 24*4882a593Smuzhiyun - Supports 4X Aurora debug with two connectors 25*4882a593Smuzhiyun DDR Controllers 26*4882a593Smuzhiyun Three independant 64-bit DDR3 controllers 27*4882a593Smuzhiyun Supports rates of 1866 up to 2133 MHz data-rate 28*4882a593Smuzhiyun Supports two DDR3/DDR3LP UDIMM/RDIMMs per controller 29*4882a593Smuzhiyun DDR power supplies 1.5V to all devices with automatic tracking of VTT. 30*4882a593Smuzhiyun Power software-switchable to 1.35V if software detects all DDR3LP devices. 31*4882a593Smuzhiyun MT9JSF25672AZ-2G1KZESZF has been tested at 1333, 1600, 1867, 2000 and 32*4882a593Smuzhiyun 2133MT/s speeds. For 1867MT/s and above, read-to-write turnaround time 33*4882a593Smuzhiyun increases by 1 clock. 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun IFC/Local Bus 36*4882a593Smuzhiyun NAND flash: 8-bit, async or sync, up to 2GB. 37*4882a593Smuzhiyun NOR: 16-bit, Address/Data Multiplexed (ADM), up to 128 MB 38*4882a593Smuzhiyun NOR: 8-bit or 16-bit, non-multiplexed, up to 512MB 39*4882a593Smuzhiyun - NOR devices support 16 virtual banks 40*4882a593Smuzhiyun GASIC: Minimal target within Qixis FPGA 41*4882a593Smuzhiyun PromJET rapid memory download support 42*4882a593Smuzhiyun Address demultiplexing handled within FPGA. 43*4882a593Smuzhiyun - Flexible demux allows 8 or 16 bit evaluation. 44*4882a593Smuzhiyun IFC Debug/Development card 45*4882a593Smuzhiyun - Support for 32-bit devices 46*4882a593Smuzhiyun Ethernet 47*4882a593Smuzhiyun Support two on-board RGMII 10/100/1G ethernet ports. 48*4882a593Smuzhiyun SGMII and XAUI support via SERDES block (see above). 49*4882a593Smuzhiyun 1588 support via Symmetricom board. 50*4882a593Smuzhiyun QIXIS System Logic FPGA 51*4882a593Smuzhiyun Manages system power and reset sequencing 52*4882a593Smuzhiyun Manages DUT, board, clock, etc. configuration for dynamic shmoo 53*4882a593Smuzhiyun Collects V-I-T data in background for code/power profiling. 54*4882a593Smuzhiyun Supports legacy TMT test features (POSt, IRS, SYSCLK-synchronous assertion) 55*4882a593Smuzhiyun General fault monitoring and logging 56*4882a593Smuzhiyun Runs from ATX “hot” power rails allowing operation while system is off. 57*4882a593Smuzhiyun Clocks 58*4882a593Smuzhiyun System and DDR clock (SYSCLK, “DDRCLK”) 59*4882a593Smuzhiyun - Switch selectable to one of 16 common settings in the interval 33MHz-166MHz. 60*4882a593Smuzhiyun - Software selectable in 1MHz increments from 1-200MHz. 61*4882a593Smuzhiyun SERDES clocks 62*4882a593Smuzhiyun - Provides clocks to all SerDes blocks and slots 63*4882a593Smuzhiyun - 100, 125 and 156.25 MHz 64*4882a593Smuzhiyun Power Supplies 65*4882a593Smuzhiyun Dedicated regulators for VDD 66*4882a593Smuzhiyun - Adjustable from (0.7V to 1.3V at 80A 67*4882a593Smuzhiyun - Regulators can be controlled by VID and/or software 68*4882a593Smuzhiyun Dedicated regulator for GVDD_PL: 1.35/1.5V at 22A 69*4882a593Smuzhiyun - VTT/MVREF automatically track operating voltage 70*4882a593Smuzhiyun Dedicated regulators/filters for AVDD supplies 71*4882a593Smuzhiyun Dedicated regulators for other supplies: OVDD, BVDD, DVDD, LVDD, POVDD, etc. 72*4882a593Smuzhiyun USB 73*4882a593Smuzhiyun Supports two USB 2.0 ports with integrated PHYs 74*4882a593Smuzhiyun - One type A, one type micro-AB with 1.0A power per port. 75*4882a593Smuzhiyun Other IO 76*4882a593Smuzhiyun eSDHC/MMC 77*4882a593Smuzhiyun - SDHC card slot 78*4882a593Smuzhiyun eSPI port 79*4882a593Smuzhiyun - High-speed serial flash 80*4882a593Smuzhiyun Two Serial port 81*4882a593Smuzhiyun Four I2C ports 82*4882a593Smuzhiyun XFI 83*4882a593Smuzhiyun XFI is supported on T4QDS-XFI board which removed slot3 and routed 84*4882a593Smuzhiyun four Lanes A/B/C/D to a SFP+ cages, which to house fiber cable or 85*4882a593Smuzhiyun direct attach cable(copper), the copper cable is used to emulate 86*4882a593Smuzhiyun 10GBASE-KR scenario. 87*4882a593Smuzhiyun So, for XFI usage, there are two scenarios, one will use fiber cable, 88*4882a593Smuzhiyun another will use copper cable. An hwconfig env "fsl_10gkr_copper" is 89*4882a593Smuzhiyun introduced to indicate a XFI port will use copper cable, and U-Boot 90*4882a593Smuzhiyun will fixup the dtb accordingly. 91*4882a593Smuzhiyun It's used as: fsl_10gkr_copper:<10g_mac_name> 92*4882a593Smuzhiyun The <10g_mac_name> can be fm1_10g1, fm1_10g2, fm2_10g1, fm2_10g2, they 93*4882a593Smuzhiyun do not have to be coexist in hwconfig. If a MAC is listed in the env 94*4882a593Smuzhiyun "fsl_10gkr_copper", it will use copper cable, otherwise, fiber cable 95*4882a593Smuzhiyun will be used by default. 96*4882a593Smuzhiyun for ex. set "fsl_10gkr_copper:fm1_10g1,fm1_10g2,fm2_10g1,fm2_10g2" in 97*4882a593Smuzhiyun hwconfig, then both four XFI ports will use copper cable. 98*4882a593Smuzhiyun set "fsl_10gkr_copper:fm1_10g1,fm1_10g2" in hwconfig, then first two 99*4882a593Smuzhiyun XFI ports will use copper cable, the other two XFI ports will use fiber 100*4882a593Smuzhiyun cable. 101*4882a593Smuzhiyun 102*4882a593SmuzhiyunMemory map 103*4882a593Smuzhiyun---------- 104*4882a593SmuzhiyunThe addresses in brackets are physical addresses. 105*4882a593Smuzhiyun 106*4882a593Smuzhiyun0x0_0000_0000 (0x0_0000_0000) - 0x0_7fff_ffff 2GB DDR (more than 2GB is initialized but not mapped under with TLB) 107*4882a593Smuzhiyun0x0_8000_0000 (0xc_0000_0000) - 0x0_dfff_ffff 1.5GB PCIE memory 108*4882a593Smuzhiyun0x0_f000_0000 (0xf_0000_0000) - 0x0_f1ff_ffff 32MB DCSR (includes trace buffers) 109*4882a593Smuzhiyun0x0_f400_0000 (0xf_f400_0000) - 0x0_f5ff_ffff 32MB BMan 110*4882a593Smuzhiyun0x0_f600_0000 (0xf_f600_0000) - 0x0_f7ff_ffff 32MB QMan 111*4882a593Smuzhiyun0x0_f800_0000 (0xf_f800_0000) - 0x0_f803_ffff 256KB PCIE IO 112*4882a593Smuzhiyun0x0_e000_0000 (0xf_e000_0000) - 0x0_efff_ffff 256MB NOR flash 113*4882a593Smuzhiyun0x0_fe00_0000 (0xf_fe00_0000) - 0x0_feff_ffff 16MB CCSR 114*4882a593Smuzhiyun0x0_ffdf_0000 (0xf_ffdf_0000) - 0x0_ffdf_03ff 4KB QIXIS 115*4882a593Smuzhiyun0x0_ffff_f000 (0x0_7fff_fff0) - 0x0_ffff_ffff 4KB Boot page translation for secondary cores 116*4882a593Smuzhiyun 117*4882a593SmuzhiyunThe physical address of the last (boot page translation) varies with the actual DDR size. 118*4882a593Smuzhiyun 119*4882a593SmuzhiyunVoltage ID and VDD override 120*4882a593Smuzhiyun-------------------- 121*4882a593SmuzhiyunT4240 has a VID feature. U-Boot reads the VID efuses and adjust the voltage 122*4882a593Smuzhiyunaccordingly. The voltage can also be override by command vdd_override. The 123*4882a593Smuzhiyunsyntax is 124*4882a593Smuzhiyun 125*4882a593Smuzhiyunvdd_override <voltage in mV>, eg. 1050 is for 1.050v. 126*4882a593Smuzhiyun 127*4882a593SmuzhiyunUpon success, the actual voltage will be read back. The value is checked 128*4882a593Smuzhiyunfor safety and any invalid value will not adjust the voltage. 129*4882a593Smuzhiyun 130*4882a593SmuzhiyunAnother way to override VDD is to use environmental variable, in case of using 131*4882a593Smuzhiyuncommand is too late for some debugging. The syntax is 132*4882a593Smuzhiyun 133*4882a593Smuzhiyunsetenv t4240qds_vdd_mv <voltage in mV> 134*4882a593Smuzhiyunsaveenv 135*4882a593Smuzhiyunreset 136*4882a593Smuzhiyun 137*4882a593SmuzhiyunThe override voltage takes effect when booting. 138*4882a593Smuzhiyun 139*4882a593SmuzhiyunNote: voltage adjustment needs to be done step by step. Changing voltage too 140*4882a593Smuzhiyunrapidly may cause current surge. The voltage stepping is done by software. 141*4882a593SmuzhiyunUsers can set the final voltage directly. 142*4882a593Smuzhiyun 143*4882a593Smuzhiyun2-stage NAND/SD boot loader 144*4882a593Smuzhiyun------------------------------- 145*4882a593SmuzhiyunPBL initializes the internal SRAM and copy SPL(160K) in SRAM. 146*4882a593SmuzhiyunSPL further initialise DDR using SPD and environment variables 147*4882a593Smuzhiyunand copy U-Boot(768 KB) from NAND/SD device to DDR. 148*4882a593SmuzhiyunFinally SPL transers control to U-Boot for futher booting. 149*4882a593Smuzhiyun 150*4882a593SmuzhiyunSPL has following features: 151*4882a593Smuzhiyun - Executes within 256K 152*4882a593Smuzhiyun - No relocation required 153*4882a593Smuzhiyun 154*4882a593SmuzhiyunRun time view of SPL framework 155*4882a593Smuzhiyun------------------------------------------------- 156*4882a593Smuzhiyun|Area | Address | 157*4882a593Smuzhiyun------------------------------------------------- 158*4882a593Smuzhiyun|SecureBoot header | 0xFFFC0000 (32KB) | 159*4882a593Smuzhiyun------------------------------------------------- 160*4882a593Smuzhiyun|GD, BD | 0xFFFC8000 (4KB) | 161*4882a593Smuzhiyun------------------------------------------------- 162*4882a593Smuzhiyun|ENV | 0xFFFC9000 (8KB) | 163*4882a593Smuzhiyun------------------------------------------------- 164*4882a593Smuzhiyun|HEAP | 0xFFFCB000 (50KB) | 165*4882a593Smuzhiyun------------------------------------------------- 166*4882a593Smuzhiyun|STACK | 0xFFFD8000 (22KB) | 167*4882a593Smuzhiyun------------------------------------------------- 168*4882a593Smuzhiyun|U-Boot SPL | 0xFFFD8000 (160KB) | 169*4882a593Smuzhiyun------------------------------------------------- 170*4882a593Smuzhiyun 171*4882a593SmuzhiyunNAND Flash memory Map on T4QDS 172*4882a593Smuzhiyun-------------------------------------------------------------- 173*4882a593SmuzhiyunStart End Definition Size 174*4882a593Smuzhiyun0x000000 0x0FFFFF U-Boot img 1MB 175*4882a593Smuzhiyun0x140000 0x15FFFF U-Boot env 128KB 176*4882a593Smuzhiyun0x160000 0x17FFFF FMAN Ucode 128KB 177*4882a593Smuzhiyun 178*4882a593SmuzhiyunMicro SD Card memory Map on T4QDS 179*4882a593Smuzhiyun---------------------------------------------------- 180*4882a593SmuzhiyunBlock #blocks Definition Size 181*4882a593Smuzhiyun0x008 2048 U-Boot img 1MB 182*4882a593Smuzhiyun0x800 0016 U-Boot env 8KB 183*4882a593Smuzhiyun0x820 0128 FMAN ucode 64KB 184*4882a593Smuzhiyun 185*4882a593SmuzhiyunSwitch Settings: (ON is 1, OFF is 0) 186*4882a593Smuzhiyun=============== 187*4882a593SmuzhiyunNAND boot SW setting: 188*4882a593SmuzhiyunSW1[1:8] = 10000010 189*4882a593SmuzhiyunSW2[1.1] = 0 190*4882a593SmuzhiyunSW6[1:4] = 1001 191*4882a593Smuzhiyun 192*4882a593SmuzhiyunSD boot SW setting: 193*4882a593SmuzhiyunSW1[1:8] = 00100000 194*4882a593SmuzhiyunSW2[1.1] = 0 195