xref: /OK3568_Linux_fs/u-boot/board/freescale/t208xqds/README (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunThe T2080QDS is a high-performance computing evaluation, development and
2*4882a593Smuzhiyuntest platform supporting the T2080 QorIQ Power Architecture processor.
3*4882a593Smuzhiyun
4*4882a593SmuzhiyunT2080 SoC Overview
5*4882a593Smuzhiyun------------------
6*4882a593SmuzhiyunThe T2080 QorIQ multicore processor combines four dual-threaded e6500 Power
7*4882a593SmuzhiyunArchitecture processor cores with high-performance datapath acceleration
8*4882a593Smuzhiyunlogic and network and peripheral bus interfaces required for networking,
9*4882a593Smuzhiyuntelecom/datacom, wireless infrastructure, and mil/aerospace applications.
10*4882a593Smuzhiyun
11*4882a593SmuzhiyunT2080 includes the following functions and features:
12*4882a593Smuzhiyun - Four dual-threads 64-bit Power architecture e6500 cores, up to 1.8GHz
13*4882a593Smuzhiyun - 2MB L2 cache and 512KB CoreNet platform cache (CPC)
14*4882a593Smuzhiyun - Hierarchical interconnect fabric
15*4882a593Smuzhiyun - One 32-/64-bit DDR3/3L SDRAM memory controllers with ECC and interleaving
16*4882a593Smuzhiyun - Data Path Acceleration Architecture (DPAA) incorporating acceleration
17*4882a593Smuzhiyun - 16 SerDes lanes up to 10.3125 GHz
18*4882a593Smuzhiyun - 8 Ethernet interfaces, supporting combinations of the following:
19*4882a593Smuzhiyun   - Up to four 10 Gbps Ethernet MACs
20*4882a593Smuzhiyun   - Up to eight 1 Gbps Ethernet MACs
21*4882a593Smuzhiyun   - Up to four 2.5 Gbps Ethernet MACs
22*4882a593Smuzhiyun - High-speed peripheral interfaces
23*4882a593Smuzhiyun   - Four PCI Express controllers (two PCIe 2.0 and two PCIe 3.0 with SR-IOV)
24*4882a593Smuzhiyun   - Two Serial RapidIO 2.0 controllers/ports running at up to 5 GHz
25*4882a593Smuzhiyun - Additional peripheral interfaces
26*4882a593Smuzhiyun   - Two serial ATA (SATA 2.0) controllers
27*4882a593Smuzhiyun   - Two high-speed USB 2.0 controllers with integrated PHY
28*4882a593Smuzhiyun   - Enhanced secure digital host controller (SD/SDHC/SDXC/eMMC)
29*4882a593Smuzhiyun   - Enhanced serial peripheral interface (eSPI)
30*4882a593Smuzhiyun   - Four I2C controllers
31*4882a593Smuzhiyun   - Four 2-pin UARTs or two 4-pin UARTs
32*4882a593Smuzhiyun   - Integrated Flash Controller supporting NAND and NOR flash
33*4882a593Smuzhiyun - Three eight-channel DMA engines
34*4882a593Smuzhiyun - Support for hardware virtualization and partitioning enforcement
35*4882a593Smuzhiyun - QorIQ Platform's Trust Architecture 2.0
36*4882a593Smuzhiyun
37*4882a593SmuzhiyunDifferences between T2080 and T2081
38*4882a593Smuzhiyun-----------------------------------
39*4882a593Smuzhiyun  Feature		T2080	 T2081
40*4882a593Smuzhiyun  1G Ethernet numbers:  8	 6
41*4882a593Smuzhiyun  10G Ethernet numbers: 4	 2
42*4882a593Smuzhiyun  SerDes lanes:		16	 8
43*4882a593Smuzhiyun  Serial RapidIO,RMan:  2	 no
44*4882a593Smuzhiyun  SATA Controller:	2	 no
45*4882a593Smuzhiyun  Aurora:		yes	 no
46*4882a593Smuzhiyun  SoC Package:		896-pins 780-pins
47*4882a593Smuzhiyun
48*4882a593Smuzhiyun
49*4882a593SmuzhiyunT2080QDS feature overview
50*4882a593Smuzhiyun-------------------------
51*4882a593SmuzhiyunProcessor:
52*4882a593Smuzhiyun - T2080 SoC integrating four 64-bit dual-threads e6500 cores up to 1.8GHz
53*4882a593SmuzhiyunMemory:
54*4882a593Smuzhiyun - Single memory controller capable of supporting DDR3 and DDR3-LV devices
55*4882a593Smuzhiyun - Two DDR3 DIMMs up to 4GB, Dual rank @ 2133MT/s and ECC support
56*4882a593SmuzhiyunEthernet interfaces:
57*4882a593Smuzhiyun - Two 1Gbps RGMII on-board ports
58*4882a593Smuzhiyun - Four 10Gbps XFI on-board cages
59*4882a593Smuzhiyun - 1Gbps/2.5Gbps SGMII Riser card
60*4882a593Smuzhiyun - 10Gbps XAUI Riser card
61*4882a593SmuzhiyunAccelerator:
62*4882a593Smuzhiyun - DPAA components consist of FMan, BMan, QMan, PME, DCE and SEC
63*4882a593SmuzhiyunSerDes:
64*4882a593Smuzhiyun - 16 lanes up to 10.3125GHz
65*4882a593Smuzhiyun - Supports Aurora debug, PEX, SATA, SGMII, sRIO, HiGig, XFI and XAUI
66*4882a593SmuzhiyunIFC:
67*4882a593Smuzhiyun - 128MB NOR Flash, 512MB NAND Flash, PromJet debug port and FPGA
68*4882a593SmuzhiyuneSPI:
69*4882a593Smuzhiyun - Three SPI flash (16MB N25Q128A + 16MB EN25S64 + 512KB SST25WF040)
70*4882a593SmuzhiyunUSB:
71*4882a593Smuzhiyun - Two USB2.0 ports with internal PHY (one Type-A + one micro Type-AB)
72*4882a593SmuzhiyunPCIE:
73*4882a593Smuzhiyun - Four PCI Express controllers (two PCIe 2.0 and two PCIe 3.0 with SR-IOV)
74*4882a593SmuzhiyunSATA:
75*4882a593Smuzhiyun - Two SATA 2.0 ports on-board
76*4882a593SmuzhiyunSRIO:
77*4882a593Smuzhiyun - Two Serial RapidIO 2.0 ports up to 5 GHz
78*4882a593SmuzhiyuneSDHC:
79*4882a593Smuzhiyun - Supports SD/SDHC/SDXC/eMMC Card
80*4882a593SmuzhiyunI2C:
81*4882a593Smuzhiyun - Four I2C controllers.
82*4882a593SmuzhiyunUART:
83*4882a593Smuzhiyun - Dual 4-pins UART serial ports
84*4882a593SmuzhiyunSystem Logic:
85*4882a593Smuzhiyun - QIXIS-II FPGA system controll
86*4882a593SmuzhiyunDebug Features:
87*4882a593Smuzhiyun - Support Legacy, COP/JTAG, Aurora, Event and EVT
88*4882a593SmuzhiyunXFI:
89*4882a593Smuzhiyun - XFI is supported on T2080QDS through Lane A/B/C/D on Serdes 1 routed to
90*4882a593Smuzhiyun a on-board SFP+ cages, which to house optical module (fiber cable) or
91*4882a593Smuzhiyun direct attach cable(copper), the copper cable is used to emulate
92*4882a593Smuzhiyun 10GBASE-KR scenario.
93*4882a593Smuzhiyun So, for XFI usage, there are two scenarios, one will use fiber cable,
94*4882a593Smuzhiyun another will use copper cable. An hwconfig env "fsl_10gkr_copper" is
95*4882a593Smuzhiyun introduced to indicate a XFI port will use copper cable, and U-Boot
96*4882a593Smuzhiyun will fixup the dtb accordingly.
97*4882a593Smuzhiyun It's used as: fsl_10gkr_copper:<10g_mac_name>
98*4882a593Smuzhiyun The <10g_mac_name> can be fm1_10g1, fm1_10g2, fm1_10g3, fm1_10g4, they
99*4882a593Smuzhiyun do not have to be coexist in hwconfig. If a MAC is listed in the env
100*4882a593Smuzhiyun "fsl_10gkr_copper", it will use copper cable, otherwise, fiber cable
101*4882a593Smuzhiyun will be used by default.
102*4882a593Smuzhiyun for ex. set "fsl_10gkr_copper:fm1_10g1,fm1_10g2,fm1_10g3,fm1_10g4" in
103*4882a593Smuzhiyun hwconfig, then both four XFI ports will use copper cable.
104*4882a593Smuzhiyun set "fsl_10gkr_copper:fm1_10g1,fm1_10g2" in hwconfig, then first two
105*4882a593Smuzhiyun XFI ports will use copper cable, the other two XFI ports will use fiber
106*4882a593Smuzhiyun cable.
107*4882a593Smuzhiyun1000BASE-KX(1G-KX):
108*4882a593Smuzhiyun - T2080QDS can support 1G-KX by using SGMII protocol, but serdes lane
109*4882a593Smuzhiyun runs in 1G-KX mode. By default, the lane runs in SGMII mode, to set a lane
110*4882a593Smuzhiyun in 1G-KX mode, need to set corresponding bit in SerDes Protocol Configuration
111*4882a593Smuzhiyun Register 1 (PCCR1), and U-Boot fixup the dtb for kernel to do proper
112*4882a593Smuzhiyun initialization.
113*4882a593Smuzhiyun Hwconfig "fsl_1gkx" is used to indicate a lane runs in 1G-KX mode, MAC
114*4882a593Smuzhiyun 1/2/5/6/9/10 are available for 1G-KX, MAC 3/4 run in RGMII mode. To set a
115*4882a593Smuzhiyun MAC to use 1G-KX mode, set its' corresponding env in "fsl_1gkx", 'fm1_1g1'
116*4882a593Smuzhiyun stands for MAC 1, 'fm1_1g2' stands for MAC 2, etc.
117*4882a593Smuzhiyun For ex. set "fsl_1gkx:fm1_1g1,fm1_1g2,fm1_1g5,fm1_1g6,fm1_1g9,fm1_1g10" in
118*4882a593Smuzhiyun hwconfig, MAC 1/2/5/6/9/10 will use 1G-KX mode.
119*4882a593Smuzhiyun
120*4882a593SmuzhiyunSystem Memory map
121*4882a593Smuzhiyun----------------
122*4882a593Smuzhiyun
123*4882a593SmuzhiyunStart Address  End Address      Description			Size
124*4882a593Smuzhiyun0xF_FFDF_0000  0xF_FFDF_0FFF    IFC - CPLD			4KB
125*4882a593Smuzhiyun0xF_FF80_0000  0xF_FF80_FFFF    IFC - NAND Flash		64KB
126*4882a593Smuzhiyun0xF_FE00_0000  0xF_FEFF_FFFF    CCSRBAR				16MB
127*4882a593Smuzhiyun0xF_F803_0000  0xF_F803_FFFF    PCI Express 4 I/O Space		64KB
128*4882a593Smuzhiyun0xF_F802_0000  0xF_F802_FFFF    PCI Express 3 I/O Space		64KB
129*4882a593Smuzhiyun0xF_F801_0000  0xF_F801_FFFF    PCI Express 2 I/O Space		64KB
130*4882a593Smuzhiyun0xF_F800_0000  0xF_F800_FFFF    PCI Express 1 I/O Space		64KB
131*4882a593Smuzhiyun0xF_F600_0000  0xF_F7FF_FFFF    Queue manager software portal	32MB
132*4882a593Smuzhiyun0xF_F400_0000  0xF_F5FF_FFFF    Buffer manager software portal	32MB
133*4882a593Smuzhiyun0xF_E800_0000  0xF_EFFF_FFFF    IFC - NOR Flash			128MB
134*4882a593Smuzhiyun0xF_0000_0000  0xF_003F_FFFF    DCSR				4MB
135*4882a593Smuzhiyun0xC_4000_0000  0xC_4FFF_FFFF    PCI Express 4 Mem Space		256MB
136*4882a593Smuzhiyun0xC_3000_0000  0xC_3FFF_FFFF    PCI Express 3 Mem Space		256MB
137*4882a593Smuzhiyun0xC_2000_0000  0xC_2FFF_FFFF    PCI Express 2 Mem Space		256MB
138*4882a593Smuzhiyun0xC_0000_0000  0xC_1FFF_FFFF    PCI Express 1 Mem Space		512MB
139*4882a593Smuzhiyun0x0_0000_0000  0x0_ffff_ffff    DDR				4GB
140*4882a593Smuzhiyun
141*4882a593Smuzhiyun
142*4882a593Smuzhiyun128M NOR Flash memory Map
143*4882a593Smuzhiyun-------------------------
144*4882a593SmuzhiyunStart Address   End Address	Definition			Max size
145*4882a593Smuzhiyun0xEFF40000	0xEFFFFFFF	U-Boot (current bank)		768KB
146*4882a593Smuzhiyun0xEFF20000	0xEFF3FFFF	U-Boot env (current bank)	128KB
147*4882a593Smuzhiyun0xEFF00000	0xEFF1FFFF	FMAN Ucode (current bank)	128KB
148*4882a593Smuzhiyun0xED300000	0xEFEFFFFF	rootfs (alt bank)		44MB
149*4882a593Smuzhiyun0xEC800000	0xEC8FFFFF	Hardware device tree (alt bank)	1MB
150*4882a593Smuzhiyun0xEC020000	0xEC7FFFFF	Linux.uImage (alt bank)		7MB + 875KB
151*4882a593Smuzhiyun0xEC000000	0xEC01FFFF	RCW (alt bank)			128KB
152*4882a593Smuzhiyun0xEBF40000	0xEBFFFFFF	U-Boot (alt bank)		768KB
153*4882a593Smuzhiyun0xEBF20000	0xEBF3FFFF	U-Boot env (alt bank)		128KB
154*4882a593Smuzhiyun0xEBF00000	0xEBF1FFFF	FMAN ucode (alt bank)		128KB
155*4882a593Smuzhiyun0xE9300000	0xEBEFFFFF	rootfs (current bank)		44MB
156*4882a593Smuzhiyun0xE8800000	0xE88FFFFF	Hardware device tree (cur bank)	1MB
157*4882a593Smuzhiyun0xE8020000	0xE86FFFFF	Linux.uImage (current bank)	7MB + 875KB
158*4882a593Smuzhiyun0xE8000000	0xE801FFFF	RCW (current bank)		128KB
159*4882a593Smuzhiyun
160*4882a593Smuzhiyun
161*4882a593Smuzhiyun
162*4882a593SmuzhiyunSoftware configurations and board settings
163*4882a593Smuzhiyun------------------------------------------
164*4882a593Smuzhiyun1. NOR boot:
165*4882a593Smuzhiyun   a. build NOR boot image
166*4882a593Smuzhiyun	$  make T2080QDS_config
167*4882a593Smuzhiyun	$  make
168*4882a593Smuzhiyun   b. program u-boot.bin image to NOR flash
169*4882a593Smuzhiyun	=> tftp 1000000 u-boot.bin
170*4882a593Smuzhiyun	=> pro off all;era eff40000 efffffff;cp.b 1000000 eff40000 $filesize
171*4882a593Smuzhiyun	set SW1[1:8] = '00010011', SW2[1] = '1', SW6[1:4] = '0000' for NOR boot
172*4882a593Smuzhiyun
173*4882a593Smuzhiyun   Switching between default bank0 and alternate bank4 on NOR flash
174*4882a593Smuzhiyun   To change boot source to vbank4:
175*4882a593Smuzhiyun	by software:   run command 'qixis_reset altbank' in U-Boot.
176*4882a593Smuzhiyun	by DIP-switch: set SW6[1:4] = '0100'
177*4882a593Smuzhiyun
178*4882a593Smuzhiyun   To change boot source to vbank0:
179*4882a593Smuzhiyun	by software:   run command 'qixis_reset' in U-Boot.
180*4882a593Smuzhiyun	by DIP-Switch: set SW6[1:4] = '0000'
181*4882a593Smuzhiyun
182*4882a593Smuzhiyun2. NAND Boot:
183*4882a593Smuzhiyun   a. build PBL image for NAND boot
184*4882a593Smuzhiyun	$ make T2080QDS_NAND_config
185*4882a593Smuzhiyun	$ make
186*4882a593Smuzhiyun   b. program u-boot-with-spl-pbl.bin to NAND flash
187*4882a593Smuzhiyun	=> tftp 1000000 u-boot-with-spl-pbl.bin
188*4882a593Smuzhiyun	=> nand erase 0 $filesize
189*4882a593Smuzhiyun	=> nand write 1000000 0 $filesize
190*4882a593Smuzhiyun	set SW1[1:8] = '10000010', SW2[1] = '0' and SW6[1:4] = '1001' for NAND boot
191*4882a593Smuzhiyun
192*4882a593Smuzhiyun3. SPI Boot:
193*4882a593Smuzhiyun   a. build PBL image for SPI boot
194*4882a593Smuzhiyun	$ make T2080QDS_SPIFLASH_config
195*4882a593Smuzhiyun	$ make
196*4882a593Smuzhiyun   b. program u-boot-with-spl-pbl.bin to SPI flash
197*4882a593Smuzhiyun	=> tftp 1000000 u-boot-with-spl-pbl.bin
198*4882a593Smuzhiyun	=> sf probe 0
199*4882a593Smuzhiyun	=> sf erase 0 f0000
200*4882a593Smuzhiyun	=> sf write 1000000 0 $filesize
201*4882a593Smuzhiyun	set SW1[1:8] = '00100010', SW2[1] ='1' for SPI boot
202*4882a593Smuzhiyun
203*4882a593Smuzhiyun4. SD Boot:
204*4882a593Smuzhiyun   a. build PBL image for SD boot
205*4882a593Smuzhiyun	$ make T2080QDS_SDCARD_config
206*4882a593Smuzhiyun	$ make
207*4882a593Smuzhiyun   b. program u-boot-with-spl-pbl.bin to SD/MMC card
208*4882a593Smuzhiyun	=> tftp 1000000 u-boot-with-spl-pbl.bin
209*4882a593Smuzhiyun	=> mmc write 1000000 8 0x800
210*4882a593Smuzhiyun	=> tftp 1000000 fsl_fman_ucode_T2080_xx.bin
211*4882a593Smuzhiyun	=> mmc write 1000000 0x820 80
212*4882a593Smuzhiyun	set SW1[1:8] = '00100000', SW2[1] = '0' for SD boot
213*4882a593Smuzhiyun
214*4882a593Smuzhiyun
215*4882a593Smuzhiyun2-stage NAND/SPI/SD boot loader
216*4882a593Smuzhiyun-------------------------------
217*4882a593SmuzhiyunPBL initializes the internal CPC-SRAM and copy SPL(160K) to SRAM.
218*4882a593SmuzhiyunSPL further initializes DDR using SPD and environment variables
219*4882a593Smuzhiyunand copy U-Boot(768 KB) from NAND/SPI/SD device to DDR.
220*4882a593SmuzhiyunFinally SPL transers control to U-Boot for futher booting.
221*4882a593Smuzhiyun
222*4882a593SmuzhiyunSPL has following features:
223*4882a593Smuzhiyun - Executes within 256K
224*4882a593Smuzhiyun - No relocation required
225*4882a593Smuzhiyun
226*4882a593SmuzhiyunRun time view of SPL framework
227*4882a593Smuzhiyun-------------------------------------------------
228*4882a593Smuzhiyun|Area		   | Address			|
229*4882a593Smuzhiyun-------------------------------------------------
230*4882a593Smuzhiyun|SecureBoot header | 0xFFFC0000 (32KB)		|
231*4882a593Smuzhiyun-------------------------------------------------
232*4882a593Smuzhiyun|GD, BD		   | 0xFFFC8000 (4KB)		|
233*4882a593Smuzhiyun-------------------------------------------------
234*4882a593Smuzhiyun|ENV		   | 0xFFFC9000 (8KB)		|
235*4882a593Smuzhiyun-------------------------------------------------
236*4882a593Smuzhiyun|HEAP		   | 0xFFFCB000 (50KB)		|
237*4882a593Smuzhiyun-------------------------------------------------
238*4882a593Smuzhiyun|STACK		   | 0xFFFD8000 (22KB)		|
239*4882a593Smuzhiyun-------------------------------------------------
240*4882a593Smuzhiyun|U-Boot SPL	   | 0xFFFD8000 (160KB)		|
241*4882a593Smuzhiyun-------------------------------------------------
242*4882a593Smuzhiyun
243*4882a593SmuzhiyunNAND Flash memory Map on T2080QDS
244*4882a593Smuzhiyun--------------------------------------------------------------
245*4882a593SmuzhiyunStart		End		Definition	Size
246*4882a593Smuzhiyun0x000000	0x0FFFFF	U-Boot img	1MB  (2 blocks)
247*4882a593Smuzhiyun0x100000	0x17FFFF	U-Boot env	512KB (1 block)
248*4882a593Smuzhiyun0x180000	0x1FFFFF	FMAN ucode	512KB (1 block)
249*4882a593Smuzhiyun
250*4882a593Smuzhiyun
251*4882a593SmuzhiyunMicro SD Card memory Map on T2080QDS
252*4882a593Smuzhiyun----------------------------------------------------
253*4882a593SmuzhiyunBlock		#blocks		Definition	Size
254*4882a593Smuzhiyun0x008		2048		U-Boot img	1MB
255*4882a593Smuzhiyun0x800		0016		U-Boot env	8KB
256*4882a593Smuzhiyun0x820		0128		FMAN ucode	64KB
257*4882a593Smuzhiyun
258*4882a593Smuzhiyun
259*4882a593SmuzhiyunSPI Flash memory Map on T2080QDS
260*4882a593Smuzhiyun----------------------------------------------------
261*4882a593SmuzhiyunStart		End		Definition	Size
262*4882a593Smuzhiyun0x000000	0x0FFFFF	U-Boot img	1MB
263*4882a593Smuzhiyun0x100000	0x101FFF	U-Boot env	8KB
264*4882a593Smuzhiyun0x110000	0x11FFFF	FMAN ucode	64KB
265*4882a593Smuzhiyun
266*4882a593Smuzhiyun
267*4882a593SmuzhiyunHow to update the ucode of Freescale FMAN
268*4882a593Smuzhiyun-----------------------------------------
269*4882a593Smuzhiyun=> tftp 1000000 fsl_fman_ucode_t2080_xx.bin
270*4882a593Smuzhiyun=> pro off all;erase 0xeff00000 0xeff1ffff;cp 1000000 0xeff00000 $filesize
271*4882a593Smuzhiyun
272*4882a593Smuzhiyun
273*4882a593SmuzhiyunFor more details, please refer to T2080QDS User Guide and access
274*4882a593Smuzhiyunwebsite www.freescale.com and Freescale QorIQ SDK Infocenter document.
275