~funderscore blog cgit wiki get in touch
aboutsummaryrefslogtreecommitdiff
blob: f312e6a3e32b409f77eb96008ea883afe4ce1553 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
Overview
--------
The T1040RDB is a Freescale reference board that hosts the T1040 SoC
(and variants). Variants inclued T1042 presonality of T1040, in which
case T1040RDB can also be called T1042RDB.

The T1042RDB is a Freescale reference board that hosts the T1042 SoC
(and variants). The board is similar to T1040RDB, T1040 is a reduced
personality of T1040 SoC without Integrated 8-port Gigabit(L2 Switch).

The T1042RDB_PI is a Freescale reference board that hosts the T1042 SoC.
(a personality of T1040 SoC). The board is similar to T1040RDB but is
designed specially with low power features targeted for Printing Image Market.

The T1040D4RDB is a Freescale reference board that hosts the T1040 SoC.
The board is re-designed T1040RDB board with following changes :
    - Support of DDR4 memory and some enhancements

The T1042D4RDB is a Freescale reference board that hosts the T1042 SoC.
The board is re-designed T1040RDB board with following changes :
    - Support of DDR4 memory
    - Support for 0x86 serdes protocol which can support following interfaces
        - 2 RGMII's on DTSEC4, DTSEC5
        - 3 SGMII on DTSEC1, DTSEC2 & DTSEC3

Basic difference's among T1040RDB, T1042RDB_PI, T1042RDB
-------------------------------------------------------------------------
Board		Si		Protocol		Targeted Market
-------------------------------------------------------------------------
T1040RDB	T1040		0x66                    Networking
T1040RDB	T1042		0x86                    Networking
T1042RDB_PI	T1042		0x06                    Printing & Imaging
T1040D4RDB	T1040		0x66                    Networking
T1042D4RDB	T1042		0x86                    Networking


T1040 SoC Overview
------------------
The QorIQ T1040/T1042 processor support four integrated 64-bit e5500 PA
processor cores with high-performance data path acceleration architecture
and network peripheral interfaces required for networking & telecommunications.

The T1040/T1042 SoC includes the following function and features:

 - Four e5500 cores, each with a private 256 KB L2 cache
 - 256 KB shared L3 CoreNet platform cache (CPC)
 - Interconnect CoreNet platform
 - 32-/64-bit DDR3L/DDR4 SDRAM memory controller with ECC and interleaving
   support
 - Data Path Acceleration Architecture (DPAA) incorporating acceleration
 for the following functions:
    -  Packet parsing, classification, and distribution
    -  Queue management for scheduling, packet sequencing, and congestion
       management
    -  Cryptography Acceleration (SEC 5.0)
    - RegEx Pattern Matching Acceleration (PME 2.2)
    - IEEE Std 1588 support
    - Hardware buffer management for buffer allocation and deallocation
 - Ethernet interfaces
    - Integrated 8-port Gigabit Ethernet switch (T1040 only)
    - Four 1 Gbps Ethernet controllers
 - Two RGMII interfaces or one RGMII and one MII interfaces
 - High speed peripheral interfaces
   - Four PCI Express 2.0 controllers running at up to 5 GHz
   - Two SATA controllers supporting 1.5 and 3.0 Gb/s operation
   - Upto two QSGMII interface
   - Upto six SGMII interface supporting 1000 Mbps
   - One SGMII interface supporting upto 2500 Mbps
 - Additional peripheral interfaces
   - Two USB 2.0 controllers with integrated PHY
   - SD/eSDHC/eMMC
   - eSPI controller
   - Four I2C controllers
   - Four UARTs
   - Four GPIO controllers
   - Integrated flash controller (IFC)
   - LCD and HDMI interface (DIU) with 12 bit dual data rate
   - TDM interface
 - Multicore programmable interrupt controller (PIC)
 - Two 8-channel DMA engines
 - Single source clocking implementation
 - Deep Sleep power implementaion (wakeup from GPIO/Timer/Ethernet/USB)

