Shengzhou Liu | 9eca55f | 2014-11-24 17:11:55 +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 |
| 73 | |
| 74 | |
| 75 | T1024QDS board Overview |
| 76 | ----------------------- |
| 77 | - SERDES Connections |
| 78 | 4 lanes supporting the following: |
| 79 | - PCI Express: supports Gen 1 and Gen 2 |
| 80 | - SGMII 1G and SGMII 2.5G |
| 81 | - QSGMII |
| 82 | - XFI |
| 83 | - SATA 2.0 |
| 84 | - High-speed multiplexers route the SerDes traffic to appropriate slots or connectors. |
| 85 | - Aurora debug with dedicated connectors. |
| 86 | - DDR Controller |
| 87 | - Supports up to 1600 MTPS data-rate. |
| 88 | - Supports one DDR4 or DDR3L module using DDR4 to DDR3L adapter card. |
| 89 | - Supports Single-, dual- or quad-rank DIMMs |
| 90 | - DDR power supplies 1.35V (DDR3L)/1.20V (DDR4) to all devices with automatic tracking of VTT. |
| 91 | - IFC/Local Bus |
| 92 | - NAND Flash: 8-bit, async, up to 2GB |
| 93 | - NOR: 8-bit or 16-bit, non-multiplexed, up to 512MB |
| 94 | - NOR devices support 8 virtual banks |
| 95 | - Socketed to allow alternate devices |
| 96 | - GASIC: Simple (minimal) target within QIXIS FPGA |
| 97 | - PromJET rapid memory download support |
| 98 | - IFC Debug/Development card |
| 99 | - Ethernet |
| 100 | - Two on-board RGMII 10M/100M/1G ethernet ports. |
| 101 | - One QSGMII interface |
| 102 | - Four SGMII interface supporting 1Gbps |
| 103 | - Three SGMII interfaces supporting 2.5Gbps |
| 104 | - one 10Gbps XFI or 10Base-KR interface |
| 105 | - QIXIS System Logic FPGA |
| 106 | - Manages system power and reset sequencing. |
| 107 | - Manages the configurations of DUT, board, and clock for dynamic shmoo. |
| 108 | - Collects V-I-T data in background for code/power profiling. |
| 109 | - Supports legacy TMT test features (POSt, IRS, SYSCLK-synchronous assertion). |
| 110 | - General fault monitoring and logging. |
| 111 | - Powered from ATX 'standby' power supply that allows continuous operation while rest of the system is off. |
| 112 | - Clocks |
| 113 | - System and DDR clock (SYSCLK, DDRCLK). |
| 114 | - Switch selectable to one of 16 common settings in the interval of 64 MHz-166 MHz. |
| 115 | - Software programmable in 1 MHz increments from 1-200 MHz. |
| 116 | - SERDES clocks |
| 117 | - Provides clocks to SerDes blocks and slots. |
| 118 | - 100 MHz, 125 MHz and 156.25 MHz options. |
| 119 | - Spread-spectrum option for 100 MHz. |
| 120 | - Power Supplies |
| 121 | - Dedicated PMBus regulator for VDD and VDDC. |
| 122 | - Adjustable from 0.7V to 1.3V at 35A |
| 123 | - VDD can be disabled independanty from VDDC for “deep sleep”. |
| 124 | - DDR3L/DDR4 power supply for GVDD: 1.35 or 1.20V at up to 22A. |
| 125 | - VTT/MVREF automatically track operating voltage. |
| 126 | - Dedicated 2.5V VPP supply. |
| 127 | - Dedicated regulators/filters for AVDD supplies. |
| 128 | - Dedicated regulators for other supplies, for example OVDD, CVDD, DVDD, LVDD, POVDD, and EVDD. |
| 129 | - Video |
| 130 | - DIU supports video up to 1280x1024x32 bpp. |
| 131 | - Chrontel CH7201 for HDMI connection. |
| 132 | - TI DS90C387R for direct LCD connection. |
| 133 | - Raw (not encoded) video connector for testing or other encoders. |
| 134 | - USB |
| 135 | - Supports two USB 2.0 ports with integrated PHYs. |
| 136 | - Two type A ports with 5V@1.5A per port. |
| 137 | - Second port can be converted to OTG mini-AB. |
| 138 | - SDHC |
| 139 | For T1024QDS, the SDHC port connects directly to an adapter card slot that has the following features: |
| 140 | - upport for optional clock feedback paths. |
| 141 | - Support for optional high-speed voltage translation direction controls. |
| 142 | - Support for SD slots for: SD, SDHC (1x, 4x, 8x) and MMC. |
| 143 | - Support for eMMC memory devices. |
| 144 | - SPI |
| 145 | -On-board support of 3 different devices and sizes. |
| 146 | - Other IO |
| 147 | - Two Serial ports |
| 148 | - ProfiBus port |
| 149 | - Four I2C ports |
| 150 | |
| 151 | |
| 152 | Memory map on T1024QDS |
| 153 | ---------------------- |
| 154 | Start Address End Address Description Size |
| 155 | 0xF_FFDF_0000 0xF_FFDF_0FFF IFC - FPGA 4KB |
| 156 | 0xF_FF80_0000 0xF_FF80_FFFF IFC - NAND Flash 64KB |
| 157 | 0xF_FE00_0000 0xF_FEFF_FFFF CCSRBAR 16MB |
| 158 | 0xF_F802_0000 0xF_F802_FFFF PCI Express 3 I/O Space 64KB |
| 159 | 0xF_F801_0000 0xF_F801_FFFF PCI Express 2 I/O Space 64KB |
| 160 | 0xF_F800_0000 0xF_F800_FFFF PCI Express 1 I/O Space 64KB |
| 161 | 0xF_F600_0000 0xF_F7FF_FFFF Queue manager software portal 32MB |
| 162 | 0xF_F400_0000 0xF_F5FF_FFFF Buffer manager software portal 32MB |
| 163 | 0xF_E800_0000 0xF_EFFF_FFFF IFC - NOR Flash 128MB |
| 164 | 0xF_E000_0000 0xF_E7FF_FFFF Promjet 128MB |
| 165 | 0xF_0000_0000 0xF_003F_FFFF DCSR 4MB |
| 166 | 0xC_2000_0000 0xC_2FFF_FFFF PCI Express 3 Mem Space 256MB |
| 167 | 0xC_1000_0000 0xC_1FFF_FFFF PCI Express 2 Mem Space 256MB |
| 168 | 0xC_0000_0000 0xC_0FFF_FFFF PCI Express 1 Mem Space 256MB |
| 169 | 0x0_0000_0000 0x0_ffff_ffff DDR 4GB |
| 170 | |
| 171 | |
| 172 | 128MB NOR Flash memory Map |
| 173 | -------------------------- |
| 174 | Start Address End Address Definition Max size |
| 175 | 0xEFF40000 0xEFFFFFFF u-boot (current bank) 768KB |
| 176 | 0xEFF20000 0xEFF3FFFF u-boot env (current bank) 128KB |
| 177 | 0xEFF00000 0xEFF1FFFF FMAN Ucode (current bank) 128KB |
| 178 | 0xEFE00000 0xEFE3FFFF QE firmware (current bank) 256KB |
| 179 | 0xED300000 0xEFEFFFFF rootfs (alt bank) 44MB |
| 180 | 0xEC800000 0xEC8FFFFF Hardware device tree (alt bank) 1MB |
| 181 | 0xEC020000 0xEC7FFFFF Linux.uImage (alt bank) 7MB + 875KB |
| 182 | 0xEC000000 0xEC01FFFF RCW (alt bank) 128KB |
| 183 | 0xEBF40000 0xEBFFFFFF u-boot (alt bank) 768KB |
| 184 | 0xEBF20000 0xEBF3FFFF u-boot env (alt bank) 128KB |
| 185 | 0xEBF00000 0xEBF1FFFF FMAN ucode (alt bank) 128KB |
| 186 | 0xEBE00000 0xEBE3FFFF QE firmware (alt bank) 256KB |
| 187 | 0xE9300000 0xEBEFFFFF rootfs (current bank) 44MB |
| 188 | 0xE8800000 0xE88FFFFF Hardware device tree (cur bank) 1MB |
| 189 | 0xE8020000 0xE86FFFFF Linux.uImage (current bank) 7MB + 875KB |
| 190 | 0xE8000000 0xE801FFFF RCW (current bank) 128KB |
| 191 | |
| 192 | |
| 193 | SerDes clock vs DIP-switch settings |
| 194 | ----------------------------------- |
| 195 | SRDS_PRTCL_S1 SD1_REF_CLK1 SD1_REF_CLK2 SW4[1:4] |
| 196 | 0x6F 100MHz 125MHz 1101 |
| 197 | 0xD6 100MHz 100MHz 1111 |
| 198 | 0x99 156.25MHz 100MHz 1011 |
| 199 | |
| 200 | |
| 201 | T1024 Clock frequency |
| 202 | ---------------------- |
| 203 | BIN Core DDR Platform FMan |
| 204 | Bin1: 1400MHz 1600MT/s 400MHz 700MHz |
| 205 | Bin2: 1200MHz 1600MT/s 400MHz 600MHz |
| 206 | Bin3: 1000MHz 1600MT/s 400MHz 500MHz |
| 207 | |
| 208 | |
| 209 | |
| 210 | Software configurations and board settings |
| 211 | ------------------------------------------ |
| 212 | 1. NOR boot: |
| 213 | a. build NOR boot image |
| 214 | $ make T1024QDS_defconfig (For DDR3L, by default) |
| 215 | or make T1024QDS_D4_defconfig (For DDR4) |
| 216 | $ make |
| 217 | b. program u-boot.bin image to NOR flash |
| 218 | => tftp 1000000 u-boot.bin |
| 219 | => pro off all;era eff40000 efffffff;cp.b 1000000 eff40000 $filesize |
| 220 | set SW1[1:8] = '00010011', SW2[1] = '1', SW6[1:4] = '0000' for NOR boot |
| 221 | |
| 222 | Switching between default bank0 and alternate bank4 on NOR flash |
| 223 | To change boot source to vbank4: |
| 224 | via software: run command 'qixis_reset altbank' in u-boot. |
| 225 | via DIP-switch: set SW6[1:4] = '0100' |
| 226 | |
| 227 | To change boot source to vbank0: |
| 228 | via software: run command 'qixis_reset' in u-boot. |
| 229 | via DIP-Switch: set SW6[1:4] = '0000' |
| 230 | |
| 231 | 2. NAND Boot: |
| 232 | a. build PBL image for NAND boot |
| 233 | $ make T1024QDS_NAND_defconfig |
| 234 | $ make |
| 235 | b. program u-boot-with-spl-pbl.bin to NAND flash |
| 236 | => tftp 1000000 u-boot-with-spl-pbl.bin |
| 237 | => nand erase 0 $filesize |
| 238 | => nand write 1000000 0 $filesize |
| 239 | set SW1[1:8] = '10000010', SW2[1] = '0' and SW6[1:4] = '1001' for NAND boot |
| 240 | |
| 241 | 3. SPI Boot: |
| 242 | a. build PBL image for SPI boot |
| 243 | $ make T1024QDS_SPIFLASH_defconfig |
| 244 | $ make |
| 245 | b. program u-boot-with-spl-pbl.bin to SPI flash |
| 246 | => tftp 1000000 u-boot-with-spl-pbl.bin |
| 247 | => sf probe 0 |
| 248 | => sf erase 0 f0000 |
| 249 | => sf write 1000000 0 $filesize |
| 250 | set SW1[1:8] = '00100010', SW2[1] ='1' for SPI boot |
| 251 | |
| 252 | 4. SD Boot: |
| 253 | a. build PBL image for SD boot |
| 254 | $ make T1024QDS_SDCARD_defconfig |
| 255 | $ make |
| 256 | b. program u-boot-with-spl-pbl.bin to SD/MMC card |
| 257 | => tftp 1000000 u-boot-with-spl-pbl.bin |
| 258 | => mmc write 1000000 8 0x800 |
| 259 | => tftp 1000000 fsl_fman_ucode_t1024_xx.bin |
| 260 | => mmc write 1000000 0x820 80 |
| 261 | set SW1[1:8] = '00100000', SW2[1] = '0' for SD boot |
| 262 | |
| 263 | |
| 264 | DIU/QE-TDM/SDXC settings |
| 265 | ------------------- |
| 266 | a) For TDM Riser: set pin_mux=tdm in hwconfig |
| 267 | b) For UCC(ProfiBus): set pin_mux=ucc in hwconfig |
| 268 | c) For HDMI(DVI): set pin_mux=hdmi in hwconfig |
| 269 | d) For LCD(DFP): set pin_mux=lcd in hwconfig |
| 270 | e) For SDXC: set adaptor=sdxc in hwconfig |
| 271 | |
| 272 | 2-stage NAND/SPI/SD boot loader |
| 273 | ------------------------------- |
| 274 | PBL initializes the internal CPC-SRAM and copy SPL(160K) to SRAM. |
| 275 | SPL further initializes DDR using SPD and environment variables |
| 276 | and copy u-boot(768 KB) from NAND/SPI/SD device to DDR. |
| 277 | Finally SPL transers control to u-boot for futher booting. |
| 278 | |
| 279 | SPL has following features: |
| 280 | - Executes within 256K |
| 281 | - No relocation required |
| 282 | |
| 283 | Run time view of SPL framework |
| 284 | ------------------------------------------------- |
| 285 | |Area | Address | |
| 286 | ------------------------------------------------- |
| 287 | |SecureBoot header | 0xFFFC0000 (32KB) | |
| 288 | ------------------------------------------------- |
| 289 | |GD, BD | 0xFFFC8000 (4KB) | |
| 290 | ------------------------------------------------- |
| 291 | |ENV | 0xFFFC9000 (8KB) | |
| 292 | ------------------------------------------------- |
| 293 | |HEAP | 0xFFFCB000 (30KB) | |
| 294 | ------------------------------------------------- |
| 295 | |STACK | 0xFFFD8000 (22KB) | |
| 296 | ------------------------------------------------- |
| 297 | |U-boot SPL | 0xFFFD8000 (160KB) | |
| 298 | ------------------------------------------------- |
| 299 | |
| 300 | NAND Flash memory Map on T1024QDS |
| 301 | ------------------------------------------------------------- |
| 302 | Start End Definition Size |
| 303 | 0x000000 0x0FFFFF u-boot 1MB |
| 304 | 0x100000 0x15FFFF u-boot env 8KB |
| 305 | 0x160000 0x17FFFF FMAN Ucode 128KB |
| 306 | 0x180000 0x19FFFF QE Firmware 128KB |
| 307 | |
| 308 | |
| 309 | SD Card memory Map on T1024QDS |
| 310 | ---------------------------------------------------- |
| 311 | Block #blocks Definition Size |
| 312 | 0x008 2048 u-boot img 1MB |
| 313 | 0x800 0016 u-boot env 8KB |
| 314 | 0x820 0256 FMAN Ucode 128KB |
| 315 | 0x920 0256 QE Firmware 128KB |
| 316 | |
| 317 | |
| 318 | SPI Flash memory Map on T1024QDS |
| 319 | ---------------------------------------------------- |
| 320 | Start End Definition Size |
| 321 | 0x000000 0x0FFFFF u-boot img 1MB |
| 322 | 0x100000 0x101FFF u-boot env 8KB |
| 323 | 0x110000 0x12FFFF FMAN Ucode 128KB |
| 324 | 0x130000 0x14FFFF QE Firmware 128KB |
| 325 | |
| 326 | |
| 327 | For more details, please refer to T1024QDS Reference Manual and access |
| 328 | website www.freescale.com and Freescale QorIQ SDK Infocenter document. |