23 #ifndef LIBBSP_POWERPC_QORIQ_QORIQ_H 24 #define LIBBSP_POWERPC_QORIQ_QORIQ_H 34 #define QORIQ_FILL(a, b, s) uint8_t reserved_ ## b [b - a - sizeof(s)] 35 #define QORIQ_RESERVE(a, b) uint8_t reserved_ ## b [b - a] 39 QORIQ_FILL(0x00000, 0x00010, uint32_t);
44 QORIQ_FILL(0x00000, 0x00010, uint32_t);
46 QORIQ_FILL(0x00010, 0x00020, uint32_t);
48 QORIQ_FILL(0x00020, 0x00030, uint32_t);
50 QORIQ_FILL(0x00030, 0x00040, uint32_t);
53 #define GTCCR_TOG BSP_BBIT32(0) 54 #define GTCCR_COUNT_GET(reg) BSP_BFLD32GET(reg, 1, 31) 56 #define GTBCR_CI BSP_BBIT32(0) 57 #define GTBCR_COUNT(val) BSP_BFLD32(val, 1, 31) 58 #define GTBCR_COUNT_GET(reg) BSP_BFLD32GET(reg, 1, 31) 59 #define GTBCR_COUNT_SET(reg, val) BSP_BFLD32SET(reg, val, 1, 31) 63 QORIQ_FILL(0x00000, 0x00010, uint32_t);
64 uint32_t
internal [2];
65 QORIQ_FILL(0x00010, 0x00020, uint32_t [2]);
70 QORIQ_FILL(0x00000, 0x00010, uint32_t);
72 QORIQ_FILL(0x00010, 0x00020, uint32_t);
76 QORIQ_RESERVE(0x00000, 0x00040);
79 QORIQ_FILL(0x00080, 0x00090, uint32_t);
81 QORIQ_FILL(0x00090, 0x000a0, uint32_t);
83 QORIQ_FILL(0x000a0, 0x000b0, uint32_t);
85 QORIQ_FILL(0x000b0, 0x01000, uint32_t);
90 QORIQ_FILL(0x00000, 0x00010, uint32_t);
92 QORIQ_FILL(0x00010, 0x00040, uint32_t);
95 QORIQ_FILL(0x00080, 0x00090, uint32_t);
97 QORIQ_FILL(0x00090, 0x000a0, uint32_t);
99 QORIQ_FILL(0x000a0, 0x000b0, uint32_t);
101 QORIQ_FILL(0x000b0, 0x01000, uint32_t);
103 QORIQ_FILL(0x01000, 0x01020, uint32_t);
105 QORIQ_FILL(0x01020, 0x01080, uint32_t);
107 QORIQ_FILL(0x01080, 0x01090, uint32_t);
109 QORIQ_FILL(0x01090, 0x010a0, uint32_t);
112 QORIQ_FILL(0x010e0, 0x010f0, uint32_t);
114 QORIQ_FILL(0x010f0, 0x01100, uint32_t);
116 QORIQ_RESERVE(0x01200, 0x01300);
118 QORIQ_FILL(0x01300, 0x01308, uint32_t);
120 QORIQ_FILL(0x01308, 0x01310, uint32_t);
124 QORIQ_RESERVE(0x013d0, 0x01400);
126 QORIQ_RESERVE(0x01440, 0x01500);
128 QORIQ_FILL(0x01500, 0x01510, uint32_t);
130 QORIQ_FILL(0x01510, 0x01600, uint32_t);
132 QORIQ_RESERVE(0x01680, 0x01720);
134 QORIQ_FILL(0x01720, 0x01740, uint32_t);
136 QORIQ_FILL(0x01740, 0x020f0, uint32_t);
138 QORIQ_FILL(0x020f0, 0x02100, uint32_t);
140 QORIQ_RESERVE(0x02200, 0x02300);
142 QORIQ_FILL(0x02300, 0x02400, uint32_t);
144 QORIQ_RESERVE(0x02440, 0x02500);
146 QORIQ_FILL(0x02500, 0x02510, uint32_t);
148 QORIQ_FILL(0x02510, 0x10000, uint32_t);
150 QORIQ_RESERVE(0x10180, 0x10200);
153 QORIQ_RESERVE(0x11700, 0x11c00);
155 QORIQ_RESERVE(0x11d00, 0x13000);
157 QORIQ_RESERVE(0x13c00, 0x20000);
161 #define GTTCR_ROVR(val) BSP_BFLD32(val, 5, 7) 162 #define GTTCR_ROVR_GET(reg) BSP_BFLD32GET(reg, 5, 7) 163 #define GTTCR_ROVR_SET(reg, val) BSP_BFLD32SET(reg, val, 5, 7) 164 #define GTTCR_RTM BSP_BBIT32(15) 165 #define GTTCR_CLKR(val) BSP_BFLD32(val, 22, 23) 166 #define GTTCR_CLKR_GET(reg) BSP_BFLD32GET(reg, 22, 23) 167 #define GTTCR_CLKR_SET(reg, val) BSP_BFLD32SET(reg, val, 22, 23) 168 #define GTTCR_CASC(val) BSP_BFLD32(val, 29, 31) 169 #define GTTCR_CASC_GET(reg) BSP_BFLD32GET(reg, 29, 31) 170 #define GTTCR_CASC_SET(reg, val) BSP_BFLD32SET(reg, val, 29, 31) 183 QORIQ_RESERVE(0x001c, 0x1000);
187 QORIQ_RESERVE(0x000, 0x100);
192 QORIQ_RESERVE(0x10c, 0x120);
195 QORIQ_RESERVE(0x128, 0x140);
200 QORIQ_RESERVE(0x150, 0x154);
202 uint32_t periodiclistbase;
206 uint32_t asynclistaddr;
209 QORIQ_RESERVE(0x15c, 0x160);
211 uint32_t txfilltuning;
212 QORIQ_RESERVE(0x168, 0x170);
214 QORIQ_RESERVE(0x174, 0x180);
217 QORIQ_RESERVE(0x188, 0x1a8);
219 uint32_t endptsetupstat;
220 uint32_t endpointprime;
222 uint32_t endptstatus;
223 uint32_t endptcomplete;
224 uint32_t endptctrl[6];
225 QORIQ_RESERVE(0x1d8, 0x400);
228 uint32_t age_cnt_thresh;
231 QORIQ_RESERVE(0x414, 0x500);
254 QORIQ_FILL(0x00044, 0x00050, uint32_t);
256 QORIQ_FILL(0x00050, 0x000fc, uint32_t);
258 QORIQ_FILL(0x000fc, 0x0040c, uint32_t);
262 #if QORIQ_CHIP_IS_T_VARIANT(QORIQ_CHIP_VARIANT) 276 #define LCC_BSTAR_EN BSP_BBIT32(0) 282 uint32_t reserved_0xc;
286 uint32_t reserved_0x0[640];
287 uint32_t qmbm_warmrst;
291 QORIQ_RESERVE(0x0000, 0x1000);
295 QORIQ_RESERVE(0x0000, 0x1000);
299 QORIQ_RESERVE(0x000000, 0x100000);
304 QORIQ_FILL(0x000000, 0x000c00,
qoriq_lcc);
306 QORIQ_FILL(0x000c00, 0x001000,
qoriq_law [32]);
307 QORIQ_RESERVE(0x001000, 0x040000);
309 QORIQ_FILL(0x040000, 0x070000,
qoriq_pic);
310 QORIQ_RESERVE(0x070000, 0x0e0000);
312 QORIQ_FILL(0x0e0000, 0x0e1000, qoriq_dcfg);
313 QORIQ_RESERVE(0x0e1000, 0x114000);
316 QORIQ_RESERVE(0x115000, 0x11c500);
318 QORIQ_FILL(0x11c500, 0x11c600, qoriq_uart);
320 QORIQ_FILL(0x11c600, 0x11d500, qoriq_uart);
322 QORIQ_FILL(0x11d500, 0x11d600, qoriq_uart);
324 QORIQ_FILL(0x11d600, 0x11e000, qoriq_uart);
325 QORIQ_RESERVE(0x11e000, 0x130000);
327 QORIQ_RESERVE(0x134000, 0x210000);
329 QORIQ_FILL(0x210000, 0x211000,
qoriq_usb);
330 QORIQ_RESERVE(0x211000, 0x318000);
332 QORIQ_RESERVE(0x319000, 0x31a000);
334 QORIQ_RESERVE(0x31b000, 0x400000);
336 QORIQ_RESERVE(0x600000, 0x2000000);
347 uint32_t reserved_2 [3];
351 #define CCSRBAR_BASE_ADDR(val) BSP_BFLD32(val, 8, 23) 352 #define CCSRBAR_BASE_ADDR_GET(reg) BSP_BFLD32GET(reg, 8, 23) 353 #define CCSRBAR_BASE_ADDR_SET(reg, val) BSP_BFLD32SET(reg, val, 8, 23) 355 #define ALTCBAR_BASE_ADDR(val) BSP_BFLD32(val, 8, 23) 356 #define ALTCBAR_BASE_ADDR_GET(reg) BSP_BFLD32GET(reg, 8, 23) 357 #define ALTCBAR_BASE_ADDR_SET(reg, val) BSP_BFLD32SET(reg, val, 8, 23) 359 #define ALTCAR_EN BSP_BBIT32(0) 360 #define ALTCAR_TRGT_ID(val) BSP_BFLD32(val, 8, 11) 361 #define ALTCAR_TRGT_ID_GET(reg) BSP_BFLD32GET(reg, 8, 11) 362 #define ALTCAR_TRGT_ID_SET(reg, val) BSP_BFLD32SET(reg, val, 8, 11) 364 #define BPTR_EN BSP_BBIT32(0) 365 #define BPTR_BOOT_PAGE(val) BSP_BFLD32(val, 8, 31) 366 #define BPTR_BOOT_PAGE_GET(reg) BSP_BFLD32GET(reg, 8, 31) 367 #define BPTR_BOOT_PAGE_SET(reg, val) BSP_BFLD32SET(reg, val, 8, 31) 373 uint32_t reserved_1 [5];
376 #define LAWBAR_BASE_ADDR(val) BSP_BFLD32(val, 8, 31) 377 #define LAWBAR_BASE_ADDR_GET(reg) BSP_BFLD32GET(reg, 8, 31) 378 #define LAWBAR_BASE_ADDR_SET(reg, val) BSP_BFLD32SET(reg, val, 8, 31) 380 #define LAWAR_EN BSP_BBIT32(0) 381 #define LAWAR_TRGT(val) BSP_BFLD32(val, 8, 11) 382 #define LAWAR_TRGT_GET(reg) BSP_BFLD32GET(reg, 8, 11) 383 #define LAWAR_TRGT_SET(reg, val) BSP_BFLD32SET(reg, val, 8, 11) 384 #define LAWAR_SIZE(val) BSP_BFLD32(val, 26, 31) 385 #define LAWAR_SIZE_GET(reg) BSP_BFLD32GET(reg, 26, 31) 386 #define LAWAR_SIZE_SET(reg, val) BSP_BFLD32SET(reg, val, 26, 31) 443 QORIQ_FILL(0x00c08, 0x01000,
qoriq_law [12]);
445 QORIQ_FILL(0x01000, 0x02000, qoriq_ecm);
446 qoriq_ddr_controller ddr_controller;
447 QORIQ_FILL(0x02000, 0x03000, qoriq_ddr_controller);
449 QORIQ_FILL(0x03000, 0x04000, qoriq_i2c);
450 QORIQ_RESERVE(0x04000, 0x04500);
452 QORIQ_FILL(0x04500, 0x04600, qoriq_uart);
454 QORIQ_FILL(0x04600, 0x04700, qoriq_uart);
455 QORIQ_RESERVE(0x04700, 0x05000);
456 qoriq_local_bus local_bus;
457 QORIQ_FILL(0x05000, 0x06000, qoriq_local_bus);
459 QORIQ_FILL(0x06000, 0x07000, qoriq_spi);
460 QORIQ_RESERVE(0x07000, 0x08000);
461 qoriq_pci_express pci_express_3;
462 QORIQ_FILL(0x08000, 0x09000, qoriq_pci_express);
463 qoriq_pci_express pci_express_2;
464 QORIQ_FILL(0x09000, 0x0a000, qoriq_pci_express);
465 qoriq_pci_express pci_express_1;
466 QORIQ_FILL(0x0a000, 0x0b000, qoriq_pci_express);
467 QORIQ_RESERVE(0x0b000, 0x0c000);
469 QORIQ_FILL(0x0c000, 0x0d000, qoriq_dma);
470 QORIQ_RESERVE(0x0d000, 0x0f000);
472 QORIQ_RESERVE(0x10000, 0x16000);
474 QORIQ_FILL(0x16000, 0x17000, qoriq_tdm);
475 QORIQ_RESERVE(0x17000, 0x20000);
476 qoriq_l2_cache l2_cache;
477 QORIQ_FILL(0x20000, 0x21000, qoriq_l2_cache);
479 QORIQ_FILL(0x21000, 0x22000, qoriq_dma);
490 QORIQ_RESERVE(0x27000, 0x2c000);
491 qoriq_tdm_dma tdm_dma;
492 QORIQ_FILL(0x2c000, 0x2d000, qoriq_tdm_dma);
493 QORIQ_RESERVE(0x2d000, 0x2e000);
496 QORIQ_RESERVE(0x2f000, 0x30000);
498 QORIQ_FILL(0x30000, 0x31000, qoriq_sec);
499 QORIQ_RESERVE(0x31000, 0x40000);
502 QORIQ_RESERVE(0x80000, 0xb0000);
509 QORIQ_RESERVE(0xb3000, 0xb4000);
516 QORIQ_RESERVE(0xb7000, 0xc0000);
517 qoriq_serial_rapid_io serial_rapid_io;
518 QORIQ_FILL(0xc0000, 0xe0000, qoriq_serial_rapid_io);
519 qoriq_global_utilities global_utilities;
520 QORIQ_FILL(0xe0000, 0xe1000, qoriq_global_utilities);
521 qoriq_performance_monitor performance_monitor;
522 QORIQ_FILL(0xe1000, 0xe2000, qoriq_performance_monitor);
523 qoriq_debug_watchpoint debug_watchpoint;
524 QORIQ_FILL(0xe2000, 0xe3000, qoriq_debug_watchpoint);
526 QORIQ_FILL(0xe3000, 0xe4000, qoriq_serdes);
527 QORIQ_RESERVE(0xe4000, 0xf0000);
528 qoriq_boot_rom boot_rom;
529 QORIQ_FILL(0xf0000, 0x100000, qoriq_boot_rom);
536 #if QORIQ_CHIP_IS_T_VARIANT(QORIQ_CHIP_VARIANT) 537 extern uint8_t qoriq_bman_portal[2][16777216];
538 extern uint8_t qoriq_qman_portal[2][16777216];
540 void qoriq_clear_ce_portal(
void *base,
size_t size);
541 void qoriq_clear_ci_portal(
void *base,
size_t size);
544 static inline void qoriq_reset_qman_and_bman(
void)
546 #if QORIQ_CHIP_IS_T_VARIANT(QORIQ_CHIP_VARIANT) 547 qoriq.dcfg.qmbm_warmrst = 0x3;
549 while ((qoriq.dcfg.qmbm_warmrst & 0x3) != 0) {
Definition: 8xx_immap.h:216
Definition: intercom.c:74