xref: /OK3568_Linux_fs/u-boot/board/freescale/t4qds/README (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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