T1040 SoC Personalities
-------------------------
T1022 Personality:
T1022 is a reduced personality of T1040 with less core/clusters.

T1042 Personality:
T1042 is a reduced personality of T1040 without Integrated 8-port Gigabit
Ethernet switch. Rest of the blocks are same as T1040


T1040RDB board Overview
-------------------------
 - SERDES Connections, 8 lanes information:
	1: None
	2: SGMII
	3: QSGMII
	4: QSGMII
	5: PCIe1 x1 slot
	6: mini PCIe connector
	7: mini PCIe connector
	8: SATA connector
 - DDR Controller
     - Supports rates of up to 1600 MHz data-rate
     - Supports one DDR3LP UDIMM/RDIMMs, of single-, dual- or quad-rank types.
 - IFC/Local Bus
     - NAND flash: 1GB 8-bit NAND flash
     - NOR: 128MB 16-bit NOR Flash
 - Ethernet
     - Two on-board RGMII 10/100/1G ethernet ports.
 - CPLD
 - Clocks
     - System and DDR clock (SYSCLK, “DDRCLK”)
     - SERDES clocks
 - Power Supplies
 - USB
     - Supports two USB 2.0 ports with integrated PHYs
     - Two type A ports with 5V@1.5A per port.
 - SDHC
     - SDHC/SDXC connector
 - SPI
    -  On-board 64MB SPI flash
 - Other IO
    - Two Serial ports
    - Four I2C ports

T1042RDB_PI board Overview
-------------------------
 - SERDES Connections, 8 lanes information:
	1, 2, 3, 4 : PCIe x4 slot
	5: mini PCIe connector
	6: mini PCIe connector
	7: NA
	8: SATA connector
 - DDR Controller
     - Supports rates of up to 1600 MHz data-rate
     - Supports one DDR3LP UDIMM/RDIMMs, of single-, dual- or quad-rank types.
 - IFC/Local Bus
     - NAND flash: 1GB 8-bit NAND flash
     - NOR: 128MB 16-bit NOR Flash
 - Ethernet
     - Two on-board RGMII 10/100/1G ethernet ports.
 - CPLD
 - Clocks
     - System and DDR clock (SYSCLK, “DDRCLK”)
     - SERDES clocks
 - Video
     - DIU supports video at up to 1280x1024x32bpp
 - Power Supplies
 - USB
     - Supports two USB 2.0 ports with integrated PHYs
     - Two type A ports with 5V@1.5A per port.
 - SDHC
     - SDHC/SDXC connector
 - SPI
    -  On-board 64MB SPI flash
 - Other IO
    - Two Serial ports
    - Four I2C ports

Memory map
-----------
The addresses in brackets are physical addresses.

Start Address  End Address      Description                     Size
0xF_FFDF_0000  0xF_FFDF_0FFF    IFC - CPLD                      4KB
0xF_FF80_0000  0xF_FF80_FFFF    IFC - NAND Flash                64KB
0xF_FE00_0000  0xF_FEFF_FFFF    CCSRBAR                         16MB
0xF_F803_0000  0xF_F803_FFFF    PCI Express 4 I/O Space         64KB
0xF_F802_0000  0xF_F802_FFFF    PCI Express 3 I/O Space	        64KB
0xF_F801_0000  0xF_F801_FFFF    PCI Express 2 I/O Space         64KB
0xF_F800_0000  0xF_F800_FFFF    PCI Express 1 I/O Space	        64KB
0xF_F600_0000  0xF_F7FF_FFFF    Queue manager software portal   32MB
0xF_F400_0000  0xF_F5FF_FFFF    Buffer manager software portal  32MB
0xF_E800_0000  0xF_EFFF_FFFF    IFC - NOR Flash                 128MB
0xF_0000_0000  0xF_003F_FFFF    DCSR                            4MB
0xC_3000_0000  0xC_3FFF_FFFF    PCI Express 4 Mem Space         256MB
0xC_2000_0000  0xC_2FFF_FFFF    PCI Express 3 Mem Space         256MB
0xC_1000_0000  0xC_1FFF_FFFF    PCI Express 2 Mem Space         256MB
0xC_0000_0000  0xC_0FFF_FFFF    PCI Express 1 Mem Space         256MB
0x0_0000_0000  0x0_ffff_ffff    DDR                             2GB


