blob: 0d80c6901fb251be9a82fc9377de0438d199ed51 [file] [log] [blame]
Shengzhou Liu481f47e2014-10-17 18:49:13 +08001The 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
Vladimir Oltean6a6e4022021-09-18 15:32:34 +030058 - Four 10GBase-R on-board cages
Shengzhou Liu481f47e2014-10-17 18:49:13 +080059 - 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
Vladimir Oltean6a6e4022021-09-18 15:32:34 +030065 - Supports Aurora debug, PEX, SATA, SGMII, sRIO, HiGig, 10GBase-R and XAUI
Shengzhou Liu481f47e2014-10-17 18:49:13 +080066IFC:
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
Vladimir Oltean6a6e4022021-09-18 15:32:34 +03008810GBase-R:
89 - 10GBase-R is supported on T2080QDS through Lane A/B/C/D on Serdes 1 routed to
shaohui xie2f50d612014-10-20 19:48:19 +080090 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.
Vladimir Oltean6a6e4022021-09-18 15:32:34 +030093 So, for 10GBase-R usage, there are two scenarios, one will use fiber cable,
shaohui xie2f50d612014-10-20 19:48:19 +080094 another will use copper cable. An hwconfig env "fsl_10gkr_copper" is
Vladimir Oltean6a6e4022021-09-18 15:32:34 +030095 introduced to indicate a 10GBase-R port will use copper cable, and U-Boot
shaohui xie2f50d612014-10-20 19:48:19 +080096 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
Vladimir Oltean6a6e4022021-09-18 15:32:34 +0300103 hwconfig, then both four 10GBase-R ports will use copper cable.
shaohui xie2f50d612014-10-20 19:48:19 +0800104 set "fsl_10gkr_copper:fm1_10g1,fm1_10g2" in hwconfig, then first two
Vladimir Oltean6a6e4022021-09-18 15:32:34 +0300105 10GBase-R ports will use copper cable, the other two 10GBase-R ports will use
106 fiber cable.
Shaohui Xie2ec2f302014-10-20 19:51:21 +08001071000BASE-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
Bin Meng75574052016-02-05 19:30:11 -0800111 Register 1 (PCCR1), and U-Boot fixup the dtb for kernel to do proper
Shaohui Xie2ec2f302014-10-20 19:51:21 +0800112 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.
Shengzhou Liu481f47e2014-10-17 18:49:13 +0800119
120System Memory map
shaohui xie2f50d612014-10-20 19:48:19 +0800121----------------
122
Shengzhou Liu481f47e2014-10-17 18:49:13 +0800123Start 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
Bin Meng75574052016-02-05 19:30:11 -08001450xEFF40000 0xEFFFFFFF U-Boot (current bank) 768KB
1460xEFF20000 0xEFF3FFFF U-Boot env (current bank) 128KB
Shengzhou Liu481f47e2014-10-17 18:49:13 +08001470xEFF00000 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
Bin Meng75574052016-02-05 19:30:11 -08001520xEBF40000 0xEBFFFFFF U-Boot (alt bank) 768KB
1530xEBF20000 0xEBF3FFFF U-Boot env (alt bank) 128KB
Shengzhou Liu481f47e2014-10-17 18:49:13 +08001540xEBF00000 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
Shengzhou Liu481f47e2014-10-17 18:49:13 +0800161Software configurations and board settings
162------------------------------------------
1631. NOR boot:
164 a. build NOR boot image
165 $ make T2080QDS_config
166 $ make
167 b. program u-boot.bin image to NOR flash
168 => tftp 1000000 u-boot.bin
169 => pro off all;era eff40000 efffffff;cp.b 1000000 eff40000 $filesize
170 set SW1[1:8] = '00010011', SW2[1] = '1', SW6[1:4] = '0000' for NOR boot
171
172 Switching between default bank0 and alternate bank4 on NOR flash
173 To change boot source to vbank4:
Bin Meng75574052016-02-05 19:30:11 -0800174 by software: run command 'qixis_reset altbank' in U-Boot.
Shengzhou Liu481f47e2014-10-17 18:49:13 +0800175 by DIP-switch: set SW6[1:4] = '0100'
176
177 To change boot source to vbank0:
Bin Meng75574052016-02-05 19:30:11 -0800178 by software: run command 'qixis_reset' in U-Boot.
Shengzhou Liu481f47e2014-10-17 18:49:13 +0800179 by DIP-Switch: set SW6[1:4] = '0000'
180
1812. NAND Boot:
182 a. build PBL image for NAND boot
183 $ make T2080QDS_NAND_config
184 $ make
185 b. program u-boot-with-spl-pbl.bin to NAND flash
186 => tftp 1000000 u-boot-with-spl-pbl.bin
187 => nand erase 0 $filesize
188 => nand write 1000000 0 $filesize
189 set SW1[1:8] = '10000010', SW2[1] = '0' and SW6[1:4] = '1001' for NAND boot
190
1913. SPI Boot:
192 a. build PBL image for SPI boot
193 $ make T2080QDS_SPIFLASH_config
194 $ make
195 b. program u-boot-with-spl-pbl.bin to SPI flash
196 => tftp 1000000 u-boot-with-spl-pbl.bin
197 => sf probe 0
198 => sf erase 0 f0000
199 => sf write 1000000 0 $filesize
200 set SW1[1:8] = '00100010', SW2[1] ='1' for SPI boot
201
2024. SD Boot:
203 a. build PBL image for SD boot
204 $ make T2080QDS_SDCARD_config
205 $ make
206 b. program u-boot-with-spl-pbl.bin to SD/MMC card
207 => tftp 1000000 u-boot-with-spl-pbl.bin
208 => mmc write 1000000 8 0x800
209 => tftp 1000000 fsl_fman_ucode_T2080_xx.bin
210 => mmc write 1000000 0x820 80
211 set SW1[1:8] = '00100000', SW2[1] = '0' for SD boot
212
213
2142-stage NAND/SPI/SD boot loader
215-------------------------------
216PBL initializes the internal CPC-SRAM and copy SPL(160K) to SRAM.
217SPL further initializes DDR using SPD and environment variables
Bin Meng75574052016-02-05 19:30:11 -0800218and copy U-Boot(768 KB) from NAND/SPI/SD device to DDR.
219Finally SPL transers control to U-Boot for futher booting.
Shengzhou Liu481f47e2014-10-17 18:49:13 +0800220
221SPL has following features:
222 - Executes within 256K
223 - No relocation required
224
225Run time view of SPL framework
226-------------------------------------------------
227|Area | Address |
228-------------------------------------------------
229|SecureBoot header | 0xFFFC0000 (32KB) |
230-------------------------------------------------
231|GD, BD | 0xFFFC8000 (4KB) |
232-------------------------------------------------
233|ENV | 0xFFFC9000 (8KB) |
234-------------------------------------------------
235|HEAP | 0xFFFCB000 (50KB) |
236-------------------------------------------------
237|STACK | 0xFFFD8000 (22KB) |
238-------------------------------------------------
Bin Meng75574052016-02-05 19:30:11 -0800239|U-Boot SPL | 0xFFFD8000 (160KB) |
Shengzhou Liu481f47e2014-10-17 18:49:13 +0800240-------------------------------------------------
241
242NAND Flash memory Map on T2080QDS
243--------------------------------------------------------------
244Start End Definition Size
Bin Meng75574052016-02-05 19:30:11 -08002450x000000 0x0FFFFF U-Boot img 1MB (2 blocks)
2460x100000 0x17FFFF U-Boot env 512KB (1 block)
Shengzhou Liu481f47e2014-10-17 18:49:13 +08002470x180000 0x1FFFFF FMAN ucode 512KB (1 block)
248
249
250Micro SD Card memory Map on T2080QDS
251----------------------------------------------------
252Block #blocks Definition Size
Bin Meng75574052016-02-05 19:30:11 -08002530x008 2048 U-Boot img 1MB
2540x800 0016 U-Boot env 8KB
Shengzhou Liu481f47e2014-10-17 18:49:13 +08002550x820 0128 FMAN ucode 64KB
256
257
258SPI Flash memory Map on T2080QDS
259----------------------------------------------------
260Start End Definition Size
Bin Meng75574052016-02-05 19:30:11 -08002610x000000 0x0FFFFF U-Boot img 1MB
2620x100000 0x101FFF U-Boot env 8KB
Shengzhou Liu481f47e2014-10-17 18:49:13 +08002630x110000 0x11FFFF FMAN ucode 64KB
264
265
266How to update the ucode of Freescale FMAN
267-----------------------------------------
268=> tftp 1000000 fsl_fman_ucode_t2080_xx.bin
269=> pro off all;erase 0xeff00000 0xeff1ffff;cp 1000000 0xeff00000 $filesize
270
271
272For more details, please refer to T2080QDS User Guide and access
273website www.freescale.com and Freescale QorIQ SDK Infocenter document.
Jagdish Gediya9892b232018-09-03 21:35:12 +0530274
275Device tree support and how to enable it for different configs
276--------------------------------------------------------------
277Device tree support is available for t2080qds for below mentioned boot,
2781. NOR Boot
2792. NAND Boot
2803. SD Boot
2814. SPIFLASH Boot
282
283To enable device tree support for other boot, below configs need to be
284enabled in relative defconfig file,
2851. CONFIG_DEFAULT_DEVICE_TREE="t2080qds" (Change default device tree name if required)
2862. CONFIG_OF_CONTROL
2873. CONFIG_MPC85XX_HAVE_RESET_VECTOR if reset vector is located at
Tom Riniaac81492022-12-04 10:13:40 -0500288 CFG_RESET_VECTOR_ADDRESS - 0xffc
Jagdish Gediya9892b232018-09-03 21:35:12 +0530289
290If device tree support is enabled in defconfig,
Pali Rohárc6850842022-08-01 17:42:20 +02002911. use 'u-boot.bin' for NOR boot.
Jagdish Gediya9892b232018-09-03 21:35:12 +05302922. use 'u-boot-with-spl-pbl.bin' for other boot.