firmware: convert Ambassador ATM driver to request_firmware()
Since it had various regions to be loaded to separate addresses, and it wanted to do them in fairly small chunks anyway, switch it to use the new ihex code. Encode the start address in the first record. Signed-off-by: David Woodhouse <dwmw2@infradead.org> Acked-by: Chas Williams <chas@cmf.nrl.navy.mil>
This commit is contained in:
parent
ec6752f5af
commit
27d202fff1
8 changed files with 265 additions and 2170 deletions
|
@ -6,9 +6,9 @@ fore_200e-objs := fore200e.o
|
||||||
hostprogs-y := fore200e_mkfirm
|
hostprogs-y := fore200e_mkfirm
|
||||||
|
|
||||||
# Files generated that shall be removed upon make clean
|
# Files generated that shall be removed upon make clean
|
||||||
clean-files := atmsar11.bin atmsar11.bin1 atmsar11.bin2 pca200e.bin \
|
clean-files := pca200e.bin pca200e.bin1 pca200e.bin2 pca200e_ecd.bin \
|
||||||
pca200e.bin1 pca200e.bin2 pca200e_ecd.bin pca200e_ecd.bin1 \
|
pca200e_ecd.bin1 pca200e_ecd.bin2 sba200e_ecd.bin sba200e_ecd.bin1 \
|
||||||
pca200e_ecd.bin2 sba200e_ecd.bin sba200e_ecd.bin1 sba200e_ecd.bin2
|
sba200e_ecd.bin2
|
||||||
# Firmware generated that shall be removed upon make clean
|
# Firmware generated that shall be removed upon make clean
|
||||||
clean-files += fore200e_pca_fw.c fore200e_sba_fw.c
|
clean-files += fore200e_pca_fw.c fore200e_sba_fw.c
|
||||||
|
|
||||||
|
|
|
@ -34,6 +34,8 @@
|
||||||
#include <linux/poison.h>
|
#include <linux/poison.h>
|
||||||
#include <linux/bitrev.h>
|
#include <linux/bitrev.h>
|
||||||
#include <linux/mutex.h>
|
#include <linux/mutex.h>
|
||||||
|
#include <linux/firmware.h>
|
||||||
|
#include <linux/ihex.h>
|
||||||
|
|
||||||
#include <asm/atomic.h>
|
#include <asm/atomic.h>
|
||||||
#include <asm/io.h>
|
#include <asm/io.h>
|
||||||
|
@ -290,29 +292,6 @@ static inline void __init show_version (void) {
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/********** microcode **********/
|
|
||||||
|
|
||||||
#ifdef AMB_NEW_MICROCODE
|
|
||||||
#define UCODE(x) UCODE2(atmsar12.x)
|
|
||||||
#else
|
|
||||||
#define UCODE(x) UCODE2(atmsar11.x)
|
|
||||||
#endif
|
|
||||||
#define UCODE2(x) #x
|
|
||||||
|
|
||||||
static u32 __devinitdata ucode_start =
|
|
||||||
#include UCODE(start)
|
|
||||||
;
|
|
||||||
|
|
||||||
static region __devinitdata ucode_regions[] = {
|
|
||||||
#include UCODE(regions)
|
|
||||||
{ 0, 0 }
|
|
||||||
};
|
|
||||||
|
|
||||||
static u32 __devinitdata ucode_data[] = {
|
|
||||||
#include UCODE(data)
|
|
||||||
0xdeadbeef
|
|
||||||
};
|
|
||||||
|
|
||||||
static void do_housekeeping (unsigned long arg);
|
static void do_housekeeping (unsigned long arg);
|
||||||
/********** globals **********/
|
/********** globals **********/
|
||||||
|
|
||||||
|
@ -1841,45 +1820,34 @@ static int __devinit get_loader_version (loader_block * lb,
|
||||||
|
|
||||||
/* loader: write memory data blocks */
|
/* loader: write memory data blocks */
|
||||||
|
|
||||||
static int __devinit loader_write (loader_block * lb,
|
static int __devinit loader_write (loader_block* lb,
|
||||||
const amb_dev * dev, const u32 * data,
|
const amb_dev *dev,
|
||||||
u32 address, unsigned int count) {
|
const struct ihex_binrec *rec) {
|
||||||
unsigned int i;
|
|
||||||
transfer_block * tb = &lb->payload.transfer;
|
transfer_block * tb = &lb->payload.transfer;
|
||||||
|
|
||||||
PRINTD (DBG_FLOW|DBG_LOAD, "loader_write");
|
PRINTD (DBG_FLOW|DBG_LOAD, "loader_write");
|
||||||
|
|
||||||
if (count > MAX_TRANSFER_DATA)
|
tb->address = rec->addr;
|
||||||
return -EINVAL;
|
tb->count = cpu_to_be32(be16_to_cpu(rec->len) / 4);
|
||||||
tb->address = cpu_to_be32 (address);
|
memcpy(tb->data, rec->data, be16_to_cpu(rec->len));
|
||||||
tb->count = cpu_to_be32 (count);
|
|
||||||
for (i = 0; i < count; ++i)
|
|
||||||
tb->data[i] = cpu_to_be32 (data[i]);
|
|
||||||
return do_loader_command (lb, dev, write_adapter_memory);
|
return do_loader_command (lb, dev, write_adapter_memory);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* loader: verify memory data blocks */
|
/* loader: verify memory data blocks */
|
||||||
|
|
||||||
static int __devinit loader_verify (loader_block * lb,
|
static int __devinit loader_verify (loader_block * lb,
|
||||||
const amb_dev * dev, const u32 * data,
|
const amb_dev *dev,
|
||||||
u32 address, unsigned int count) {
|
const struct ihex_binrec *rec) {
|
||||||
unsigned int i;
|
|
||||||
transfer_block * tb = &lb->payload.transfer;
|
transfer_block * tb = &lb->payload.transfer;
|
||||||
int res;
|
int res;
|
||||||
|
|
||||||
PRINTD (DBG_FLOW|DBG_LOAD, "loader_verify");
|
PRINTD (DBG_FLOW|DBG_LOAD, "loader_verify");
|
||||||
|
|
||||||
if (count > MAX_TRANSFER_DATA)
|
tb->address = rec->addr;
|
||||||
return -EINVAL;
|
tb->count = cpu_to_be32(be16_to_cpu(rec->len) / 4);
|
||||||
tb->address = cpu_to_be32 (address);
|
|
||||||
tb->count = cpu_to_be32 (count);
|
|
||||||
res = do_loader_command (lb, dev, read_adapter_memory);
|
res = do_loader_command (lb, dev, read_adapter_memory);
|
||||||
if (!res)
|
if (!res && memcmp(tb->data, rec->data, be16_to_cpu(rec->len)))
|
||||||
for (i = 0; i < count; ++i)
|
res = -EINVAL;
|
||||||
if (tb->data[i] != cpu_to_be32 (data[i])) {
|
|
||||||
res = -EINVAL;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1962,47 +1930,53 @@ static int amb_reset (amb_dev * dev, int diags) {
|
||||||
/********** transfer and start the microcode **********/
|
/********** transfer and start the microcode **********/
|
||||||
|
|
||||||
static int __devinit ucode_init (loader_block * lb, amb_dev * dev) {
|
static int __devinit ucode_init (loader_block * lb, amb_dev * dev) {
|
||||||
unsigned int i = 0;
|
const struct firmware *fw;
|
||||||
unsigned int total = 0;
|
unsigned long start_address;
|
||||||
const u32 * pointer = ucode_data;
|
const struct ihex_binrec *rec;
|
||||||
u32 address;
|
|
||||||
unsigned int count;
|
|
||||||
int res;
|
int res;
|
||||||
|
|
||||||
|
res = request_ihex_firmware(&fw, "atmsar11.fw", &dev->pci_dev->dev);
|
||||||
|
if (res) {
|
||||||
|
PRINTK (KERN_ERR, "Cannot load microcode data");
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* First record contains just the start address */
|
||||||
|
rec = (const struct ihex_binrec *)fw->data;
|
||||||
|
if (be16_to_cpu(rec->len) != sizeof(__be32) || be32_to_cpu(rec->addr)) {
|
||||||
|
PRINTK (KERN_ERR, "Bad microcode data (no start record)");
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
start_address = be32_to_cpup((__be32 *)rec->data);
|
||||||
|
|
||||||
|
rec = ihex_next_binrec(rec);
|
||||||
|
|
||||||
PRINTD (DBG_FLOW|DBG_LOAD, "ucode_init");
|
PRINTD (DBG_FLOW|DBG_LOAD, "ucode_init");
|
||||||
|
|
||||||
while (address = ucode_regions[i].start,
|
while (rec) {
|
||||||
count = ucode_regions[i].count) {
|
PRINTD (DBG_LOAD, "starting region (%x, %u)", be32_to_cpu(rec->addr),
|
||||||
PRINTD (DBG_LOAD, "starting region (%x, %u)", address, count);
|
be16_to_cpu(rec->len));
|
||||||
while (count) {
|
if (be16_to_cpu(rec->len) > 4 * MAX_TRANSFER_DATA) {
|
||||||
unsigned int words;
|
PRINTK (KERN_ERR, "Bad microcode data (record too long)");
|
||||||
if (count <= MAX_TRANSFER_DATA)
|
return -EINVAL;
|
||||||
words = count;
|
|
||||||
else
|
|
||||||
words = MAX_TRANSFER_DATA;
|
|
||||||
total += words;
|
|
||||||
res = loader_write (lb, dev, pointer, address, words);
|
|
||||||
if (res)
|
|
||||||
return res;
|
|
||||||
res = loader_verify (lb, dev, pointer, address, words);
|
|
||||||
if (res)
|
|
||||||
return res;
|
|
||||||
count -= words;
|
|
||||||
address += sizeof(u32) * words;
|
|
||||||
pointer += words;
|
|
||||||
}
|
}
|
||||||
i += 1;
|
if (be16_to_cpu(rec->len) & 3) {
|
||||||
}
|
PRINTK (KERN_ERR, "Bad microcode data (odd number of bytes)");
|
||||||
if (*pointer == ATM_POISON) {
|
return -EINVAL;
|
||||||
return loader_start (lb, dev, ucode_start);
|
}
|
||||||
} else {
|
res = loader_write(lb, dev, rec);
|
||||||
// cast needed as there is no %? for pointer differnces
|
if (res)
|
||||||
PRINTD (DBG_LOAD|DBG_ERR,
|
break;
|
||||||
"offset=%li, *pointer=%x, address=%x, total=%u",
|
|
||||||
(long) (pointer - ucode_data), *pointer, address, total);
|
res = loader_verify(lb, dev, rec);
|
||||||
PRINTK (KERN_ERR, "incorrect microcode data");
|
if (res)
|
||||||
return -ENOMEM;
|
break;
|
||||||
}
|
}
|
||||||
|
release_firmware(fw);
|
||||||
|
if (!res)
|
||||||
|
res = loader_start(lb, dev, start_address);
|
||||||
|
|
||||||
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
/********** give adapter parameters **********/
|
/********** give adapter parameters **********/
|
||||||
|
|
|
@ -656,17 +656,6 @@ typedef struct amb_dev amb_dev;
|
||||||
#define AMB_DEV(atm_dev) ((amb_dev *) (atm_dev)->dev_data)
|
#define AMB_DEV(atm_dev) ((amb_dev *) (atm_dev)->dev_data)
|
||||||
#define AMB_VCC(atm_vcc) ((amb_vcc *) (atm_vcc)->dev_data)
|
#define AMB_VCC(atm_vcc) ((amb_vcc *) (atm_vcc)->dev_data)
|
||||||
|
|
||||||
/* the microcode */
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
u32 start;
|
|
||||||
unsigned int count;
|
|
||||||
} region;
|
|
||||||
|
|
||||||
static region ucode_regions[];
|
|
||||||
static u32 ucode_data[];
|
|
||||||
static u32 ucode_start;
|
|
||||||
|
|
||||||
/* rate rounding */
|
/* rate rounding */
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,6 +0,0 @@
|
||||||
/*
|
|
||||||
See copyright and licensing conditions in ambassador.* files.
|
|
||||||
*/
|
|
||||||
{ 0x00000080, 993, },
|
|
||||||
{ 0xa0d0d500, 80, },
|
|
||||||
{ 0xa0d0f000, 978, },
|
|
|
@ -1,4 +0,0 @@
|
||||||
/*
|
|
||||||
See copyright and licensing conditions in ambassador.* files.
|
|
||||||
*/
|
|
||||||
0xa0d0f000
|
|
|
@ -20,6 +20,7 @@ fw-external-y := $(subst ",,$(CONFIG_EXTRA_FIRMWARE))
|
||||||
# accurate. In the latter case it doesn't matter -- it'll use $(fw-shipped-all).
|
# accurate. In the latter case it doesn't matter -- it'll use $(fw-shipped-all).
|
||||||
# But be aware that the config file might not be included at all.
|
# But be aware that the config file might not be included at all.
|
||||||
|
|
||||||
|
fw-shipped-$(CONFIG_ATM_AMBASSADOR) += atmsar11.fw
|
||||||
fw-shipped-$(CONFIG_DVB_TTUSB_BUDGET) += ttusb-budget/dspbootcode.bin
|
fw-shipped-$(CONFIG_DVB_TTUSB_BUDGET) += ttusb-budget/dspbootcode.bin
|
||||||
fw-shipped-$(CONFIG_SMCTR) += tr_smctr.bin
|
fw-shipped-$(CONFIG_SMCTR) += tr_smctr.bin
|
||||||
fw-shipped-$(CONFIG_SND_KORG1212) += korg/k1212.dsp
|
fw-shipped-$(CONFIG_SND_KORG1212) += korg/k1212.dsp
|
||||||
|
|
204
firmware/atmsar11.HEX
Normal file
204
firmware/atmsar11.HEX
Normal file
|
@ -0,0 +1,204 @@
|
||||||
|
:04000000A0D0F0009C
|
||||||
|
:2C008000401A680000000000335B007C13600005335B10003C1AA0C0375A018003400008000000001760FFFB335B400020
|
||||||
|
:2C00AC00401A700013600003241B0FC0AF9B45002508000803400008420000108F810C9032220002104000033C03A0D174
|
||||||
|
:2C00D8002463F8100060F809242100011000001AAF810C9082020011AF900C480441000A34420080967D000296020012A4
|
||||||
|
:2C01040000000000105D00110000000004110161A66200021000000DAE62000C34848000A20200114D01FFFF000000005E
|
||||||
|
:2C0130008F834C0000000000AF830FEC00E0F80903E03821000414000440FFF700000000AF80460C8E1000084D01FFFF36
|
||||||
|
:2C015C00000000008F834C004900001DAF830FEC8F820CBC8F9D0C4C2442000197BE0000AF820CBC13C00009ACA200D872
|
||||||
|
:2C018800A7A000003C0100D1003E08259422002C0411013FA4220002AC22000CAC2000108F9E0C5427BD000217BE00028C
|
||||||
|
:2C01B4008CA200C08F9D0C508F970FC8AF9D0C4C12E20005878040023C02A0D12442F94C0040F8090000000000E0F8094A
|
||||||
|
:2C01E00003E038214500FFDC8E11000C3C1300D1001111022C4304001060FFB900021180026298218E76003C32220008C1
|
||||||
|
:2C020C001440FFB78E7700348E7500303C03CFB016C0000302D5102B041100BE000000001040FFA6007018264D01FFFFE5
|
||||||
|
:2C023800000000008F824C00AF974C00AF820FECAC7600100260902132220002104000078F944A009602003A3484000492
|
||||||
|
:2C02640014400003AF820FBC3C029000AF820FBC8E10000832943F008E11000C2694FF00128000733C1300D14901007162
|
||||||
|
:2C0290003237000816E0006F001111022C4304001060006C0002B980000417400440003A027798211272002326D60030E0
|
||||||
|
:2C02BC00AE56003C8E76003C8E7700348E7500303C03CFB016C0000302D5102B0411009100000000104000602E8210006B
|
||||||
|
:2C02E80014400009007018264D01FFFF000000008F824C00AF974C00AC760010AE4200341000FFD0AF80460C00E0F8090D
|
||||||
|
:2C03140003E038213C03CFB000701826AE4600344D01FFFF000000008F824C00AF974C00AF820FECAC7600101000FFC382
|
||||||
|
:2C034000AF80460C02D5102B104000423C17CFB02E8210001440000602F0B8264D01FFFF00000000AEF600101000FFB8E9
|
||||||
|
:2C036C00AF80460C00E0F80903E038214D01FFFF000000008F824C00AF864C00AEF60010AF820FEC1000FFAEAF80460C7F
|
||||||
|
:2C0398003084FFFB8E5700383242FFC000021182A7820FB8AF970FB4865D002A865E0008A79D0FBA279D0F1833DE00604B
|
||||||
|
:2C03C40003BEE821001EF0C203BEE8218F970C584D01FFFF000000008F834C008FA2001C12E300033C030C403C1EC0008B
|
||||||
|
:2C03F000AF9E0FBCAC620FB48FA300182442000C14430002AF80460C8FA20014AE40003CAFA2001C8E76003C8E7700340D
|
||||||
|
:2C041C008E7500303C03CFB016C0000302D5102B0411003C00000000007018264D01FFFF00000000ACA500E410400032D6
|
||||||
|
:2C044800AF974C001000FF7FAC760010000417400440000726D60030AE56003C00E0F80903E03821AF80460C1000FF393E
|
||||||
|
:2C047400AE4600348E5700383242FFC000021182A7820FB8AF970FB48F970C5800E0F80903E0382112E600033C030C4029
|
||||||
|
:2C04A0003C02C000AF820FBC865D002A865E0008A79D0FBA279D0F1833DE006003BEE821001EF0C203BEE8218FA2001C23
|
||||||
|
:2C04CC004D01FFFF000000008F974C00AC620FB43084FFFB8FA300182442000C14430002AF80460C8FA20014AE40003CC2
|
||||||
|
:2C04F800AFA2001C4D01FFFF00000000ACA500E41000FF13AF974C0000E0F80903E038211000FF0F000000001040005B50
|
||||||
|
:2C052400867E0008279D0F1833DE006003BEE821001E10C203A2E8218FB700088FA2000C8EF6000412E2002886620008BC
|
||||||
|
:2C05500082030010000217400441001924630001106000173C02D1B0005010264D01FFFF000000008F9E4C00AC56001008
|
||||||
|
:2C057C0026D6FFFE860200103C03CFB034632000A662002A8EE2000026F70008AE6200388FA20020AFB700082417FFFF46
|
||||||
|
:2C05A80002C2A8214D01FFFF00000000AF9E4C0003E00008AE7500308EE2000026F70008AE6200388FA20020AFB70008DB
|
||||||
|
:2C05D4002417FFFFA677002A02C2A8213C03CFB003E00008AE750030001E18C2006518218C6300C88FA200100000000064
|
||||||
|
:2C0600000062B0231EC000038FA1000412C0001B0022B0232EC30041146000023C1500402416004000161E80000318829E
|
||||||
|
:2C062C00007518254D01FFFF000000008F954C00001EB84000771821AC624D00005610211441000227830D008FA200004D
|
||||||
|
:2C06580002E3B821AFA2001002D71821AFA3000C4D01FFFF000000008EF600041000FFB5AF954C003C16DEADAE76003C82
|
||||||
|
:2C068400AE60003826D5FFFF0000102103E00008AE7500302C430AB2106000052C4324B21000000424020AB210000002AF
|
||||||
|
:2C06B000240224B11060FFFD304301FF000318403C1DA0D127BDD6CC007D1821946300000002EA4200031C0027BDFFFBC1
|
||||||
|
:2C06DC0003E0000803A3100624030FC0AF83450010000002012060213C0CCFB011E000560189602685FE00000000000089
|
||||||
|
:2C07080013C000473C02CFB007C0002D001E1F8004610034001E1FC0046000093C02D3B000E0F80903E038214D01FFFF10
|
||||||
|
:2C073400000000008F864C008F990FEC1000000BAF994C0001E2782600E0F80903E038214D01FFFF000000008F864C001B
|
||||||
|
:2C076000AF994C00ADEF20103C02D3B001E278268F820FC08F830FC4AF824D008DE20004A5E00000AC6200008C62000094
|
||||||
|
:2C078C0024020380AF824D008F824D008F820F1424630004146200022419FFFF8F830F10ACA500E4AF830FC44D01FFFF93
|
||||||
|
:2C07B800000000008F824C801000001FADE2003C00E0F80903E038214D01FFFF00000000A5E000008F864C001580002238
|
||||||
|
:2C07E400AF8F45401000001701E2782600E0F80903E038214D01FFFF000000008F864C00AF994C00ADEF20103C02CFB097
|
||||||
|
:2C08100001E27826A5E000004D01FFFF00000000100000078F994C0000E0F80903E038214D01FFFF000000008F864C0015
|
||||||
|
:2C083C008F990FEC1580000AAF8F45000000782110000014AF19001400E0F80903E038214D01FFFF000000001180FFF8C1
|
||||||
|
:2C0868008F864C0085220000012078210440000A8D290008130B0004000C1602AF1900148D7900140160C021AF994C0084
|
||||||
|
:2C089400AD8E40103042003F01C27021000417800440018B8F824A0030818000304200041440FF8D8D4B00001020000C47
|
||||||
|
:2C08C00030847FFF8F820C480120F021244300348C5D000C24420004AFDD000C1462FFFC27DE0004A52100001000FF82E0
|
||||||
|
:2C08EC00250800081160005800000000857D00088D63000C9562000A8D41000407A1002600621821A563000A00031C026D
|
||||||
|
:2C091800041101A0000318C0001D16C00441001F27A2008000021CC00461000E0040E82127BD0080956200009563000293
|
||||||
|
:2C0944003442000CAD22000C24020100A52200109562002CA5230014A5220012A520001634028000A5220000A57D0008D2
|
||||||
|
:2C09700007A0000C8F820C4C8F830C502441FFE80023F02B13C000020020102124420400945E00002441FFFE17C0FFF994
|
||||||
|
:2C099C00AD620010A44B0000142B001CAD400000AD400004254A00083142007F1440000E00041780044100038F820FE03A
|
||||||
|
:2C09C800100000063484000134840002244200083442100038421000AF820FE0354A0100394A010039420080AF820FE4B9
|
||||||
|
:2C09F400001D14C00441000333A2EFFF1000FF3CA562000807A0009F33A2FFFE10000021A56200088D620024001D1CC01D
|
||||||
|
:2C0A200004610004AD42000033A3EFFF1000FF31A563000807A0000533A3FFFEA56300088D4B00001000FFAA000000001E
|
||||||
|
:2C0A4C001000008E25080008254A00083142007F1440000E00041780044100038F820FE010000006348400013484000274
|
||||||
|
:2C0A7800244200083442100038421000AF820FE0354A0100394A010039420080AF820FE4110000038D4B00001000FF9303
|
||||||
|
:2C0AA4002508FFF88F820FD88F830FDC8F810FD41062001D246200084D01FFFF000000008F8C4C00847F00003C1E00D11C
|
||||||
|
:2C0AD00033FD03FF001D5980017E5821857E0008001DE900001E0F0003E1F82507E00003AF820FDC879E0CA0278B0C986E
|
||||||
|
:2C0AFC0007C100423C0208403C01F7B08D62002000230826AC2200008C620004946300022442FFF8004310211000004E12
|
||||||
|
:2C0B2800AD6200208F820FD087830CA014220007278B0C98410000513C018000ACA100E08CA100C4000000001022004C4E
|
||||||
|
:2C0B54000022E8238F9F0F0C07A10002AF810FD403E2E8232FA30041146000023C1E0040241D0040001D1E800003188256
|
||||||
|
:2C0B8000007E18254D01FFFF000000008F8C4C00AC624CC0005D1021145F000227830CC08F820F0803A3F021AF820FD059
|
||||||
|
:2C0BAC00AF9E0FD84D01FFFF000000001000FFC3246200088D63000C8D7D0010A563000A13A0000200031C02A7A00000F8
|
||||||
|
:2C0BD800000318C0041100EF006818214D01FFFF000000008F820C448F830C40AD620010A5630004A563000610000021FC
|
||||||
|
:2C0C0400AF8C4C00A57D00008C7D000494630002AC5D4C4027A20008AD62001803A3E82127BDFFF4AD7D001C27BD0004D4
|
||||||
|
:2C0C3000AD7D002037C18001001E17C00441FFE0A56100084D01FFFF000000008F820C448F830C40AD620010A563000478
|
||||||
|
:2C0C5C00A56300068F820FD88F830FDC4D01FFFF000000001462FF9524620008AF8C4C0087830CA0278B0C980461FE97F8
|
||||||
|
:2C0C88000004170004400005956200001178000600000000AF0E0010A70D00043084FFF7956D00048D6E001025ADFFD075
|
||||||
|
:2C0CB40005A1FE8FAD22000C3C0CFFB001896026000D182225AD00308D7E00188D61001C4D01FFFF00000000103E0036B9
|
||||||
|
:2C0CE0008F9D4C003C010840AC3E4C4027DE000811A00017AD7E0018000DF600019E60254D01FFFF00000000AD8E40105F
|
||||||
|
:2C0D0C008F8D0C40957E00068F8E0C4403CDF021A57E0006000CF782000C0E0203C1F021001E0F80000C6200000C6202C2
|
||||||
|
:2C0D38000181602533DE003C019E60213401000110000008A5210000957E00064D01FFFF000000008F8D0C408F8E0C44CD
|
||||||
|
:2C0D640003CDF021A57E00064D01FFFF0000000001A3F02B17C000080003F60001A36823019E6025018960264D01FFF7CF
|
||||||
|
:2C0D9000000000001000FE58AF9D4C008D7E00188D61001C00000000143EFFCE006D18234D01FFFF000000002C61000864
|
||||||
|
:2C0DBC001020001795610008000000000001FF8007E0000B34210002006D182100031E000183602501896026240D002CC0
|
||||||
|
:2C0DE800A56100084D01FFFF000000001000FE40AF9D4C003C1F0C40AFFE4FA83021FFFDA56100083C0CD3CF358CE0006E
|
||||||
|
:2C0E140010000008340300023C1F0C40AFFE4FA811A0FFF9000DF60034030003019E6025018960263484000834420002C4
|
||||||
|
:2C0E4000AD22000C95620006A5230000AD2200384D01FFFF00000000857E00088F820FA897830FACAD22000433C17FFFA6
|
||||||
|
:2C0E6C00AD600010A56100081060FE20AF9D4C00A57E00080003190030633FF0A56300008F820FB03C030840AC624C4007
|
||||||
|
:2C0E980024430008AD63001897830FAE2442FFF400621821AD63001C4D01FFFF000000008F8D0C408F830C44A56D000474
|
||||||
|
:2C0EC400A56D0006AD6300101000FE0AAF9D4C008F820FE000040FC08C4300000421001B8F9F0FE48C5D0004AC4000043A
|
||||||
|
:2C0EF0001060000EAC400000000000009462002800000000005F10208C4100040000000010200003AC43000410000002B6
|
||||||
|
:2C0F1C00AC230024AC43000017A3FFF48C6300248F820FE03BFF0080244200083442100038421000AF820FE0AF9F0FE46E
|
||||||
|
:2C0F48001000FE573084FFFE1060001000000000947D00280000000003BFE8208FA10004AFA30004102000038C5E000439
|
||||||
|
:2C0F740010000002AC230024AFA300008C61002417C3FE48AC410000AC400004AC4000001000FE443084FFFD2C6201006F
|
||||||
|
:2C0FA0001440000E006A10213143007F01431823004318233062007FA562002800621823000319028F820FE02463FFF8BF
|
||||||
|
:2C0FCC000062182134631000100000033863100034430100386301008C6200040000000010400003AC6B000403E000089A
|
||||||
|
:0C0FF800AC4B002403E00008AC6B0000D0
|
||||||
|
:02000004A0D08A
|
||||||
|
:2CD5000000000002A0D0E00000000000000010000000000600000008000000000000000800000002A0D0D64800000000F7
|
||||||
|
:2CD52C00000008880000000000000000000000000000000024313200243132002431320000000000244D43522420436FB2
|
||||||
|
:2CD558007079726967687420286329204D61646765204E6574776F726B73204C746420313939352E20416C6C207269674C
|
||||||
|
:2CD584006874732072657365727665642E004D6164676520416D6261737361646F722076312E303100000000000000012C
|
||||||
|
:2CD5B00000000001000000000000000000000000000000000000000000000000000000000000000000000000000000004E
|
||||||
|
:2CD5DC00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023
|
||||||
|
:2CD608000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000F6
|
||||||
|
:0CD6340000000000FFF0400000000000BB
|
||||||
|
:2CF000000C343E2D000000003C1CA0D1279C56383C1DA0D127BDDFD03C08A0D12508DFD0AF8780080C343C1300000000E4
|
||||||
|
:2CF02C00240400030097000D3C08BFC0350802308D08000000000000010000080000000027BDFFD0AFBF001CAFB1001864
|
||||||
|
:2CF05800AFB000143C11FFF0000080213C18005637183B7926190200172000020319001A0007000D2401FFFF172100056B
|
||||||
|
:2CF08400000000003C01800017010002000000000006000D00001012001018403C05A0D124A5D6CC00A32021A4820000C5
|
||||||
|
:2CF0B000261000012A0102001420FFEA000000003C06A0D124C6F9E43C07A0D124E7D648ACE600003C08A0D12508FB14D9
|
||||||
|
:2CF0DC00ACE800043C09A0D12529FC94ACE900083C0AA0D1254AFCD4ACEA000C3C0BA0D1256BFBA8ACEB00103C0CA0D15C
|
||||||
|
:2CF10800258CFBC4ACEC00143C0DA0D125ADFBE0ACED00183C0EA0D125CEFBFCACEE001C3C0FA0D125EFFC18ACEF0020AD
|
||||||
|
:2CF134003C18A0D12718FC34ACF800243C19A0D12739FC50ACF900283C02A0D12442FC60ACE2002C3C03A0D12463FC70A6
|
||||||
|
:2CF16000ACE300303C04A0D12484FC80ACE400343C05A0D124A5FCB4ACE500383C06A0D124C6FE08ACE6003C3C08A0D111
|
||||||
|
:2CF18C002508FE90ACE800403C09A0D12529FA38ACE900443C0AA0D1254AFA74ACEA0048241000133C0BA0D1256BF9D8E7
|
||||||
|
:2CF1B800001060803C0EA0D125CED64801CC6821ADAB0000261000012A0100201420FFF6000000008F988000000000006F
|
||||||
|
:2CF1E400AF0001008F828000241903FFA4590202000080218F86800024030FFF0010204024C7038000E42821A4A30000C1
|
||||||
|
:2CF21000261000012A0100081420FFF7000000008F89800034089C40AD2803A08F8B80003C0A00FF354AFFFFAD6A03A4FC
|
||||||
|
:2CF23C00000080218F8F8000240C0FFF0010684025F80300030D7021A5CC0000261000012A0100081420FFF700000000AB
|
||||||
|
:2CF268008F82800034199C40AC5903208F8480003C0300FF3463FFFFAC8303248F868000240502FFA4C502023C08A0C00C
|
||||||
|
:2CF29400350801803C09A0D12529D5B8250A00288D0B00008D0C0004AD2B0000AD2C000425080008150AFFFA252900081B
|
||||||
|
:2CF2C0004002600000000000AFA20028240300223C04A0E034840014AC8300008FA500280000000034A6100100C01021CB
|
||||||
|
:2CF2EC00AFA600283C07FFBF34E7FFFF00C7382400E01021AFA7002840876000000000003C0800023508D8903C09FFFE59
|
||||||
|
:2CF3180035290130AD2800008FAA00283C0BF000014B582501601021AFAB002801606021408C6000000000000000802141
|
||||||
|
:2CF3440000107080022E7821ADE00000261000012A0104001420FFFA00000000241800013C19A0E8AF380000240200117C
|
||||||
|
:2CF370003C03A0F034630017A06200003C04F0EB348400703C05FFF034A54A00ACA400003C06FCEB34C60070ACA6000027
|
||||||
|
:2CF39C003C07FFF034E74700ACE00000000080213C08FFF035080FC03C09FFF035294500AD280000261000012A01000433
|
||||||
|
:2CF3C8001420FFF800000000000080213C0ADEAD001059803C0100D1002B0821AC2A003C3C0100D1002B0821AC200030C1
|
||||||
|
:2CF3F4003C0100D1002B0821AC200038240DFFFF3C0100D1002B0821AC2D0014001071003C0100D1002B0821A42E000054
|
||||||
|
:2CF420003C0100D1002B0821A4200004241800203C0100D1002B0821A43800083C0100D1002B0821AC200010261000017F
|
||||||
|
:2CF44C002A0104001420FFE00000000000008021001018C03C05A0D124A5E00000A32021AC8000003C07A0D124E7E000BF
|
||||||
|
:2CF4780024E8000401033021ACC00000261000012A0100091420FFF300000000240903803C0AFFF0354A4D00AD4900005F
|
||||||
|
:2CF4A4003C0CA080358C009CAD8000003C0DA08035AD00A0ADA000003C0E11003C0FA08035EF00A8ADEE000041010003A0
|
||||||
|
:2CF4D000000000004100FFFF000000003C18A080371800E08F1900003C01A0D1AC39D6C80C343D43032020218FB00014DE
|
||||||
|
:2CF4FC008FBF001C8FB1001803E0000827BD00300080B8213C1CFFF0A3800C84A3800C888F90440000002021AF800CBC7E
|
||||||
|
:2CF52800240200A827830F002C5D004017A0000C3C1DFFB003A3E826AFB740000000000000000000000000004D01FFFFF6
|
||||||
|
:2CF55400000000002442FFC0246300401000FFF326F700401040000D000000000002EE003C01004003A1E8253C01FFF099
|
||||||
|
:2CF5800003A1E82603A3E826AFB740000000000000000000000000004D01FFFF000000003C05A0808F820F08000000007E
|
||||||
|
:2CF5AC00AF820FD4AF820FD0ACA200C48F820F100000000000021D82AF830FC000031D80004310233C01A0800041102542
|
||||||
|
:2CF5D800AF820FC4AF820F108F820F1400000000004310233C01A08000411025AF820F1424030003279D0F1824BE00C823
|
||||||
|
:2CF6040027810D008FA2000000000000AFA20010AFC20000AFA10008AFA1000C8FA2001400000000AFA2001C27BD0024B4
|
||||||
|
:2CF6300027DE0004242100401460FFF32463FFFF8F820F0000000000AF820FC8ACA200C0278208002403000FAC4000002C
|
||||||
|
:2CF65C00244200041460FFFD2463FFFF8F830FC000000000AF834D008F834D008F830F148F820F102463FFFCAC40000091
|
||||||
|
:2CF688001443FFFE2442000424020380AF824D00279D0F1827A100908FA200148FA3001800000000006218232C7F004017
|
||||||
|
:2CF6B40017E000093C1F004037FF080003A0F0214D01FFFF00000000AFE20000244200401000FFF62463FFC01060000659
|
||||||
|
:2CF6E00037FF080000031E0003E3F8254D01FFFF00000000AFE2000027BD002417A1FFE800000000000038218FC200145A
|
||||||
|
:2CF70C008FC3001800000000006218232C7F004013E000043C1F004000030E001000000203E1F8252403004037FF080084
|
||||||
|
:2CF73800241E03E7000008214D01FFFF00000000AFE20000002308214900FFFB000000008780400217C0FFF827DEFFFFCA
|
||||||
|
:2CF7640014E0000434E7400003E7F8251000FFF0AF810C60AF810C5C3C01A0D18C22D6C8000000003C01A080AC2200E0E7
|
||||||
|
:2CF790003C01A0808C2000E0AF800FB4A7800FB8A7800FBAA7800FBCA7800FBE27820CC0AF820FDCAF820FD83C02A0D156
|
||||||
|
:2CF7BC002442DACCAF820C4CAF820C5024420400AF820C542402001E3C03FFF0247D0040AC7D000803A018211440FFFC55
|
||||||
|
:2CF7E8002442FFFF3C1DFFF0AC7D00083C02C7043442DD7BAF820C583C07000024E7015808343FA9000000008E620038B9
|
||||||
|
:2CF8140000000000144000058F830C9412A000222463000110000020AF830C94AF820FB43262FFC0000211828663002A70
|
||||||
|
:2CF84000A7820FB83C02A000AF820FBCA7830FBA867E0008279D0F1833DE006003BEE821001EF0C203BEE8218FA2001CC6
|
||||||
|
:2CF86C003C030C404D01FFFF000000008F974C00AC620FB48FA300182442000C14430003000000008FA2001400000000FB
|
||||||
|
:2CF89800AFA2001C4D01FFFF00000000ACA500E4AF974C0003E00008AE60003C3C0DA0D125ADD50011A00021000000005C
|
||||||
|
:2CF8C4008DA90000000000001120001D000000008DAA00048DAB00088DAC000C0009474005010004000000003C08A0D185
|
||||||
|
:2CF8F0002508D638014850210009478005010007000000001180000D00000000AD400000254A00041000FFFB258CFFFC66
|
||||||
|
:2CF91C0011800007000000008D6E0000256B0004AD4E0000254A00041000FFF9258CFFFC1000FFE125AD001003E00008B9
|
||||||
|
:2CF94800000000003C021040AC574FF0000000000000000000000000000000004D01FFFF000000008F820FFC000000005B
|
||||||
|
:2CF974003042001F000210803C17A0D102E2B82126F7D6488EF700000000000002E00008000000002402FFFFAF820FFCB9
|
||||||
|
:2CF9A0008F970FC83C021040AC570FF08F820F0426F7001016E20004AF970FC88F970F0000000000AF970FC84D01FFFFA6
|
||||||
|
:2CF9CC000000000003E00008000000003C1FA0D127FFF02C1000FFED8F970FF03C0200D132F703FF0017B98002E2B825AA
|
||||||
|
:2CF9F800AEE0003C2402FFFFAEE20030AEE2001497830FF497820FF83C1D000027BD0698A6E30008A6E20002AF9F0FE819
|
||||||
|
:2CFA240003A0F809A6E2002C8F9F0FE81000FFD9AEE2000C8F970FF03C0200D132F703FF0017B98002E2B82597820FF429
|
||||||
|
:2CFA50003C03000024630698A6E20002AF9F0FE80060F809A6E2002C8F9F0FE81000FFCAAEE2000C8F970FF03C0200D174
|
||||||
|
:2CFA7C0032F703FF0017B98002E2B82597820FF40000000096E30008A6E2000800431026304200601040FFBD8EE2003CF2
|
||||||
|
:2CFAA800AEE0003C1040FFBA3C028800AF820FBC8EE20038AEE0003830630060279D0F1803A3E821000318C203A3E82116
|
||||||
|
:2CFAD4008FA3001C1040FFAFAF820FB43C020C40AC430FB48FA200182463000C14430003000000008FA30014000000000E
|
||||||
|
:2CFB0000AFA3001C4D01FFFF000000001000FFA2000000008F970FF03C0200D1A7970FB80017B98032F7FFC002E2B82140
|
||||||
|
:2CFB2C00AEE000303C02DEAD8EE3003CAEE2003C8EE200381060FF95AEE000383C038800AF830FBC86E3000827970F1821
|
||||||
|
:2CFB58003063006002E3B821000318C202E3B8218EE3001C1040FF8AAF820FB43C020C40AC430FB48EE200182463000C84
|
||||||
|
:2CFB840014430003000000008EE3001400000000AEE3001C4D01FFFF000000001000FF7D000000008F820FF08F970FF4B8
|
||||||
|
:2CFBB0009041000000000000003708251000FF76A04100008F820FF08F970FF49441000000000000003708251000FF6F9E
|
||||||
|
:2CFBDC00A44100008F820FF08F970FF48C41000000000000003708251000FF68AC4100008F820FF08F970FF49041000040
|
||||||
|
:2CFC080002E0B827003708241000FF61A04100008F820FF08F970FF49441000002E0B827003708241000FF5AA4410000DB
|
||||||
|
:2CFC34008F820FF08F970FF48C41000002E0B827003708241000FF53AC4100008F820FF08F970FF41000FF4FA05700009D
|
||||||
|
:2CFC60008F820FF08F970FF41000FF4BA45700008F820FF08F970FF41000FF47AC5700008F820FF0000000008C4200007A
|
||||||
|
:2CFC8C001000FF42AF820FF43C01A0C28C22C00000000000AF820FF03C01A0C28C22C0041000FF3AAF820FF43C01A0D14E
|
||||||
|
:2CFCB8008C22D5AC00000000AF820FF03C01A0D18C22D5B01000FF32AF820FF43C02A0F0AC400000905701530000000076
|
||||||
|
:2CFCE400A3970C809057015700000000A3970C819057015B00000000A3970C879057015F00000000A3970C8690570163BA
|
||||||
|
:2CFD10000000000032F70007A3970C859057019300000000A3970C8B9057019700000000A3970C8A9057019B00000000AE
|
||||||
|
:2CFD3C0032F70007A3970C899057000B0000000032F700E000170942905700470000000032F700780037082590570067BE
|
||||||
|
:2CFD68000000000032F7000F0017B9C000370825905700C70000000032F7002F0017BAC000370825905701470000000019
|
||||||
|
:2CFD940032F7001E0017BC0000370825905701830000000032F700600017BC0000370825AF810C8C3C0218408F970FC83F
|
||||||
|
:2CFDC000000000008F970FF000000000AC570C800000000000000000000000000000000000000000000000004D01FFFF17
|
||||||
|
:2CFDEC00000000003C02A0D12442F998AF800C90AF800C94004000080000000087970FF03C1300D1A67700083C030000C2
|
||||||
|
:2CFE180024630520AF9F0FE80060F809240200018F9F0FE81040FEDA97970FF027830F18007718210017B8C202E3B821FB
|
||||||
|
:2CFE44003C028800AF820FBC8E620038A7800FB8AF820FB48EE3001C3C020C40AC430FB48EE200182463000C1443000487
|
||||||
|
:2CFE7000AEE3001C8EE3001400000000AEE3001C4D01FFFF000000001000FFDF000000008F820C5C8F830C60AF820FF026
|
||||||
|
:2CFE9C001000FEBEAF830FF423890800012018212402000F206C0040AC6C0008018018211440FFFC2042FFFFAC69000884
|
||||||
|
:2CFEC800278B0C98A56000002403FFFFAD6300143402000134420020A5620008278A0E000140102100001821AC40000038
|
||||||
|
:2CFEF400246300042C6C01001580FFFC244200043C02A0D12442E000AF820FE03C1800D1012060210000682100007821C6
|
||||||
|
:28FF20000000582100004021400260000000000034424001408260003C020000244206F800400008000000007A
|
||||||
|
:00000001FF
|
||||||
|
/*
|
||||||
|
Madge Ambassador ATM Adapter microcode.
|
||||||
|
Copyright (C) 1995-1999 Madge Networks Ltd.
|
||||||
|
|
||||||
|
This microcode data is placed under the terms of the GNU General
|
||||||
|
Public License. The GPL is contained in /usr/doc/copyright/GPL on a
|
||||||
|
Debian system and in the file COPYING in the Linux kernel source.
|
||||||
|
|
||||||
|
We would prefer you not to distribute modified versions without
|
||||||
|
consultation and not to ask for assembly/other microcode source.
|
||||||
|
*/
|
||||||
|
|
||||||
|
First record is start address in a __be32.
|
Loading…
Reference in a new issue