NOR Flash memory Map
---------------------
 Start          End             Definition                       Size
0xEFF40000      0xEFFFFFFF      U-Boot (current bank)            768KB
0xEFF20000      0xEFF3FFFF      U-Boot env (current bank)        128KB
0xEFF00000      0xEFF1FFFF      FMAN Ucode (current bank)        128KB
0xED300000      0xEFEFFFFF      rootfs (alt bank)                44MB
0xEC800000      0xEC8FFFFF      Hardware device tree (alt bank)  1MB
0xEC020000      0xEC7FFFFF      Linux.uImage (alt bank)          7MB + 875KB
0xEC000000      0xEC01FFFF      RCW (alt bank)                   128KB
0xEBF40000      0xEBFFFFFF      U-Boot (alt bank)                768KB
0xEBF20000      0xEBF3FFFF      U-Boot env (alt bank)            128KB
0xEBF00000      0xEBF1FFFF      FMAN ucode (alt bank)            128KB
0xE9300000      0xEBEFFFFF      rootfs (current bank)            44MB
0xE8800000      0xE88FFFFF      Hardware device tree (cur bank)  11MB + 512KB
0xE8020000      0xE86FFFFF      Linux.uImage (current bank)      7MB + 875KB
0xE8000000      0xE801FFFF      RCW (current bank)               128KB


Various Software configurations/environment variables/commands
--------------------------------------------------------------
The below commands apply to the board

1. U-Boot environment variable hwconfig
   The default hwconfig is:
	hwconfig=fsl_ddr:ctlr_intlv=null,bank_intlv=cs0_cs1;usb1:
					dr_mode=host,phy_type=utmi
   Note: For USB gadget set "dr_mode=peripheral"

2. FMAN Ucode versions
   fsl_fman_ucode_t1040.bin

3. Switching to alternate bank
   Commands for switching to alternate bank.

	1. To change from vbank0 to vbank4
		=> cpld reset altbank (it will boot using vbank4)

	2.To change from vbank4 to vbank0
		=> cpld reset (it will boot using vbank0)

NAND boot with 2 Stage boot loader
----------------------------------
PBL initialise the internal SRAM and copy SPL(160KB) in SRAM.
SPL further initialise DDR using SPD and environment variables and copy
U-Boot(768 KB) from flash to DDR.
Finally SPL transer control to U-Boot for futher booting.

SPL has following features:
 - Executes within 256K
 - No relocation required

 Run time view of SPL framework during  boot :-
 -----------------------------------------------
 Area        | Address                         |
-----------------------------------------------
 Secure boot | 0xFFFC0000 (32KB)               |
 headers     |                                 |
 -----------------------------------------------
 GD, BD      | 0xFFFC8000 (4KB)                |
 -----------------------------------------------
 ENV         | 0xFFFC9000 (8KB)                |
 -----------------------------------------------
 HEAP        | 0xFFFCB000 (30KB)               |
 -----------------------------------------------
 STACK       | 0xFFFD8000 (22KB)               |
 -----------------------------------------------
 U-Boot SPL  | 0xFFFD8000 (160KB)              |
 -----------------------------------------------

NAND Flash memory Map on T104xRDB
------------------------------------------
 Start		 End		Definition			Size
0x000000	0x0FFFFF	U-Boot                          1MB
0x180000	0x19FFFF	U-Boot env                      128KB
0x280000	0x29FFFF	FMAN Ucode                      128KB
0x380000	0x39FFFF	QE Firmware                     128KB

