Shengzhou Liu | 48c6f32 | 2014-11-24 17:11:56 +0800 | [diff] [blame] | 1 | T1024 SoC Overview |
| 2 | ------------------ |
| 3 | The T1024/T1023 dual core and T1014/T1013 single core QorIQ communication processor |
| 4 | combines two or one 64-bit Power Architecture e5500 core respectively with high |
| 5 | performance datapath acceleration logic, and network peripheral bus interfaces |
| 6 | required for networking and telecommunications. This processor can be used in |
| 7 | applications such as enterprise WLAN access points, routers, switches, firewall |
| 8 | and other packet processing intensive small enterprise and branch office appliances, |
| 9 | and general-purpose embedded computing. Its high level of integration offers |
| 10 | significant performance benefits and greatly helps to simplify board design. |
| 11 | |
| 12 | |
| 13 | The T1024 SoC includes the following function and features: |
| 14 | - two e5500 cores, each with a private 256 KB L2 cache |
| 15 | - Up to 1.4 GHz with 64-bit ISA support (Power Architecture v2.06-compliant) |
| 16 | - Three levels of instructions: User, supervisor, and hypervisor |
| 17 | - Independent boot and reset |
| 18 | - Secure boot capability |
| 19 | - 256 KB shared L3 CoreNet platform cache (CPC) |
| 20 | - Interconnect CoreNet platform |
| 21 | - CoreNet coherency manager supporting coherent and noncoherent transactions |
| 22 | with prioritization and bandwidth allocation amongst CoreNet endpoints |
| 23 | - 150 Gbps coherent read bandwidth |
| 24 | - 32-/64-bit DDR3L/DDR4 SDRAM memory controller with ECC and interleaving support |
| 25 | - Data Path Acceleration Architecture (DPAA) incorporating acceleration for the following functions: |
| 26 | - Packet parsing, classification, and distribution |
| 27 | - Queue management for scheduling, packet sequencing, and congestion management |
| 28 | - Cryptography Acceleration (SEC 5.x) |
| 29 | - IEEE 1588 support |
| 30 | - Hardware buffer management for buffer allocation and deallocation |
| 31 | - MACSEC on DPAA-based Ethernet ports |
| 32 | - Ethernet interfaces |
| 33 | - Four 1 Gbps Ethernet controllers |
| 34 | - Parallel Ethernet interfaces |
| 35 | - Two RGMII interfaces |
| 36 | - High speed peripheral interfaces |
| 37 | - Three PCI Express 2.0 controllers/ports running at up to 5 GHz |
| 38 | - One SATA controller supporting 1.5 and 3.0 Gb/s operation |
| 39 | - One QSGMII interface |
| 40 | - Four SGMII interface supporting 1000 Mbps |
| 41 | - Three SGMII interfaces supporting up to 2500 Mbps |
| 42 | - 10GbE XFI or 10Base-KR interface |
| 43 | - Additional peripheral interfaces |
| 44 | - Two USB 2.0 controllers with integrated PHY |
| 45 | - SD/eSDHC/eMMC |
| 46 | - eSPI controller |
| 47 | - Four I2C controllers |
| 48 | - Four UARTs |
| 49 | - Four GPIO controllers |
| 50 | - Integrated flash controller (IFC) |
| 51 | - LCD interface (DIU) with 12 bit dual data rate |
| 52 | - Multicore programmable interrupt controller (PIC) |
| 53 | - Two 8-channel DMA engines |
| 54 | - Single source clocking implementation |
| 55 | - Deep Sleep power implementaion (wakeup from GPIO/Timer/Ethernet/USB) |
| 56 | - QUICC Engine block |
| 57 | - 32-bit RISC controller for flexible support of the communications peripherals |
| 58 | - Serial DMA channel for receive and transmit on all serial channels |
| 59 | - Two universal communication controllers, supporting TDM, HDLC, and UART |
| 60 | |
| 61 | T1023 Personality |
| 62 | ------------------ |
| 63 | T1023 is a reduced personality of T1024 without QUICC Engine, DIU, and |
| 64 | unavailable deep sleep. Rest of the blocks are almost same as T1024. |
| 65 | Differences between T1024 and T1023 |
| 66 | Feature T1024 T1023 |
| 67 | QUICC Engine: yes no |
| 68 | DIU: yes no |
| 69 | Deep Sleep: yes no |
| 70 | I2C controller: 4 3 |
| 71 | DDR: 64-bit 32-bit |
| 72 | IFC: 32-bit 28-bit |
Shengzhou Liu | ff7ea2d | 2015-06-17 16:37:01 +0800 | [diff] [blame] | 73 | Package: 23x23 19x19 |
Shengzhou Liu | 48c6f32 | 2014-11-24 17:11:56 +0800 | [diff] [blame] | 74 | |
| 75 | |
| 76 | T1024RDB board Overview |
| 77 | ----------------------- |
| 78 | - Ethernet |
| 79 | - Two on-board 10M/100M/1G bps RGMII ethernet ports |
| 80 | - One on-board 10G bps Base-T port. |
| 81 | - DDR Memory |
| 82 | - Supports 64-bit 4GB DDR3L DIMM |
| 83 | - PCIe |
| 84 | - One on-board PCIe slot. |
| 85 | - Two on-board PCIe Mini-PCIe connectors. |
| 86 | - IFC/Local Bus |
| 87 | - NOR: 128MB 16-bit NOR Flash |
| 88 | - NAND: 1GB 8-bit NAND flash |
| 89 | - CPLD: for system controlling with programable header on-board |
| 90 | - USB |
| 91 | - Supports two USB 2.0 ports with integrated PHYs |
| 92 | - Two type A ports with 5V@1.5A per port. |
| 93 | - SDHC |
| 94 | - one SD connector supporting 1.8V/3.3V via J53. |
| 95 | - SPI |
| 96 | - On-board 64MB SPI flash |
| 97 | - Other |
| 98 | - Two Serial ports |
| 99 | - Four I2C ports |
| 100 | |
| 101 | |
Shengzhou Liu | e8a7f1c | 2015-03-27 15:48:34 +0800 | [diff] [blame] | 102 | T1023RDB board Overview |
| 103 | ----------------------- |
| 104 | - T1023 SoC integrating two 64-bit e5500 cores up to 1.4GHz |
| 105 | - CoreNet fabric supporting coherent and noncoherent transactions with |
| 106 | prioritization and bandwidth allocation |
| 107 | - SDRAM memory: 2GB Micron MT40A512M8HX unbuffered 32-bit DDR4 w/o ECC |
| 108 | - Accelerator: DPAA components consist of FMan, BMan, QMan, DCE and SEC |
| 109 | - Ethernet interfaces: |
| 110 | - one 1G RGMII port on-board(RTL8211FS PHY) |
| 111 | - one 1G SGMII port on-board(RTL8211FS PHY) |
| 112 | - one 2.5G SGMII port on-board(AQR105 PHY) |
| 113 | - PCIe: Two Mini-PCIe connectors on-board. |
| 114 | - SerDes: 4 lanes up to 10.3125GHz |
| 115 | - NOR: 128MB S29GL01GS110TFIV10 Spansion NOR Flash |
| 116 | - NAND: 512MB S34MS04G200BFI000 Spansion NAND Flash |
| 117 | - eSPI: 64MB S25FL512SAGMFI010 Spansion SPI flash. |
| 118 | - USB: one Type-A USB 2.0 port with internal PHY |
| 119 | - eSDHC: support SD/MMC and eMMC card |
| 120 | - 256Kbit M24256 I2C EEPROM |
| 121 | - RTC: Real-time clock DS1339U on I2C bus |
| 122 | - UART: one serial port on-board with RJ45 connector |
| 123 | - Debugging: JTAG/COP for T1023 debugging |
| 124 | |
| 125 | |
Shengzhou Liu | 48c6f32 | 2014-11-24 17:11:56 +0800 | [diff] [blame] | 126 | Memory map on T1024RDB |
| 127 | ---------------------- |
| 128 | Start Address End Address Description Size |
| 129 | 0xF_FFDF_0000 0xF_FFDF_0FFF IFC - CPLD 4KB |
| 130 | 0xF_FF80_0000 0xF_FF80_FFFF IFC - NAND Flash 64KB |
| 131 | 0xF_FE00_0000 0xF_FEFF_FFFF CCSRBAR 16MB |
| 132 | 0xF_F802_0000 0xF_F802_FFFF PCI Express 3 I/O Space 64KB |
| 133 | 0xF_F801_0000 0xF_F801_FFFF PCI Express 2 I/O Space 64KB |
| 134 | 0xF_F800_0000 0xF_F800_FFFF PCI Express 1 I/O Space 64KB |
| 135 | 0xF_F600_0000 0xF_F7FF_FFFF Queue manager software portal 32MB |
| 136 | 0xF_F400_0000 0xF_F5FF_FFFF Buffer manager software portal 32MB |
| 137 | 0xF_E800_0000 0xF_EFFF_FFFF IFC - NOR Flash 128MB |
| 138 | 0xF_0000_0000 0xF_003F_FFFF DCSR 4MB |
| 139 | 0xC_2000_0000 0xC_2FFF_FFFF PCI Express 3 Mem Space 256MB |
| 140 | 0xC_1000_0000 0xC_1FFF_FFFF PCI Express 2 Mem Space 256MB |
| 141 | 0xC_0000_0000 0xC_0FFF_FFFF PCI Express 1 Mem Space 256MB |
| 142 | 0x0_0000_0000 0x0_ffff_ffff DDR 4GB |
| 143 | |
| 144 | |
Shengzhou Liu | e8a7f1c | 2015-03-27 15:48:34 +0800 | [diff] [blame] | 145 | 128MB NOR Flash Memory Layout |
| 146 | ----------------------------- |
Shengzhou Liu | 48c6f32 | 2014-11-24 17:11:56 +0800 | [diff] [blame] | 147 | Start Address End Address Definition Max size |
| 148 | 0xEFF40000 0xEFFFFFFF u-boot (current bank) 768KB |
| 149 | 0xEFF20000 0xEFF3FFFF u-boot env (current bank) 128KB |
| 150 | 0xEFF00000 0xEFF1FFFF FMAN Ucode (current bank) 128KB |
| 151 | 0xEFE00000 0xEFE3FFFF QE firmware (current bank) 256KB |
Shengzhou Liu | e8a7f1c | 2015-03-27 15:48:34 +0800 | [diff] [blame] | 152 | 0xED300000 0xEFDFFFFF rootfs (alt bank) 44MB |
| 153 | 0xED000000 0xED2FFFFF Guest image #3 (alternate bank) 3MB |
| 154 | 0xECD00000 0xECFFFFFF Guest image #2 (alternate bank) 3MB |
| 155 | 0xECA00000 0xECCFFFFF Guest image #1 (alternate bank) 3MB |
| 156 | 0xEC900000 0xEC9FFFFF HV config device tree(alt bank) 1MB |
Shengzhou Liu | 48c6f32 | 2014-11-24 17:11:56 +0800 | [diff] [blame] | 157 | 0xEC800000 0xEC8FFFFF Hardware device tree (alt bank) 1MB |
Shengzhou Liu | e8a7f1c | 2015-03-27 15:48:34 +0800 | [diff] [blame] | 158 | 0xEC700000 0xEC7FFFFF HV.uImage (alternate bank) 1MB |
| 159 | 0xEC020000 0xEC6FFFFF Linux.uImage (alt bank) ~7MB |
Shengzhou Liu | 48c6f32 | 2014-11-24 17:11:56 +0800 | [diff] [blame] | 160 | 0xEC000000 0xEC01FFFF RCW (alt bank) 128KB |
| 161 | 0xEBF40000 0xEBFFFFFF u-boot (alt bank) 768KB |
| 162 | 0xEBF20000 0xEBF3FFFF u-boot env (alt bank) 128KB |
| 163 | 0xEBF00000 0xEBF1FFFF FMAN ucode (alt bank) 128KB |
| 164 | 0xEBE00000 0xEBE3FFFF QE firmware (alt bank) 256KB |
Shengzhou Liu | e8a7f1c | 2015-03-27 15:48:34 +0800 | [diff] [blame] | 165 | 0xE9300000 0xEBDFFFFF rootfs (current bank) 44MB |
| 166 | 0xE9000000 0xE92FFFFF Guest image #3 (current bank) 3MB |
| 167 | 0xE8D00000 0xE8FFFFFF Guest image #2 (current bank) 3MB |
| 168 | 0xE8A00000 0xE8CFFFFF Guest image #1 (current bank) 3MB |
| 169 | 0xE8900000 0xE89FFFFF HV config device tree(cur bank) 1MB |
Shengzhou Liu | 48c6f32 | 2014-11-24 17:11:56 +0800 | [diff] [blame] | 170 | 0xE8800000 0xE88FFFFF Hardware device tree (cur bank) 1MB |
Shengzhou Liu | e8a7f1c | 2015-03-27 15:48:34 +0800 | [diff] [blame] | 171 | 0xE8700000 0xE87FFFFF HV.uImage (current bank) 1MB |
| 172 | 0xE8020000 0xE86FFFFF Linux.uImage (current bank) ~7MB |
Shengzhou Liu | 48c6f32 | 2014-11-24 17:11:56 +0800 | [diff] [blame] | 173 | 0xE8000000 0xE801FFFF RCW (current bank) 128KB |
| 174 | |
| 175 | |
Shengzhou Liu | e8a7f1c | 2015-03-27 15:48:34 +0800 | [diff] [blame] | 176 | T1024/T1023 Clock frequency |
| 177 | --------------------------- |
Shengzhou Liu | 48c6f32 | 2014-11-24 17:11:56 +0800 | [diff] [blame] | 178 | BIN Core DDR Platform FMan |
| 179 | Bin1: 1400MHz 1600MT/s 400MHz 700MHz |
| 180 | Bin2: 1200MHz 1600MT/s 400MHz 600MHz |
| 181 | Bin3: 1000MHz 1600MT/s 400MHz 500MHz |
| 182 | |
| 183 | |
| 184 | Software configurations and board settings |
| 185 | ------------------------------------------ |
| 186 | 1. NOR boot: |
| 187 | a. build NOR boot image |
| 188 | $ make T1024RDB_defconfig |
| 189 | $ make |
| 190 | b. program u-boot.bin image to NOR flash |
| 191 | => tftp 1000000 u-boot.bin |
| 192 | => pro off all;era eff40000 efffffff;cp.b 1000000 eff40000 $filesize |
Shengzhou Liu | e8a7f1c | 2015-03-27 15:48:34 +0800 | [diff] [blame] | 193 | on T1024RDB: |
| 194 | set SW1[1:8] = '00010011', SW2[1] = '1', SW3[4] = '0' for NOR boot |
| 195 | on T1023RDB: |
Shengzhou Liu | ff7ea2d | 2015-06-17 16:37:01 +0800 | [diff] [blame] | 196 | set SW1[1:8] = '00010111', SW2[1] = '1', SW3[4] = '0' for NOR boot |
Shengzhou Liu | 48c6f32 | 2014-11-24 17:11:56 +0800 | [diff] [blame] | 197 | |
| 198 | Switching between default bank0 and alternate bank4 on NOR flash |
| 199 | To change boot source to vbank4: |
Shengzhou Liu | e8a7f1c | 2015-03-27 15:48:34 +0800 | [diff] [blame] | 200 | on T1024RDB: |
| 201 | via software: run command 'cpld reset altbank' in u-boot. |
| 202 | via DIP-switch: set SW3[5:7] = '100' |
| 203 | on T1023RDB: |
Shengzhou Liu | ff7ea2d | 2015-06-17 16:37:01 +0800 | [diff] [blame] | 204 | via software: run command 'switch bank4' in u-boot. |
Shengzhou Liu | e8a7f1c | 2015-03-27 15:48:34 +0800 | [diff] [blame] | 205 | via DIP-switch: set SW3[5:7] = '100' |
Shengzhou Liu | 48c6f32 | 2014-11-24 17:11:56 +0800 | [diff] [blame] | 206 | |
| 207 | To change boot source to vbank0: |
Shengzhou Liu | e8a7f1c | 2015-03-27 15:48:34 +0800 | [diff] [blame] | 208 | on T1024RDB: |
| 209 | via software: run command 'cpld reset' in u-boot. |
| 210 | via DIP-Switch: set SW3[5:7] = '000' |
| 211 | on T1023RDB: |
Shengzhou Liu | ff7ea2d | 2015-06-17 16:37:01 +0800 | [diff] [blame] | 212 | via software: run command 'switch bank0' in u-boot. |
Shengzhou Liu | e8a7f1c | 2015-03-27 15:48:34 +0800 | [diff] [blame] | 213 | via DIP-switch: set SW3[5:7] = '000' |
Shengzhou Liu | 48c6f32 | 2014-11-24 17:11:56 +0800 | [diff] [blame] | 214 | |
| 215 | 2. NAND Boot: |
| 216 | a. build PBL image for NAND boot |
| 217 | $ make T1024RDB_NAND_defconfig |
| 218 | $ make |
| 219 | b. program u-boot-with-spl-pbl.bin to NAND flash |
| 220 | => tftp 1000000 u-boot-with-spl-pbl.bin |
| 221 | => nand erase 0 $filesize |
| 222 | => nand write 1000000 0 $filesize |
Shengzhou Liu | ff7ea2d | 2015-06-17 16:37:01 +0800 | [diff] [blame] | 223 | set SW1[1:8] = '10000010', SW2[1] = '1', SW3[4] = '1' for NAND boot |
Shengzhou Liu | 48c6f32 | 2014-11-24 17:11:56 +0800 | [diff] [blame] | 224 | |
| 225 | 3. SPI Boot: |
| 226 | a. build PBL image for SPI boot |
| 227 | $ make T1024RDB_SPIFLASH_defconfig |
| 228 | $ make |
| 229 | b. program u-boot-with-spl-pbl.bin to SPI flash |
| 230 | => tftp 1000000 u-boot-with-spl-pbl.bin |
| 231 | => sf probe 0 |
Shengzhou Liu | e8a7f1c | 2015-03-27 15:48:34 +0800 | [diff] [blame] | 232 | => sf erase 0 100000 |
Shengzhou Liu | 48c6f32 | 2014-11-24 17:11:56 +0800 | [diff] [blame] | 233 | => sf write 1000000 0 $filesize |
Shengzhou Liu | e8a7f1c | 2015-03-27 15:48:34 +0800 | [diff] [blame] | 234 | => tftp 1000000 fsl_fman_ucode_t1024_xx.bin |
| 235 | => sf erase 100000 100000 |
| 236 | => sf write 1000000 110000 20000 |
Shengzhou Liu | 48c6f32 | 2014-11-24 17:11:56 +0800 | [diff] [blame] | 237 | set SW1[1:8] = '00100010', SW2[1] ='1' for SPI boot |
| 238 | |
| 239 | 4. SD Boot: |
| 240 | a. build PBL image for SD boot |
| 241 | $ make T1024RDB_SDCARD_defconfig |
| 242 | $ make |
| 243 | b. program u-boot-with-spl-pbl.bin to SD/MMC card |
| 244 | => tftp 1000000 u-boot-with-spl-pbl.bin |
Shengzhou Liu | ff7ea2d | 2015-06-17 16:37:01 +0800 | [diff] [blame] | 245 | => mmc write 1000000 8 0x7f0 |
Shengzhou Liu | 48c6f32 | 2014-11-24 17:11:56 +0800 | [diff] [blame] | 246 | => tftp 1000000 fsl_fman_ucode_t1024_xx.bin |
| 247 | => mmc write 1000000 0x820 80 |
| 248 | set SW1[1:8] = '00100000', SW2[1] = '0' for SD boot |
| 249 | |
Shengzhou Liu | ff7ea2d | 2015-06-17 16:37:01 +0800 | [diff] [blame] | 250 | SW3[3] = '1' for SD card(or 'switch sd' by software) |
| 251 | SW3[3] = '0' for eMMC (or 'switch emmc' by software) |
| 252 | |
Shengzhou Liu | 48c6f32 | 2014-11-24 17:11:56 +0800 | [diff] [blame] | 253 | |
| 254 | 2-stage NAND/SPI/SD boot loader |
| 255 | ------------------------------- |
| 256 | PBL initializes the internal CPC-SRAM and copy SPL(160K) to SRAM. |
| 257 | SPL further initializes DDR using SPD and environment variables |
| 258 | and copy u-boot(768 KB) from NAND/SPI/SD device to DDR. |
| 259 | Finally SPL transers control to u-boot for futher booting. |
| 260 | |
| 261 | SPL has following features: |
| 262 | - Executes within 256K |
| 263 | - No relocation required |
| 264 | |
| 265 | Run time view of SPL framework |
| 266 | ------------------------------------------------- |
| 267 | |Area | Address | |
| 268 | ------------------------------------------------- |
| 269 | |SecureBoot header | 0xFFFC0000 (32KB) | |
| 270 | ------------------------------------------------- |
| 271 | |GD, BD | 0xFFFC8000 (4KB) | |
| 272 | ------------------------------------------------- |
| 273 | |ENV | 0xFFFC9000 (8KB) | |
| 274 | ------------------------------------------------- |
| 275 | |HEAP | 0xFFFCB000 (30KB) | |
| 276 | ------------------------------------------------- |
| 277 | |STACK | 0xFFFD8000 (22KB) | |
| 278 | ------------------------------------------------- |
| 279 | |U-boot SPL | 0xFFFD8000 (160KB) | |
| 280 | ------------------------------------------------- |
| 281 | |
| 282 | NAND Flash memory Map on T1024RDB |
| 283 | ------------------------------------------------------------- |
| 284 | Start End Definition Size |
| 285 | 0x000000 0x0FFFFF u-boot 1MB(2 block) |
| 286 | 0x100000 0x17FFFF u-boot env 512KB(1 block) |
| 287 | 0x180000 0x1FFFFF FMAN Ucode 512KB(1 block) |
| 288 | 0x200000 0x27FFFF QE Firmware 512KB(1 block) |
| 289 | |
| 290 | |
Shengzhou Liu | e8a7f1c | 2015-03-27 15:48:34 +0800 | [diff] [blame] | 291 | NAND Flash memory Map on T1023RDB |
| 292 | ---------------------------------------------------- |
| 293 | Start End Definition Size |
| 294 | 0x000000 0x0FFFFF u-boot 1MB |
| 295 | 0x100000 0x15FFFF u-boot env 8KB |
| 296 | 0x160000 0x17FFFF FMAN Ucode 128KB |
| 297 | |
| 298 | |
Shengzhou Liu | ff7ea2d | 2015-06-17 16:37:01 +0800 | [diff] [blame] | 299 | SD Card memory Map on T102xRDB |
Shengzhou Liu | 48c6f32 | 2014-11-24 17:11:56 +0800 | [diff] [blame] | 300 | ---------------------------------------------------- |
| 301 | Block #blocks Definition Size |
| 302 | 0x008 2048 u-boot img 1MB |
| 303 | 0x800 0016 u-boot env 8KB |
| 304 | 0x820 0256 FMAN Ucode 128KB |
Shengzhou Liu | e8a7f1c | 2015-03-27 15:48:34 +0800 | [diff] [blame] | 305 | 0x920 0256 QE Firmware 128KB(only T1024RDB) |
Shengzhou Liu | 48c6f32 | 2014-11-24 17:11:56 +0800 | [diff] [blame] | 306 | |
| 307 | |
Shengzhou Liu | e8a7f1c | 2015-03-27 15:48:34 +0800 | [diff] [blame] | 308 | 64MB SPI Flash memory Map on T102xRDB |
Shengzhou Liu | 48c6f32 | 2014-11-24 17:11:56 +0800 | [diff] [blame] | 309 | ---------------------------------------------------- |
| 310 | Start End Definition Size |
| 311 | 0x000000 0x0FFFFF u-boot img 1MB |
| 312 | 0x100000 0x101FFF u-boot env 8KB |
| 313 | 0x110000 0x12FFFF FMAN Ucode 128KB |
Shengzhou Liu | e8a7f1c | 2015-03-27 15:48:34 +0800 | [diff] [blame] | 314 | 0x130000 0x14FFFF QE Firmware 128KB(only T1024RDB) |
| 315 | 0x300000 0x3FFFFF device tree 128KB |
| 316 | 0x400000 0x9FFFFF Linux kernel 6MB |
| 317 | 0xa00000 0x3FFFFFF rootfs 54MB |
Shengzhou Liu | 48c6f32 | 2014-11-24 17:11:56 +0800 | [diff] [blame] | 318 | |
| 319 | |
Shengzhou Liu | ff7ea2d | 2015-06-17 16:37:01 +0800 | [diff] [blame] | 320 | For more details, please refer to T1024RDB/T1023RDB User Guide |
Shengzhou Liu | e8a7f1c | 2015-03-27 15:48:34 +0800 | [diff] [blame] | 321 | and Freescale QorIQ SDK Infocenter document. |