File indexing completed on 2025-05-11 08:23:57
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036 #ifndef LIBBSP_POWERPC_QORIQ_QORIQ_H
0037 #define LIBBSP_POWERPC_QORIQ_QORIQ_H
0038
0039 #include <bsp.h>
0040 #include <bsp/tsec.h>
0041 #include <bsp/utility.h>
0042
0043 #ifdef __cplusplus
0044 extern "C" {
0045 #endif
0046
0047 #define QORIQ_FILL(a, b, s) uint8_t reserved_ ## b [b - a - sizeof(s)]
0048 #define QORIQ_RESERVE(a, b) uint8_t reserved_ ## b [b - a]
0049
0050 typedef struct {
0051 uint32_t reg;
0052 QORIQ_FILL(0x00000, 0x00010, uint32_t);
0053 } qoriq_pic_reg;
0054
0055 typedef struct {
0056 uint32_t ccr;
0057 QORIQ_FILL(0x00000, 0x00010, uint32_t);
0058 uint32_t bcr;
0059 QORIQ_FILL(0x00010, 0x00020, uint32_t);
0060 uint32_t vpr;
0061 QORIQ_FILL(0x00020, 0x00030, uint32_t);
0062 uint32_t dr;
0063 QORIQ_FILL(0x00030, 0x00040, uint32_t);
0064 } qoriq_pic_global_timer;
0065
0066 #define GTCCR_TOG BSP_BBIT32(0)
0067 #define GTCCR_COUNT_GET(reg) BSP_BFLD32GET(reg, 1, 31)
0068
0069 #define GTBCR_CI BSP_BBIT32(0)
0070 #define GTBCR_COUNT(val) BSP_BFLD32(val, 1, 31)
0071 #define GTBCR_COUNT_GET(reg) BSP_BFLD32GET(reg, 1, 31)
0072 #define GTBCR_COUNT_SET(reg, val) BSP_BFLD32SET(reg, val, 1, 31)
0073
0074 typedef struct {
0075 uint32_t misc;
0076 QORIQ_FILL(0x00000, 0x00010, uint32_t);
0077 uint32_t internal [2];
0078 QORIQ_FILL(0x00010, 0x00020, uint32_t [2]);
0079 } qoriq_pic_bit_field;
0080
0081 typedef struct {
0082 uint32_t vpr;
0083 QORIQ_FILL(0x00000, 0x00010, uint32_t);
0084 uint32_t dr;
0085 QORIQ_FILL(0x00010, 0x00020, uint32_t);
0086 } qoriq_pic_src_cfg;
0087
0088 typedef struct {
0089 QORIQ_RESERVE(0x00000, 0x00040);
0090 qoriq_pic_reg ipidr [4];
0091 uint32_t ctpr;
0092 QORIQ_FILL(0x00080, 0x00090, uint32_t);
0093 uint32_t whoami;
0094 QORIQ_FILL(0x00090, 0x000a0, uint32_t);
0095 uint32_t iack;
0096 QORIQ_FILL(0x000a0, 0x000b0, uint32_t);
0097 uint32_t eoi;
0098 QORIQ_FILL(0x000b0, 0x01000, uint32_t);
0099 } qoriq_pic_per_cpu;
0100
0101 typedef struct {
0102 uint32_t brr1;
0103 QORIQ_FILL(0x00000, 0x00010, uint32_t);
0104 uint32_t brr2;
0105 QORIQ_FILL(0x00010, 0x00040, uint32_t);
0106 qoriq_pic_reg ipidr [4];
0107 uint32_t ctpr;
0108 QORIQ_FILL(0x00080, 0x00090, uint32_t);
0109 uint32_t whoami;
0110 QORIQ_FILL(0x00090, 0x000a0, uint32_t);
0111 uint32_t iack;
0112 QORIQ_FILL(0x000a0, 0x000b0, uint32_t);
0113 uint32_t eoi;
0114 QORIQ_FILL(0x000b0, 0x01000, uint32_t);
0115 uint32_t frr;
0116 QORIQ_FILL(0x01000, 0x01020, uint32_t);
0117 uint32_t gcr;
0118 QORIQ_FILL(0x01020, 0x01080, uint32_t);
0119 uint32_t vir;
0120 QORIQ_FILL(0x01080, 0x01090, uint32_t);
0121 uint32_t pir;
0122 QORIQ_FILL(0x01090, 0x010a0, uint32_t);
0123 qoriq_pic_reg ipivpr [4];
0124 uint32_t svr;
0125 QORIQ_FILL(0x010e0, 0x010f0, uint32_t);
0126 uint32_t tfrra;
0127 QORIQ_FILL(0x010f0, 0x01100, uint32_t);
0128 qoriq_pic_global_timer gta [4];
0129 QORIQ_RESERVE(0x01200, 0x01300);
0130 uint32_t tcra;
0131 QORIQ_FILL(0x01300, 0x01308, uint32_t);
0132 uint32_t erqsr;
0133 QORIQ_FILL(0x01308, 0x01310, uint32_t);
0134 qoriq_pic_bit_field irqsr;
0135 qoriq_pic_bit_field cisr;
0136 qoriq_pic_bit_field pm [4];
0137 QORIQ_RESERVE(0x013d0, 0x01400);
0138 qoriq_pic_reg msgr03 [4];
0139 QORIQ_RESERVE(0x01440, 0x01500);
0140 uint32_t mer03;
0141 QORIQ_FILL(0x01500, 0x01510, uint32_t);
0142 uint32_t msr03;
0143 QORIQ_FILL(0x01510, 0x01600, uint32_t);
0144 qoriq_pic_reg msir [8];
0145 QORIQ_RESERVE(0x01680, 0x01720);
0146 uint32_t msisr;
0147 QORIQ_FILL(0x01720, 0x01740, uint32_t);
0148 uint32_t msiir;
0149 QORIQ_FILL(0x01740, 0x020f0, uint32_t);
0150 uint32_t tfrrb;
0151 QORIQ_FILL(0x020f0, 0x02100, uint32_t);
0152 qoriq_pic_global_timer gtb [4];
0153 QORIQ_RESERVE(0x02200, 0x02300);
0154 uint32_t tcrb;
0155 QORIQ_FILL(0x02300, 0x02400, uint32_t);
0156 qoriq_pic_reg msgr47 [4];
0157 QORIQ_RESERVE(0x02440, 0x02500);
0158 uint32_t mer47;
0159 QORIQ_FILL(0x02500, 0x02510, uint32_t);
0160 uint32_t msr47;
0161 QORIQ_FILL(0x02510, 0x10000, uint32_t);
0162 qoriq_pic_src_cfg ei [12];
0163 QORIQ_RESERVE(0x10180, 0x10200);
0164 qoriq_pic_src_cfg ii_0 [160];
0165 qoriq_pic_src_cfg mi [8];
0166 QORIQ_RESERVE(0x11700, 0x11c00);
0167 qoriq_pic_src_cfg msi [8];
0168 QORIQ_RESERVE(0x11d00, 0x13000);
0169 qoriq_pic_src_cfg ii_1 [96];
0170 QORIQ_RESERVE(0x13c00, 0x20000);
0171 qoriq_pic_per_cpu per_cpu [2];
0172 } qoriq_pic;
0173
0174 #define GTTCR_ROVR(val) BSP_BFLD32(val, 5, 7)
0175 #define GTTCR_ROVR_GET(reg) BSP_BFLD32GET(reg, 5, 7)
0176 #define GTTCR_ROVR_SET(reg, val) BSP_BFLD32SET(reg, val, 5, 7)
0177 #define GTTCR_RTM BSP_BBIT32(15)
0178 #define GTTCR_CLKR(val) BSP_BFLD32(val, 22, 23)
0179 #define GTTCR_CLKR_GET(reg) BSP_BFLD32GET(reg, 22, 23)
0180 #define GTTCR_CLKR_SET(reg, val) BSP_BFLD32SET(reg, val, 22, 23)
0181 #define GTTCR_CASC(val) BSP_BFLD32(val, 29, 31)
0182 #define GTTCR_CASC_GET(reg) BSP_BFLD32GET(reg, 29, 31)
0183 #define GTTCR_CASC_SET(reg, val) BSP_BFLD32SET(reg, val, 29, 31)
0184
0185 typedef struct {
0186 } qoriq_uart;
0187
0188 typedef struct {
0189 uint32_t gpdir;
0190 uint32_t gpodr;
0191 uint32_t gpdat;
0192 uint32_t gpier;
0193 uint32_t gpimr;
0194 uint32_t gpicr;
0195 uint32_t gpibe;
0196 QORIQ_RESERVE(0x001c, 0x1000);
0197 } qoriq_gpio;
0198
0199 typedef struct {
0200 QORIQ_RESERVE(0x000, 0x100);
0201 uint16_t caplength;
0202 uint16_t hciversion;
0203 uint32_t hcsparams;
0204 uint32_t hccparams;
0205 QORIQ_RESERVE(0x10c, 0x120);
0206 uint32_t dciversion;
0207 uint32_t dccparams;
0208 QORIQ_RESERVE(0x128, 0x140);
0209 uint32_t usbcmd;
0210 uint32_t usbsts;
0211 uint32_t usbintr;
0212 uint32_t frindex;
0213 QORIQ_RESERVE(0x150, 0x154);
0214 union {
0215 uint32_t periodiclistbase;
0216 uint32_t deviceaddr;
0217 } perbase_devaddr;
0218 union {
0219 uint32_t asynclistaddr;
0220 uint32_t addr;
0221 } async_addr;
0222 QORIQ_RESERVE(0x15c, 0x160);
0223 uint32_t burstsize;
0224 uint32_t txfilltuning;
0225 QORIQ_RESERVE(0x168, 0x170);
0226 uint32_t viewport;
0227 QORIQ_RESERVE(0x174, 0x180);
0228 uint32_t configflag;
0229 uint32_t portsc1;
0230 QORIQ_RESERVE(0x188, 0x1a8);
0231 uint32_t usbmode;
0232 uint32_t endptsetupstat;
0233 uint32_t endpointprime;
0234 uint32_t endptflush;
0235 uint32_t endptstatus;
0236 uint32_t endptcomplete;
0237 uint32_t endptctrl[6];
0238 QORIQ_RESERVE(0x1d8, 0x400);
0239 uint32_t snoop1;
0240 uint32_t snoop2;
0241 uint32_t age_cnt_thresh;
0242 uint32_t pri_ctrl;
0243 uint32_t si_ctrl;
0244 QORIQ_RESERVE(0x414, 0x500);
0245 uint32_t control;
0246 } qoriq_usb;
0247
0248 typedef struct {
0249 uint32_t dsaddr;
0250 uint32_t blkattr;
0251 uint32_t cmdarg;
0252 uint32_t xfertyp;
0253 uint32_t cmdrsp0;
0254 uint32_t cmdrsp1;
0255 uint32_t cmdrsp2;
0256 uint32_t cmdrsp3;
0257 uint32_t datport;
0258 uint32_t prsstat;
0259 uint32_t proctl;
0260 uint32_t sysctl;
0261 uint32_t irqstat;
0262 uint32_t irqstaten;
0263 uint32_t irqsigen;
0264 uint32_t autoc12err;
0265 uint32_t hostcapblt;
0266 uint32_t wml;
0267 QORIQ_FILL(0x00044, 0x00050, uint32_t);
0268 uint32_t fevt;
0269 QORIQ_FILL(0x00050, 0x000fc, uint32_t);
0270 uint32_t hostver;
0271 QORIQ_FILL(0x000fc, 0x0040c, uint32_t);
0272 uint32_t dcr;
0273 } qoriq_esdhc;
0274
0275 #if QORIQ_CHIP_IS_T_VARIANT(QORIQ_CHIP_VARIANT)
0276
0277 typedef struct {
0278 uint32_t ccsrbarh;
0279 uint32_t ccsrbarl;
0280 uint32_t ccsrar;
0281 uint32_t altcbarh;
0282 uint32_t altcbarl;
0283 uint32_t altcar;
0284 uint32_t bstrh;
0285 uint32_t bstrl;
0286 uint32_t bstar;
0287 } qoriq_lcc;
0288
0289 #define LCC_BSTAR_EN BSP_BBIT32(0)
0290
0291 typedef struct {
0292 uint32_t lawbarh;
0293 uint32_t lawbarl;
0294 uint32_t lawar;
0295 uint32_t reserved_0xc;
0296 } qoriq_law;
0297
0298 typedef struct {
0299 uint32_t reserved_0x0[640];
0300 uint32_t qmbm_warmrst;
0301 } qoriq_dcfg;
0302
0303 typedef struct {
0304 QORIQ_RESERVE(0x0000, 0x1000);
0305 } qoriq_bman;
0306
0307 typedef struct {
0308 QORIQ_RESERVE(0x0000, 0x1000);
0309 } qoriq_qman;
0310
0311 typedef struct {
0312 QORIQ_RESERVE(0x000000, 0x100000);
0313 } qoriq_fman;
0314
0315 typedef struct qoriq_ccsr {
0316 qoriq_lcc lcc;
0317 QORIQ_FILL(0x000000, 0x000c00, qoriq_lcc);
0318 qoriq_law law [32];
0319 QORIQ_FILL(0x000c00, 0x001000, qoriq_law [32]);
0320 QORIQ_RESERVE(0x001000, 0x040000);
0321 qoriq_pic pic;
0322 QORIQ_FILL(0x040000, 0x070000, qoriq_pic);
0323 QORIQ_RESERVE(0x070000, 0x0e0000);
0324 qoriq_dcfg dcfg;
0325 QORIQ_FILL(0x0e0000, 0x0e1000, qoriq_dcfg);
0326 QORIQ_RESERVE(0x0e1000, 0x114000);
0327 qoriq_esdhc esdhc;
0328 QORIQ_FILL(0x114000, 0x115000, qoriq_esdhc);
0329 QORIQ_RESERVE(0x115000, 0x11c500);
0330 qoriq_uart uart_0;
0331 QORIQ_FILL(0x11c500, 0x11c600, qoriq_uart);
0332 qoriq_uart uart_1;
0333 QORIQ_FILL(0x11c600, 0x11d500, qoriq_uart);
0334 qoriq_uart uart_2;
0335 QORIQ_FILL(0x11d500, 0x11d600, qoriq_uart);
0336 qoriq_uart uart_3;
0337 QORIQ_FILL(0x11d600, 0x11e000, qoriq_uart);
0338 QORIQ_RESERVE(0x11e000, 0x130000);
0339 qoriq_gpio gpio[4];
0340 QORIQ_RESERVE(0x134000, 0x210000);
0341 qoriq_usb usb_1;
0342 QORIQ_FILL(0x210000, 0x211000, qoriq_usb);
0343 QORIQ_RESERVE(0x211000, 0x318000);
0344 qoriq_qman qman;
0345 QORIQ_RESERVE(0x319000, 0x31a000);
0346 qoriq_bman bman;
0347 QORIQ_RESERVE(0x31b000, 0x400000);
0348 qoriq_fman fman[2];
0349 QORIQ_RESERVE(0x600000, 0x2000000);
0350 } qoriq_ccsr;
0351
0352 #else
0353
0354 typedef struct {
0355 uint32_t ccsrbar;
0356 uint32_t reserved_0;
0357 uint32_t altcbar;
0358 uint32_t reserved_1;
0359 uint32_t altcar;
0360 uint32_t reserved_2 [3];
0361 uint32_t bptr;
0362 } qoriq_lcc;
0363
0364 #define CCSRBAR_BASE_ADDR(val) BSP_BFLD32(val, 8, 23)
0365 #define CCSRBAR_BASE_ADDR_GET(reg) BSP_BFLD32GET(reg, 8, 23)
0366 #define CCSRBAR_BASE_ADDR_SET(reg, val) BSP_BFLD32SET(reg, val, 8, 23)
0367
0368 #define ALTCBAR_BASE_ADDR(val) BSP_BFLD32(val, 8, 23)
0369 #define ALTCBAR_BASE_ADDR_GET(reg) BSP_BFLD32GET(reg, 8, 23)
0370 #define ALTCBAR_BASE_ADDR_SET(reg, val) BSP_BFLD32SET(reg, val, 8, 23)
0371
0372 #define ALTCAR_EN BSP_BBIT32(0)
0373 #define ALTCAR_TRGT_ID(val) BSP_BFLD32(val, 8, 11)
0374 #define ALTCAR_TRGT_ID_GET(reg) BSP_BFLD32GET(reg, 8, 11)
0375 #define ALTCAR_TRGT_ID_SET(reg, val) BSP_BFLD32SET(reg, val, 8, 11)
0376
0377 #define BPTR_EN BSP_BBIT32(0)
0378 #define BPTR_BOOT_PAGE(val) BSP_BFLD32(val, 8, 31)
0379 #define BPTR_BOOT_PAGE_GET(reg) BSP_BFLD32GET(reg, 8, 31)
0380 #define BPTR_BOOT_PAGE_SET(reg, val) BSP_BFLD32SET(reg, val, 8, 31)
0381
0382 typedef struct {
0383 uint32_t bar;
0384 uint32_t reserved_0;
0385 uint32_t ar;
0386 uint32_t reserved_1 [5];
0387 } qoriq_law;
0388
0389 #define LAWBAR_BASE_ADDR(val) BSP_BFLD32(val, 8, 31)
0390 #define LAWBAR_BASE_ADDR_GET(reg) BSP_BFLD32GET(reg, 8, 31)
0391 #define LAWBAR_BASE_ADDR_SET(reg, val) BSP_BFLD32SET(reg, val, 8, 31)
0392
0393 #define LAWAR_EN BSP_BBIT32(0)
0394 #define LAWAR_TRGT(val) BSP_BFLD32(val, 8, 11)
0395 #define LAWAR_TRGT_GET(reg) BSP_BFLD32GET(reg, 8, 11)
0396 #define LAWAR_TRGT_SET(reg, val) BSP_BFLD32SET(reg, val, 8, 11)
0397 #define LAWAR_SIZE(val) BSP_BFLD32(val, 26, 31)
0398 #define LAWAR_SIZE_GET(reg) BSP_BFLD32GET(reg, 26, 31)
0399 #define LAWAR_SIZE_SET(reg, val) BSP_BFLD32SET(reg, val, 26, 31)
0400
0401 typedef struct {
0402 } qoriq_ecm;
0403
0404 typedef struct {
0405 } qoriq_ddr_controller;
0406
0407 typedef struct {
0408 } qoriq_i2c;
0409
0410 typedef struct {
0411 } qoriq_local_bus;
0412
0413 typedef struct {
0414 } qoriq_spi;
0415
0416 typedef struct {
0417 } qoriq_pci_express;
0418
0419 typedef struct {
0420 } qoriq_tdm;
0421
0422 typedef struct {
0423 } qoriq_l2_cache;
0424
0425 typedef struct {
0426 } qoriq_dma;
0427
0428 typedef struct {
0429 } qoriq_tdm_dma;
0430
0431 typedef struct {
0432 } qoriq_sec;
0433
0434 typedef struct {
0435 } qoriq_serial_rapid_io;
0436
0437 typedef struct {
0438 } qoriq_global_utilities;
0439
0440 typedef struct {
0441 } qoriq_performance_monitor;
0442
0443 typedef struct {
0444 } qoriq_debug_watchpoint;
0445
0446 typedef struct {
0447 } qoriq_serdes;
0448
0449 typedef struct {
0450 } qoriq_boot_rom;
0451
0452 typedef struct qoriq_ccsr {
0453 qoriq_lcc lcc;
0454 QORIQ_FILL(0x00000, 0x00c08, qoriq_lcc);
0455 qoriq_law law [12];
0456 QORIQ_FILL(0x00c08, 0x01000, qoriq_law [12]);
0457 qoriq_ecm ecm;
0458 QORIQ_FILL(0x01000, 0x02000, qoriq_ecm);
0459 qoriq_ddr_controller ddr_controller;
0460 QORIQ_FILL(0x02000, 0x03000, qoriq_ddr_controller);
0461 qoriq_i2c i2c;
0462 QORIQ_FILL(0x03000, 0x04000, qoriq_i2c);
0463 QORIQ_RESERVE(0x04000, 0x04500);
0464 qoriq_uart uart_0;
0465 QORIQ_FILL(0x04500, 0x04600, qoriq_uart);
0466 qoriq_uart uart_1;
0467 QORIQ_FILL(0x04600, 0x04700, qoriq_uart);
0468 QORIQ_RESERVE(0x04700, 0x05000);
0469 qoriq_local_bus local_bus;
0470 QORIQ_FILL(0x05000, 0x06000, qoriq_local_bus);
0471 qoriq_spi spi;
0472 QORIQ_FILL(0x06000, 0x07000, qoriq_spi);
0473 QORIQ_RESERVE(0x07000, 0x08000);
0474 qoriq_pci_express pci_express_3;
0475 QORIQ_FILL(0x08000, 0x09000, qoriq_pci_express);
0476 qoriq_pci_express pci_express_2;
0477 QORIQ_FILL(0x09000, 0x0a000, qoriq_pci_express);
0478 qoriq_pci_express pci_express_1;
0479 QORIQ_FILL(0x0a000, 0x0b000, qoriq_pci_express);
0480 QORIQ_RESERVE(0x0b000, 0x0c000);
0481 qoriq_dma dma_2;
0482 QORIQ_FILL(0x0c000, 0x0d000, qoriq_dma);
0483 QORIQ_RESERVE(0x0d000, 0x0f000);
0484 qoriq_gpio gpio;
0485 QORIQ_RESERVE(0x10000, 0x16000);
0486 qoriq_tdm tdm;
0487 QORIQ_FILL(0x16000, 0x17000, qoriq_tdm);
0488 QORIQ_RESERVE(0x17000, 0x20000);
0489 qoriq_l2_cache l2_cache;
0490 QORIQ_FILL(0x20000, 0x21000, qoriq_l2_cache);
0491 qoriq_dma dma_1;
0492 QORIQ_FILL(0x21000, 0x22000, qoriq_dma);
0493 qoriq_usb usb_1;
0494 QORIQ_FILL(0x22000, 0x23000, qoriq_usb);
0495 qoriq_usb usb_2;
0496 QORIQ_FILL(0x23000, 0x24000, qoriq_usb);
0497 tsec_registers tsec_1;
0498 QORIQ_FILL(0x24000, 0x25000, tsec_registers);
0499 tsec_registers tsec_2;
0500 QORIQ_FILL(0x25000, 0x26000, tsec_registers);
0501 tsec_registers tsec_3;
0502 QORIQ_FILL(0x26000, 0x27000, tsec_registers);
0503 QORIQ_RESERVE(0x27000, 0x2c000);
0504 qoriq_tdm_dma tdm_dma;
0505 QORIQ_FILL(0x2c000, 0x2d000, qoriq_tdm_dma);
0506 QORIQ_RESERVE(0x2d000, 0x2e000);
0507 qoriq_esdhc esdhc;
0508 QORIQ_FILL(0x2e000, 0x2f000, qoriq_esdhc);
0509 QORIQ_RESERVE(0x2f000, 0x30000);
0510 qoriq_sec sec;
0511 QORIQ_FILL(0x30000, 0x31000, qoriq_sec);
0512 QORIQ_RESERVE(0x31000, 0x40000);
0513 qoriq_pic pic;
0514 QORIQ_FILL(0x40000, 0x80000, qoriq_pic);
0515 QORIQ_RESERVE(0x80000, 0xb0000);
0516 tsec_registers tsec_1_group_0;
0517 QORIQ_FILL(0xb0000, 0xb1000, tsec_registers);
0518 tsec_registers tsec_2_group_0;
0519 QORIQ_FILL(0xb1000, 0xb2000, tsec_registers);
0520 tsec_registers tsec_3_group_0;
0521 QORIQ_FILL(0xb2000, 0xb3000, tsec_registers);
0522 QORIQ_RESERVE(0xb3000, 0xb4000);
0523 tsec_registers tsec_1_group_1;
0524 QORIQ_FILL(0xb4000, 0xb5000, tsec_registers);
0525 tsec_registers tsec_2_group_1;
0526 QORIQ_FILL(0xb5000, 0xb6000, tsec_registers);
0527 tsec_registers tsec_3_group_1;
0528 QORIQ_FILL(0xb6000, 0xb7000, tsec_registers);
0529 QORIQ_RESERVE(0xb7000, 0xc0000);
0530 qoriq_serial_rapid_io serial_rapid_io;
0531 QORIQ_FILL(0xc0000, 0xe0000, qoriq_serial_rapid_io);
0532 qoriq_global_utilities global_utilities;
0533 QORIQ_FILL(0xe0000, 0xe1000, qoriq_global_utilities);
0534 qoriq_performance_monitor performance_monitor;
0535 QORIQ_FILL(0xe1000, 0xe2000, qoriq_performance_monitor);
0536 qoriq_debug_watchpoint debug_watchpoint;
0537 QORIQ_FILL(0xe2000, 0xe3000, qoriq_debug_watchpoint);
0538 qoriq_serdes serdes;
0539 QORIQ_FILL(0xe3000, 0xe4000, qoriq_serdes);
0540 QORIQ_RESERVE(0xe4000, 0xf0000);
0541 qoriq_boot_rom boot_rom;
0542 QORIQ_FILL(0xf0000, 0x100000, qoriq_boot_rom);
0543 } qoriq_ccsr;
0544
0545 #endif
0546
0547 extern volatile qoriq_ccsr qoriq;
0548
0549 #if QORIQ_CHIP_IS_T_VARIANT(QORIQ_CHIP_VARIANT)
0550 extern uint8_t qoriq_bman_portal[2][16777216];
0551 extern uint8_t qoriq_qman_portal[2][16777216];
0552
0553 void qoriq_clear_ce_portal(void *base, size_t size);
0554 void qoriq_clear_ci_portal(void *base, size_t size);
0555 #endif
0556
0557 static inline void qoriq_reset_qman_and_bman(void)
0558 {
0559 #if QORIQ_CHIP_IS_T_VARIANT(QORIQ_CHIP_VARIANT)
0560 qoriq.dcfg.qmbm_warmrst = 0x3;
0561
0562 while ((qoriq.dcfg.qmbm_warmrst & 0x3) != 0) {
0563
0564 }
0565 #endif
0566 }
0567
0568 #ifdef __cplusplus
0569 }
0570 #endif
0571
0572 #endif