xref: /openbmc/u-boot/board/freescale/t208xqds/README (revision 5c8fd32b)
1The T2080QDS is a high-performance computing evaluation, development and
2test platform supporting the T2080 QorIQ Power Architecture processor.
3
4T2080 SoC Overview
5------------------
6The T2080 QorIQ multicore processor combines four dual-threaded e6500 Power
7Architecture processor cores with high-performance datapath acceleration
8logic and network and peripheral bus interfaces required for networking,
9telecom/datacom, wireless infrastructure, and mil/aerospace applications.
10
11T2080 includes the following functions and features:
12 - Four dual-threads 64-bit Power architecture e6500 cores, up to 1.8GHz
13 - 2MB L2 cache and 512KB CoreNet platform cache (CPC)
14 - Hierarchical interconnect fabric
15 - One 32-/64-bit DDR3/3L SDRAM memory controllers with ECC and interleaving
16 - Data Path Acceleration Architecture (DPAA) incorporating acceleration
17 - 16 SerDes lanes up to 10.3125 GHz
18 - 8 Ethernet interfaces, supporting combinations of the following:
19   - Up to four 10 Gbps Ethernet MACs
20   - Up to eight 1 Gbps Ethernet MACs
21   - Up to four 2.5 Gbps Ethernet MACs
22 - High-speed peripheral interfaces
23   - Four PCI Express controllers (two PCIe 2.0 and two PCIe 3.0 with SR-IOV)
24   - Two Serial RapidIO 2.0 controllers/ports running at up to 5 GHz
25 - Additional peripheral interfaces
26   - Two serial ATA (SATA 2.0) controllers
27   - Two high-speed USB 2.0 controllers with integrated PHY
28   - Enhanced secure digital host controller (SD/SDHC/SDXC/eMMC)
29   - Enhanced serial peripheral interface (eSPI)
30   - Four I2C controllers
31   - Four 2-pin UARTs or two 4-pin UARTs
32   - Integrated Flash Controller supporting NAND and NOR flash
33 - Three eight-channel DMA engines
34 - Support for hardware virtualization and partitioning enforcement
35 - QorIQ Platform's Trust Architecture 2.0
36
37Differences between T2080 and T2081
38-----------------------------------
39  Feature		T2080	 T2081
40  1G Ethernet numbers:  8	 6
41  10G Ethernet numbers: 4	 2
42  SerDes lanes:		16	 8
43  Serial RapidIO,RMan:  2	 no
44  SATA Controller:	2	 no
45  Aurora:		yes	 no
46  SoC Package:		896-pins 780-pins
47
48
49T2080QDS feature overview
50-------------------------
51Processor:
52 - T2080 SoC integrating four 64-bit dual-threads e6500 cores up to 1.8GHz
53Memory:
54 - Single memory controller capable of supporting DDR3 and DDR3-LV devices
55 - Two DDR3 DIMMs up to 4GB, Dual rank @ 2133MT/s and ECC support
56Ethernet interfaces:
57 - Two 1Gbps RGMII on-board ports
58 - Four 10Gbps XFI on-board cages
59 - 1Gbps/2.5Gbps SGMII Riser card
60 - 10Gbps XAUI Riser card
61Accelerator:
62 - DPAA components consist of FMan, BMan, QMan, PME, DCE and SEC
63SerDes:
64 - 16 lanes up to 10.3125GHz
65 - Supports Aurora debug, PEX, SATA, SGMII, sRIO, HiGig, XFI and XAUI
66IFC:
67 - 128MB NOR Flash, 512MB NAND Flash, PromJet debug port and FPGA
68eSPI:
69 - Three SPI flash (16MB N25Q128A + 16MB EN25S64 + 512KB SST25WF040)
70USB:
71 - Two USB2.0 ports with internal PHY (one Type-A + one micro Type-AB)
72PCIE:
73 - Four PCI Express controllers (two PCIe 2.0 and two PCIe 3.0 with SR-IOV)
74SATA:
75 - Two SATA 2.0 ports on-board
76SRIO:
77 - Two Serial RapidIO 2.0 ports up to 5 GHz
78eSDHC:
79 - Supports SD/SDHC/SDXC/eMMC Card
80I2C:
81 - Four I2C controllers.
82UART:
83 - Dual 4-pins UART serial ports
84System Logic:
85 - QIXIS-II FPGA system controll
86Debug Features:
87 - Support Legacy, COP/JTAG, Aurora, Event and EVT
88XFI:
89 - XFI is supported on T2080QDS through Lane A/B/C/D on Serdes 1 routed to
90 a on-board SFP+ cages, which to house optical module (fiber cable) or
91 direct attach cable(copper), the copper cable is used to emulate
92 10GBASE-KR scenario.
93 So, for XFI usage, there are two scenarios, one will use fiber cable,
94 another will use copper cable. An hwconfig env "fsl_10gkr_copper" is
95 introduced to indicate a XFI port will use copper cable, and U-Boot
96 will fixup the dtb accordingly.
97 It's used as: fsl_10gkr_copper:<10g_mac_name>
98 The <10g_mac_name> can be fm1_10g1, fm1_10g2, fm1_10g3, fm1_10g4, they
99 do not have to be coexist in hwconfig. If a MAC is listed in the env
100 "fsl_10gkr_copper", it will use copper cable, otherwise, fiber cable
101 will be used by default.
102 for ex. set "fsl_10gkr_copper:fm1_10g1,fm1_10g2,fm1_10g3,fm1_10g4" in
103 hwconfig, then both four XFI ports will use copper cable.
104 set "fsl_10gkr_copper:fm1_10g1,fm1_10g2" in hwconfig, then first two
105 XFI ports will use copper cable, the other two XFI ports will use fiber
106 cable.
1071000BASE-KX(1G-KX):
108 - T2080QDS can support 1G-KX by using SGMII protocol, but serdes lane
109 runs in 1G-KX mode. By default, the lane runs in SGMII mode, to set a lane
110 in 1G-KX mode, need to set corresponding bit in SerDes Protocol Configuration
111 Register 1 (PCCR1), and U-Boot fixup the dtb for kernel to do proper
112 initialization.
113 Hwconfig "fsl_1gkx" is used to indicate a lane runs in 1G-KX mode, MAC
114 1/2/5/6/9/10 are available for 1G-KX, MAC 3/4 run in RGMII mode. To set a
115 MAC to use 1G-KX mode, set its' corresponding env in "fsl_1gkx", 'fm1_1g1'
116 stands for MAC 1, 'fm1_1g2' stands for MAC 2, etc.
117 For ex. set "fsl_1gkx:fm1_1g1,fm1_1g2,fm1_1g5,fm1_1g6,fm1_1g9,fm1_1g10" in
118 hwconfig, MAC 1/2/5/6/9/10 will use 1G-KX mode.
119
120System Memory map
121----------------
122
123Start Address  End Address      Description			Size
1240xF_FFDF_0000  0xF_FFDF_0FFF    IFC - CPLD			4KB
1250xF_FF80_0000  0xF_FF80_FFFF    IFC - NAND Flash		64KB
1260xF_FE00_0000  0xF_FEFF_FFFF    CCSRBAR				16MB
1270xF_F803_0000  0xF_F803_FFFF    PCI Express 4 I/O Space		64KB
1280xF_F802_0000  0xF_F802_FFFF    PCI Express 3 I/O Space		64KB
1290xF_F801_0000  0xF_F801_FFFF    PCI Express 2 I/O Space		64KB
1300xF_F800_0000  0xF_F800_FFFF    PCI Express 1 I/O Space		64KB
1310xF_F600_0000  0xF_F7FF_FFFF    Queue manager software portal	32MB
1320xF_F400_0000  0xF_F5FF_FFFF    Buffer manager software portal	32MB
1330xF_E800_0000  0xF_EFFF_FFFF    IFC - NOR Flash			128MB
1340xF_0000_0000  0xF_003F_FFFF    DCSR				4MB
1350xC_4000_0000  0xC_4FFF_FFFF    PCI Express 4 Mem Space		256MB
1360xC_3000_0000  0xC_3FFF_FFFF    PCI Express 3 Mem Space		256MB
1370xC_2000_0000  0xC_2FFF_FFFF    PCI Express 2 Mem Space		256MB
1380xC_0000_0000  0xC_1FFF_FFFF    PCI Express 1 Mem Space		512MB
1390x0_0000_0000  0x0_ffff_ffff    DDR				4GB
140
141
142128M NOR Flash memory Map
143-------------------------
144Start Address   End Address	Definition			Max size
1450xEFF40000	0xEFFFFFFF	U-Boot (current bank)		768KB
1460xEFF20000	0xEFF3FFFF	U-Boot env (current bank)	128KB
1470xEFF00000	0xEFF1FFFF	FMAN Ucode (current bank)	128KB
1480xED300000	0xEFEFFFFF	rootfs (alt bank)		44MB
1490xEC800000	0xEC8FFFFF	Hardware device tree (alt bank)	1MB
1500xEC020000	0xEC7FFFFF	Linux.uImage (alt bank)		7MB + 875KB
1510xEC000000	0xEC01FFFF	RCW (alt bank)			128KB
1520xEBF40000	0xEBFFFFFF	U-Boot (alt bank)		768KB
1530xEBF20000	0xEBF3FFFF	U-Boot env (alt bank)		128KB
1540xEBF00000	0xEBF1FFFF	FMAN ucode (alt bank)		128KB
1550xE9300000	0xEBEFFFFF	rootfs (current bank)		44MB
1560xE8800000	0xE88FFFFF	Hardware device tree (cur bank)	1MB
1570xE8020000	0xE86FFFFF	Linux.uImage (current bank)	7MB + 875KB
1580xE8000000	0xE801FFFF	RCW (current bank)		128KB
159
160
161
162Software configurations and board settings
163------------------------------------------
1641. NOR boot:
165   a. build NOR boot image
166	$  make T2080QDS_config
167	$  make
168   b. program u-boot.bin image to NOR flash
169	=> tftp 1000000 u-boot.bin
170	=> pro off all;era eff40000 efffffff;cp.b 1000000 eff40000 $filesize
171	set SW1[1:8] = '00010011', SW2[1] = '1', SW6[1:4] = '0000' for NOR boot
172
173   Switching between default bank0 and alternate bank4 on NOR flash
174   To change boot source to vbank4:
175	by software:   run command 'qixis_reset altbank' in U-Boot.
176	by DIP-switch: set SW6[1:4] = '0100'
177
178   To change boot source to vbank0:
179	by software:   run command 'qixis_reset' in U-Boot.
180	by DIP-Switch: set SW6[1:4] = '0000'
181
1822. NAND Boot:
183   a. build PBL image for NAND boot
184	$ make T2080QDS_NAND_config
185	$ make
186   b. program u-boot-with-spl-pbl.bin to NAND flash
187	=> tftp 1000000 u-boot-with-spl-pbl.bin
188	=> nand erase 0 $filesize
189	=> nand write 1000000 0 $filesize
190	set SW1[1:8] = '10000010', SW2[1] = '0' and SW6[1:4] = '1001' for NAND boot
191
1923. SPI Boot:
193   a. build PBL image for SPI boot
194	$ make T2080QDS_SPIFLASH_config
195	$ make
196   b. program u-boot-with-spl-pbl.bin to SPI flash
197	=> tftp 1000000 u-boot-with-spl-pbl.bin
198	=> sf probe 0
199	=> sf erase 0 f0000
200	=> sf write 1000000 0 $filesize
201	set SW1[1:8] = '00100010', SW2[1] ='1' for SPI boot
202
2034. SD Boot:
204   a. build PBL image for SD boot
205	$ make T2080QDS_SDCARD_config
206	$ make
207   b. program u-boot-with-spl-pbl.bin to SD/MMC card
208	=> tftp 1000000 u-boot-with-spl-pbl.bin
209	=> mmc write 1000000 8 0x800
210	=> tftp 1000000 fsl_fman_ucode_T2080_xx.bin
211	=> mmc write 1000000 0x820 80
212	set SW1[1:8] = '00100000', SW2[1] = '0' for SD boot
213
214
2152-stage NAND/SPI/SD boot loader
216-------------------------------
217PBL initializes the internal CPC-SRAM and copy SPL(160K) to SRAM.
218SPL further initializes DDR using SPD and environment variables
219and copy U-Boot(768 KB) from NAND/SPI/SD device to DDR.
220Finally SPL transers control to U-Boot for futher booting.
221
222SPL has following features:
223 - Executes within 256K
224 - No relocation required
225
226Run time view of SPL framework
227-------------------------------------------------
228|Area		   | Address			|
229-------------------------------------------------
230|SecureBoot header | 0xFFFC0000 (32KB)		|
231-------------------------------------------------
232|GD, BD		   | 0xFFFC8000 (4KB)		|
233-------------------------------------------------
234|ENV		   | 0xFFFC9000 (8KB)		|
235-------------------------------------------------
236|HEAP		   | 0xFFFCB000 (50KB)		|
237-------------------------------------------------
238|STACK		   | 0xFFFD8000 (22KB)		|
239-------------------------------------------------
240|U-Boot SPL	   | 0xFFFD8000 (160KB)		|
241-------------------------------------------------
242
243NAND Flash memory Map on T2080QDS
244--------------------------------------------------------------
245Start		End		Definition	Size
2460x000000	0x0FFFFF	U-Boot img	1MB  (2 blocks)
2470x100000	0x17FFFF	U-Boot env	512KB (1 block)
2480x180000	0x1FFFFF	FMAN ucode	512KB (1 block)
249
250
251Micro SD Card memory Map on T2080QDS
252----------------------------------------------------
253Block		#blocks		Definition	Size
2540x008		2048		U-Boot img	1MB
2550x800		0016		U-Boot env	8KB
2560x820		0128		FMAN ucode	64KB
257
258
259SPI Flash memory Map on T2080QDS
260----------------------------------------------------
261Start		End		Definition	Size
2620x000000	0x0FFFFF	U-Boot img	1MB
2630x100000	0x101FFF	U-Boot env	8KB
2640x110000	0x11FFFF	FMAN ucode	64KB
265
266
267How to update the ucode of Freescale FMAN
268-----------------------------------------
269=> tftp 1000000 fsl_fman_ucode_t2080_xx.bin
270=> pro off all;erase 0xeff00000 0xeff1ffff;cp 1000000 0xeff00000 $filesize
271
272
273For more details, please refer to T2080QDS User Guide and access
274website www.freescale.com and Freescale QorIQ SDK Infocenter document.
275
276Device tree support and how to enable it for different configs
277--------------------------------------------------------------
278Device tree support is available for t2080qds for below mentioned boot,
2791. NOR Boot
2802. NAND Boot
2813. SD Boot
2824. SPIFLASH Boot
283
284To enable device tree support for other boot, below configs need to be
285enabled in relative defconfig file,
2861. CONFIG_DEFAULT_DEVICE_TREE="t2080qds" (Change default device tree name if required)
2872. CONFIG_OF_CONTROL
2883. CONFIG_MPC85XX_HAVE_RESET_VECTOR if reset vector is located at
289   CONFIG_RESET_VECTOR_ADDRESS - 0xffc
290
291If device tree support is enabled in defconfig,
2921. use 'u-boot-with-dtb.bin' for NOR boot.
2932. use 'u-boot-with-spl-pbl.bin' for other boot.
294