SD Card memory Map on T104xRDB
------------------------------------------
 Block		#blocks		Definition			Size
0x008		2048		U-Boot                          1MB
0x800		0024		U-Boot env                      8KB
0x820		0256		FMAN Ucode                      128KB
0x920		0256		QE Firmware                     128KB

SPI Flash memory Map on T104xRDB
------------------------------------------
 Start		 End		Definition			Size
0x000000	0x0FFFFF	U-Boot                          1MB
0x100000	0x101FFF	U-Boot env                      8KB
0x110000	0x12FFFF	FMAN Ucode                      128KB
0x130000	0x14FFFF	QE Firmware                     128KB

Please note QE Firmware is only valid for T1040RDB


Switch Settings for T104xRDB boards: (ON is 0, OFF is 1)
==========================================================
NOR boot SW setting:
SW1: 00010011
SW2: 10111011
SW3: 11100001

NAND boot SW setting:
SW1: 10001000
SW2: 00111011
SW3: 11110001

SPI boot SW setting:
SW1: 00100010
SW2: 10111011
SW3: 11100001

SD boot SW setting:
SW1: 00100000
SW2: 00111011
SW3: 11100001

Switch Settings for T104xD4RDB boards: (ON is 0, OFF is 1)
=============================================================
NOR boot SW setting:
SW1: 00010011
SW2: 10111001
SW3: 11100001

NAND boot SW setting:
SW1: 10001000
SW2: 00111001
SW3: 11110001

SPI boot SW setting:
SW1: 00100010
SW2: 10111001
SW3: 11100001

SD boot SW setting:
SW1: 00100000
SW2: 00111001
SW3: 11100001

PBL-based image generation
==========================
Changes only the required register bit in in PBI commands.

Provides reference code which might needs some
modification as per requirement.
example:
By default PBI_SRC=14 (which is for IFC-NAND/NOR) in rcw.cfg file
which needs to be changed for SPI and SD.

For SD-boot
==============
1. Set RCW[192:195], PBI_SRC bits as 6 in RCW file (t1040d4_rcw.cfg type files)

example:
 RCW file: board/freescale/t104xrdb/t1040d4_rcw.cfg

Change
66000002 40000002 ec027000 01000000
to
66000002 40000002 6c027000 01000000

2. SD does not support flush so remove flush from pbl, make changes in
   tools/pblimage.c file, Update value of pbl_end_cmd[0] = 0x09138000
   with 0x091380c0

For SPI-boot
==============
1. Set RCW[192:195], PBI_SRC bits as 5 in RCW file (t1040d4_rcw.cfg type files)

example:
 RCW file: board/freescale/t104xrdb/t1040d4_rcw.cfg

Change
66000002 40000002 ec027000 01000000
to
66000002 40000002 5c027000 01000000

2. SPI does not support flush so remove flush from pbl, make changes in
   tools/pblimage.c file, Update value of pbl_end_cmd[0] = 0x09138000
   with 0x091380c0

Device tree support and how to enable it for different configs
--------------------------------------------------------------
Device tree support is available for t1042d4rdb for below mentioned boot,
1. NOR Boot
2. NAND Boot
3. SD Boot
4. SPIFLASH Boot

To enable device tree support for other boot, below configs need to be
enabled in relative defconfig file,
1. CONFIG_DEFAULT_DEVICE_TREE="t1042d4rdb" (Change default device tree name if required)
2. CONFIG_OF_CONTROL
3. CONFIG_MPC85XX_HAVE_RESET_VECTOR if reset vector is located at
   CFG_RESET_VECTOR_ADDRESS - 0xffc

If device tree support is enabled in defconfig,
1. use 'u-boot.bin' for NOR boot.
2. use 'u-boot-with-spl-pbl.bin' for other boot.