1 /* 2 * Bestcomm ATA task microcode 3 * 4 * Copyright (c) 2004 Freescale Semiconductor, Inc. 5 * 6 * This program is free software; you can redistribute it and/or modify it 7 * under the terms of the GNU General Public License version 2 as published 8 * by the Free Software Foundation. 9 * 10 * Created based on bestcom/code_dma/image_rtos1/dma_image.hex 11 */ 12 13 #include <asm/types.h> 14 15 /* 16 * The header consists of the following fields: 17 * u32 magic; 18 * u8 desc_size; 19 * u8 var_size; 20 * u8 inc_size; 21 * u8 first_var; 22 * u8 reserved[8]; 23 * 24 * The size fields contain the number of 32-bit words. 25 */ 26 27 u32 bcom_ata_task[] = { 28 /* header */ 29 0x4243544b, 30 0x0e060709, 31 0x00000000, 32 0x00000000, 33 34 /* Task descriptors */ 35 0x8198009b, /* LCD: idx0 = var3; idx0 <= var2; idx0 += inc3 */ 36 0x13e00c08, /* DRD1A: var3 = var1; FN=0 MORE init=31 WS=0 RS=0 */ 37 0xb8000264, /* LCD: idx1 = *idx0, idx2 = var0; idx1 < var9; idx1 += inc4, idx2 += inc4 */ 38 0x10000f00, /* DRD1A: var3 = idx0; FN=0 MORE init=0 WS=0 RS=0 */ 39 0x60140002, /* DRD2A: EU0=0 EU1=0 EU2=0 EU3=2 EXT init=0 WS=2 RS=2 */ 40 0x0c8cfc8a, /* DRD2B1: *idx2 = EU3(); EU3(*idx2,var10) */ 41 0xd8988240, /* LCDEXT: idx1 = idx1; idx1 > var9; idx1 += inc0 */ 42 0xf845e011, /* LCDEXT: idx2 = *(idx0 + var00000015); ; idx2 += inc2 */ 43 0xb845e00a, /* LCD: idx3 = *(idx0 + var00000019); ; idx3 += inc1 */ 44 0x0bfecf90, /* DRD1A: *idx3 = *idx2; FN=0 TFD init=31 WS=3 RS=3 */ 45 0x9898802d, /* LCD: idx1 = idx1; idx1 once var0; idx1 += inc5 */ 46 0x64000005, /* DRD2A: EU0=0 EU1=0 EU2=0 EU3=5 INT EXT init=0 WS=0 RS=0 */ 47 0x0c0cf849, /* DRD2B1: *idx0 = EU3(); EU3(idx1,var9) */ 48 0x000001f8, /* NOP */ 49 50 /* VAR[9]-VAR[14] */ 51 0x40000000, 52 0x7fff7fff, 53 0x00000000, 54 0x00000000, 55 0x00000000, 56 0x00000000, 57 58 /* INC[0]-INC[6] */ 59 0x40000000, 60 0xe0000000, 61 0xe0000000, 62 0xa000000c, 63 0x20000000, 64 0x00000000, 65 0x00000000, 66 }; 67 68