18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * Bestcomm ATA task microcode 48c2ecf20Sopenharmony_ci * 58c2ecf20Sopenharmony_ci * Copyright (c) 2004 Freescale Semiconductor, Inc. 68c2ecf20Sopenharmony_ci * 78c2ecf20Sopenharmony_ci * Created based on bestcom/code_dma/image_rtos1/dma_image.hex 88c2ecf20Sopenharmony_ci */ 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_ci#include <asm/types.h> 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ci/* 138c2ecf20Sopenharmony_ci * The header consists of the following fields: 148c2ecf20Sopenharmony_ci * u32 magic; 158c2ecf20Sopenharmony_ci * u8 desc_size; 168c2ecf20Sopenharmony_ci * u8 var_size; 178c2ecf20Sopenharmony_ci * u8 inc_size; 188c2ecf20Sopenharmony_ci * u8 first_var; 198c2ecf20Sopenharmony_ci * u8 reserved[8]; 208c2ecf20Sopenharmony_ci * 218c2ecf20Sopenharmony_ci * The size fields contain the number of 32-bit words. 228c2ecf20Sopenharmony_ci */ 238c2ecf20Sopenharmony_ci 248c2ecf20Sopenharmony_ciu32 bcom_ata_task[] = { 258c2ecf20Sopenharmony_ci /* header */ 268c2ecf20Sopenharmony_ci 0x4243544b, 278c2ecf20Sopenharmony_ci 0x0e060709, 288c2ecf20Sopenharmony_ci 0x00000000, 298c2ecf20Sopenharmony_ci 0x00000000, 308c2ecf20Sopenharmony_ci 318c2ecf20Sopenharmony_ci /* Task descriptors */ 328c2ecf20Sopenharmony_ci 0x8198009b, /* LCD: idx0 = var3; idx0 <= var2; idx0 += inc3 */ 338c2ecf20Sopenharmony_ci 0x13e00c08, /* DRD1A: var3 = var1; FN=0 MORE init=31 WS=0 RS=0 */ 348c2ecf20Sopenharmony_ci 0xb8000264, /* LCD: idx1 = *idx0, idx2 = var0; idx1 < var9; idx1 += inc4, idx2 += inc4 */ 358c2ecf20Sopenharmony_ci 0x10000f00, /* DRD1A: var3 = idx0; FN=0 MORE init=0 WS=0 RS=0 */ 368c2ecf20Sopenharmony_ci 0x60140002, /* DRD2A: EU0=0 EU1=0 EU2=0 EU3=2 EXT init=0 WS=2 RS=2 */ 378c2ecf20Sopenharmony_ci 0x0c8cfc8a, /* DRD2B1: *idx2 = EU3(); EU3(*idx2,var10) */ 388c2ecf20Sopenharmony_ci 0xd8988240, /* LCDEXT: idx1 = idx1; idx1 > var9; idx1 += inc0 */ 398c2ecf20Sopenharmony_ci 0xf845e011, /* LCDEXT: idx2 = *(idx0 + var00000015); ; idx2 += inc2 */ 408c2ecf20Sopenharmony_ci 0xb845e00a, /* LCD: idx3 = *(idx0 + var00000019); ; idx3 += inc1 */ 418c2ecf20Sopenharmony_ci 0x0bfecf90, /* DRD1A: *idx3 = *idx2; FN=0 TFD init=31 WS=3 RS=3 */ 428c2ecf20Sopenharmony_ci 0x9898802d, /* LCD: idx1 = idx1; idx1 once var0; idx1 += inc5 */ 438c2ecf20Sopenharmony_ci 0x64000005, /* DRD2A: EU0=0 EU1=0 EU2=0 EU3=5 INT EXT init=0 WS=0 RS=0 */ 448c2ecf20Sopenharmony_ci 0x0c0cf849, /* DRD2B1: *idx0 = EU3(); EU3(idx1,var9) */ 458c2ecf20Sopenharmony_ci 0x000001f8, /* NOP */ 468c2ecf20Sopenharmony_ci 478c2ecf20Sopenharmony_ci /* VAR[9]-VAR[14] */ 488c2ecf20Sopenharmony_ci 0x40000000, 498c2ecf20Sopenharmony_ci 0x7fff7fff, 508c2ecf20Sopenharmony_ci 0x00000000, 518c2ecf20Sopenharmony_ci 0x00000000, 528c2ecf20Sopenharmony_ci 0x00000000, 538c2ecf20Sopenharmony_ci 0x00000000, 548c2ecf20Sopenharmony_ci 558c2ecf20Sopenharmony_ci /* INC[0]-INC[6] */ 568c2ecf20Sopenharmony_ci 0x40000000, 578c2ecf20Sopenharmony_ci 0xe0000000, 588c2ecf20Sopenharmony_ci 0xe0000000, 598c2ecf20Sopenharmony_ci 0xa000000c, 608c2ecf20Sopenharmony_ci 0x20000000, 618c2ecf20Sopenharmony_ci 0x00000000, 628c2ecf20Sopenharmony_ci 0x00000000, 638c2ecf20Sopenharmony_ci}; 648c2ecf20Sopenharmony_ci 65