1 /* SPDX-License-Identifier: GPL-2.0 */ 2 static uint32_t g98_sec_data[] = { 3 /* 0x0000: ctx_dma */ 4 /* 0x0000: ctx_dma_query */ 5 0x00000000, 6 /* 0x0004: ctx_dma_src */ 7 0x00000000, 8 /* 0x0008: ctx_dma_dst */ 9 0x00000000, 10 /* 0x000c: ctx_query_address_high */ 11 0x00000000, 12 /* 0x0010: ctx_query_address_low */ 13 0x00000000, 14 /* 0x0014: ctx_query_counter */ 15 0x00000000, 16 /* 0x0018: ctx_cond_address_high */ 17 0x00000000, 18 /* 0x001c: ctx_cond_address_low */ 19 0x00000000, 20 /* 0x0020: ctx_cond_off */ 21 0x00000000, 22 /* 0x0024: ctx_src_address_high */ 23 0x00000000, 24 /* 0x0028: ctx_src_address_low */ 25 0x00000000, 26 /* 0x002c: ctx_dst_address_high */ 27 0x00000000, 28 /* 0x0030: ctx_dst_address_low */ 29 0x00000000, 30 /* 0x0034: ctx_mode */ 31 0x00000000, 32 0x00000000, 33 0x00000000, 34 /* 0x0040: ctx_key */ 35 0x00000000, 36 0x00000000, 37 0x00000000, 38 0x00000000, 39 /* 0x0050: ctx_iv */ 40 0x00000000, 41 0x00000000, 42 0x00000000, 43 0x00000000, 44 0x00000000, 45 0x00000000, 46 0x00000000, 47 0x00000000, 48 0x00000000, 49 0x00000000, 50 0x00000000, 51 0x00000000, 52 /* 0x0080: swap */ 53 0x00000000, 54 0x00000000, 55 0x00000000, 56 0x00000000, 57 0x00000000, 58 0x00000000, 59 0x00000000, 60 0x00000000, 61 /* 0x00a0: common_cmd_dtable */ 62 0x0002000c, 63 0xffffff00, 64 0x00020010, 65 0x0000000f, 66 0x00020014, 67 0x00000000, 68 0x00000192, 69 0xfffffffe, 70 0x00020018, 71 0xffffff00, 72 0x0002001c, 73 0x0000000f, 74 0x000001d7, 75 0xfffffff8, 76 0x00000260, 77 0xffffffff, 78 /* 0x00e0: engine_cmd_dtable */ 79 0x00020040, 80 0x00000000, 81 0x00020044, 82 0x00000000, 83 0x00020048, 84 0x00000000, 85 0x0002004c, 86 0x00000000, 87 0x00020050, 88 0x00000000, 89 0x00020054, 90 0x00000000, 91 0x00020058, 92 0x00000000, 93 0x0002005c, 94 0x00000000, 95 0x00020024, 96 0xffffff00, 97 0x00020028, 98 0x0000000f, 99 0x0002002c, 100 0xffffff00, 101 0x00020030, 102 0x0000000f, 103 0x00000271, 104 0xfffffff0, 105 0x00010285, 106 0xf000000f, 107 /* 0x0150: sec_dtable */ 108 0x04db0321, 109 0x04b1032f, 110 0x04db0339, 111 0x04db034b, 112 0x04db0361, 113 0x04db0377, 114 0x04db0395, 115 0x04db03af, 116 0x04db03cd, 117 0x04db03e3, 118 0x04db03f9, 119 0x04db040f, 120 0x04830429, 121 0x0483043b, 122 0x0483045d, 123 0x00000000, 124 0x00000000, 125 0x00000000, 126 0x00000000, 127 0x00000000, 128 0x00000000, 129 0x00000000, 130 0x00000000, 131 0x00000000, 132 0x00000000, 133 0x00000000, 134 0x00000000, 135 0x00000000, 136 0x00000000, 137 0x00000000, 138 0x00000000, 139 0x00000000, 140 0x00000000, 141 0x00000000, 142 0x00000000, 143 0x00000000, 144 0x00000000, 145 0x00000000, 146 0x00000000, 147 0x00000000, 148 0x00000000, 149 0x00000000, 150 0x00000000, 151 0x00000000, 152 }; 153 154 static uint32_t g98_sec_code[] = { 155 0x17f004bd, 156 0x0010fe35, 157 0xf10004fe, 158 0xf0fff017, 159 0x27f10013, 160 0x21d00400, 161 0x0c15f0c0, 162 0xf00021d0, 163 0x27f10317, 164 0x21d01200, 165 0x1031f400, 166 /* 0x002f: spin */ 167 0xf40031f4, 168 0x0ef40028, 169 /* 0x0035: ih */ 170 0x8001cffd, 171 0xb00812c4, 172 0x0bf40024, 173 0x0027f167, 174 0x002bfe77, 175 0xf00007fe, 176 0x23f00027, 177 0x0037f105, 178 0x0034cf14, 179 0xb0014594, 180 0x18f40055, 181 0x0602fa17, 182 0x4af003f8, 183 0x0034d01e, 184 0xd00147f0, 185 0x0ef48034, 186 /* 0x0075: ctxload */ 187 0x4034cf33, 188 0xb0014f94, 189 0x18f400f5, 190 0x0502fa21, 191 0x57f003f8, 192 0x0267f000, 193 /* 0x008c: ctxload_dma_loop */ 194 0xa07856bc, 195 0xb6018068, 196 0x87d00884, 197 0x0162b600, 198 /* 0x009f: dummyload */ 199 0xf0f018f4, 200 0x35d00257, 201 /* 0x00a5: noctx */ 202 0x0412c480, 203 0xf50024b0, 204 0xf100df0b, 205 0xcf190037, 206 0x33cf4032, 207 0xff24e400, 208 0x1024b607, 209 0x07bf45e4, 210 0xf50054b0, 211 0xf100b90b, 212 0xf1fae057, 213 0xb000ce67, 214 0x18f4c044, 215 0xa057f14d, 216 0x8867f1fc, 217 0x8044b000, 218 0xb03f18f4, 219 0x18f46044, 220 0x5044b019, 221 0xf1741bf4, 222 0xbd220027, 223 0x0233f034, 224 0xf50023d0, 225 /* 0x0103: dma_cmd */ 226 0xb000810e, 227 0x18f46344, 228 0x0245945e, 229 0xfe8050b7, 230 0x801e39f0, 231 0x40b70053, 232 0x44b60120, 233 0x0043d008, 234 /* 0x0123: dtable_cmd */ 235 0xb8600ef4, 236 0x18f40446, 237 0x0344b63e, 238 0x980045bb, 239 0x53fd0145, 240 0x0054b004, 241 0x58291bf4, 242 0x46580045, 243 0x0264b001, 244 0x98170bf4, 245 0x67fd0807, 246 0x0164b004, 247 0xf9300bf4, 248 0x0f01f455, 249 /* 0x015b: cmd_setctx */ 250 0x80280ef4, 251 0x0ef40053, 252 /* 0x0161: invalid_bitfield */ 253 0x0125f022, 254 /* 0x0164: dispatch_error */ 255 /* 0x0164: illegal_mthd */ 256 0x100047f1, 257 0xd00042d0, 258 0x47f04043, 259 0x0004d040, 260 /* 0x0174: im_loop */ 261 0xf08004cf, 262 0x44b04044, 263 0xf71bf400, 264 /* 0x0180: cmddone */ 265 0x1d0037f1, 266 0xd00147f0, 267 /* 0x018a: nocmd */ 268 0x11c40034, 269 0x4001d00c, 270 /* 0x0192: cmd_query_get */ 271 0x38f201f8, 272 0x0325f001, 273 0x0b0047f1, 274 /* 0x019c: ptimer_retry */ 275 0xcf4046cf, 276 0x47cf0045, 277 0x0467b840, 278 0x98f41bf4, 279 0x04800504, 280 0x21008020, 281 0x80220580, 282 0x0bfe2306, 283 0x03049800, 284 0xfe1844b6, 285 0x04980047, 286 0x8057f104, 287 0x0253f000, 288 0xf80645fa, 289 /* 0x01d7: cmd_cond_mode */ 290 0xf400f803, 291 0x25f00131, 292 0x0534b002, 293 0xf41218f4, 294 0x34b00132, 295 0x0b18f402, 296 0x800136f0, 297 /* 0x01f2: return */ 298 0x00f80803, 299 /* 0x01f4: cmd_cond_mode_queryful */ 300 0x98060498, 301 0x56c40705, 302 0x0855b6ff, 303 0xfd1844b6, 304 0x47fe0545, 305 0x000bfe00, 306 0x008057f1, 307 0xfa0253f0, 308 0x34b00565, 309 0x131bf402, 310 0x049803f8, 311 0x0044b021, 312 0x800b4cf0, 313 0x00f80804, 314 /* 0x022c: cmd_cond_mode_double */ 315 0xb61060b6, 316 0x65fa1050, 317 0x9803f805, 318 0x06982005, 319 0x0456b824, 320 0x980b4cf0, 321 0x06982105, 322 0x0456b825, 323 0xfd0b5cf0, 324 0x34b00445, 325 0x0b5cf003, 326 0x800645fd, 327 0x00f80804, 328 /* 0x0260: cmd_wrcache_flush */ 329 0xf10132f4, 330 0xbd220027, 331 0x0133f034, 332 0xf80023d0, 333 /* 0x0271: sec_cmd_mode */ 334 0x0131f400, 335 0xb00225f0, 336 0x18f40f34, 337 0x0132f409, 338 /* 0x0283: sec_cmd_mode_return */ 339 0xf80d0380, 340 /* 0x0285: sec_cmd_length */ 341 0x0034b000, 342 0xf4fb0bf4, 343 0x47f0033c, 344 0x0743f040, 345 0xf00604fa, 346 0x43f05047, 347 0x0604fa06, 348 0x3cf503f8, 349 0x47f1c407, 350 0x4bfe2100, 351 0x09049800, 352 0x950a0598, 353 0x44b60858, 354 0x0548fd18, 355 0x98ff55c4, 356 0x07980b06, 357 0x0878950c, 358 0xfd1864b6, 359 0x77c40568, 360 0x0d0898ff, 361 0x580284b6, 362 0x95f9a889, 363 0xf9a98958, 364 0x013cf495, 365 0x3cf403f8, 366 0xf803f861, 367 0x18489503, 368 0xbb084994, 369 0x81b60095, 370 0x09088000, 371 0x950a0980, 372 0x69941868, 373 0x0097bb08, 374 0x800081b6, 375 0x09800b08, 376 0x023cf40c, 377 0xf05047f0, 378 0x04fa0643, 379 0xf803f805, 380 /* 0x0321: sec_copy_prep */ 381 0x203cf500, 382 0x003cf594, 383 0x003cf588, 384 /* 0x032f: sec_store_prep */ 385 0xf500f88c, 386 0xf594103c, 387 0xf88c063c, 388 /* 0x0339: sec_ecb_e_prep */ 389 0x303cf500, 390 0x003cf594, 391 0x003cf588, 392 0x003cf5d0, 393 /* 0x034b: sec_ecb_d_prep */ 394 0xf500f88c, 395 0xf5c8773c, 396 0xf594303c, 397 0xf588003c, 398 0xf5d4003c, 399 0xf88c003c, 400 /* 0x0361: sec_cbc_e_prep */ 401 0x403cf500, 402 0x003cf594, 403 0x063cf588, 404 0x663cf5ac, 405 0x063cf5d0, 406 /* 0x0377: sec_cbc_d_prep */ 407 0xf500f88c, 408 0xf5c8773c, 409 0xf594503c, 410 0xf584623c, 411 0xf588063c, 412 0xf5d4603c, 413 0xf5ac203c, 414 0xf88c003c, 415 /* 0x0395: sec_pcbc_e_prep */ 416 0x503cf500, 417 0x003cf594, 418 0x063cf588, 419 0x663cf5ac, 420 0x063cf5d0, 421 0x063cf58c, 422 /* 0x03af: sec_pcbc_d_prep */ 423 0xf500f8ac, 424 0xf5c8773c, 425 0xf594503c, 426 0xf588003c, 427 0xf5d4013c, 428 0xf5ac163c, 429 0xf58c063c, 430 0xf8ac063c, 431 /* 0x03cd: sec_cfb_e_prep */ 432 0x403cf500, 433 0x663cf594, 434 0x003cf5d0, 435 0x063cf588, 436 0x063cf5ac, 437 /* 0x03e3: sec_cfb_d_prep */ 438 0xf500f88c, 439 0xf594403c, 440 0xf5d0603c, 441 0xf588063c, 442 0xf5ac603c, 443 0xf88c003c, 444 /* 0x03f9: sec_ofb_prep */ 445 0x403cf500, 446 0x663cf594, 447 0x003cf5d0, 448 0x603cf588, 449 0x003cf5ac, 450 /* 0x040f: sec_ctr_prep */ 451 0xf500f88c, 452 0xf594503c, 453 0xf5d0613c, 454 0xf5b0163c, 455 0xf588003c, 456 0xf5ac103c, 457 0xf88c003c, 458 /* 0x0429: sec_cbc_mac_prep */ 459 0x303cf500, 460 0x003cf594, 461 0x063cf588, 462 0x663cf5ac, 463 /* 0x043b: sec_cmac_finish_complete_prep */ 464 0xf500f8d0, 465 0xf594703c, 466 0xf588003c, 467 0xf5ac063c, 468 0xf5ac003c, 469 0xf5d0003c, 470 0xf5bc003c, 471 0xf5ac063c, 472 0xf8d0663c, 473 /* 0x045d: sec_cmac_finish_partial_prep */ 474 0x803cf500, 475 0x003cf594, 476 0x063cf588, 477 0x003cf5ac, 478 0x003cf5ac, 479 0x003cf5d0, 480 0x003cf5bc, 481 0x063cf5bc, 482 0x663cf5ac, 483 /* 0x0483: sec_do_in */ 484 0xbb00f8d0, 485 0x47fe0035, 486 0x8097f100, 487 0x0293f000, 488 /* 0x0490: sec_do_in_loop */ 489 0xf80559fa, 490 0x223cf403, 491 0xf50609fa, 492 0xf898103c, 493 0x1050b603, 494 0xf40453b8, 495 0x3cf4e91b, 496 0xf803f801, 497 /* 0x04b1: sec_do_out */ 498 0x0037bb00, 499 0xf10067fe, 500 0xf0008097, 501 /* 0x04be: sec_do_out_loop */ 502 0x3cf50293, 503 0x3cf49810, 504 0x0579fa61, 505 0xf40679fa, 506 0x03f8013c, 507 0xb81070b6, 508 0x1bf40473, 509 /* 0x04db: sec_do_inout */ 510 0xbb00f8e8, 511 0x97f10035, 512 0x93f00080, 513 /* 0x04e5: sec_do_inout_loop */ 514 0x0047fe02, 515 0xf80559fa, 516 0x213cf403, 517 0xf50609fa, 518 0xf498103c, 519 0x67fe613c, 520 0x0579fa00, 521 0xf40679fa, 522 0x03f8013c, 523 0xb61050b6, 524 0x53b81070, 525 0xd41bf404, 526 0x000000f8, 527 0x00000000, 528 0x00000000, 529 0x00000000, 530 0x00000000, 531 0x00000000, 532 0x00000000, 533 0x00000000, 534 0x00000000, 535 0x00000000, 536 0x00000000, 537 0x00000000, 538 0x00000000, 539 0x00000000, 540 0x00000000, 541 0x00000000, 542 0x00000000, 543 0x00000000, 544 0x00000000, 545 0x00000000, 546 0x00000000, 547 0x00000000, 548 0x00000000, 549 0x00000000, 550 0x00000000, 551 0x00000000, 552 0x00000000, 553 0x00000000, 554 0x00000000, 555 0x00000000, 556 0x00000000, 557 0x00000000, 558 0x00000000, 559 0x00000000, 560 0x00000000, 561 0x00000000, 562 0x00000000, 563 0x00000000, 564 0x00000000, 565 0x00000000, 566 0x00000000, 567 0x00000000, 568 0x00000000, 569 0x00000000, 570 0x00000000, 571 0x00000000, 572 0x00000000, 573 0x00000000, 574 0x00000000, 575 0x00000000, 576 0x00000000, 577 0x00000000, 578 0x00000000, 579 0x00000000, 580 0x00000000, 581 0x00000000, 582 0x00000000, 583 0x00000000, 584 0x00000000, 585 }; 586