forked from Minki/linux
fdecea6668
Contributed by Ion Badulescu <ionut@badula.org>, further fixed up by me.
347 lines
9.2 KiB
C
347 lines
9.2 KiB
C
/*
|
|
* Copyright 2003 Adaptec, Inc.
|
|
*
|
|
* Please read the following license before using the Adaptec Software
|
|
* ("Program"). If you do not agree to the license terms, do not use the
|
|
* Program:
|
|
*
|
|
* You agree to be bound by version 2 of the General Public License ("GPL")
|
|
* dated June 1991, which can be found at http://www.fsf.org/licenses/gpl.html.
|
|
* If the link is broken, write to Free Software Foundation, 59 Temple Place,
|
|
* Boston, Massachusetts 02111-1307.
|
|
*
|
|
* BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE IT IS LICENSED "AS IS" AND
|
|
* THERE IS NO WARRANTY FOR THE PROGRAM, INCLUDING BUT NOT LIMITED TO THE
|
|
* IMPLIED WARRANTIES OF MERCHANTIBILITY OR FITNESS FOR A PARTICULAR PURPOSE
|
|
* (TO THE EXTENT PERMITTED BY APPLICABLE LAW). USE OF THE PROGRAM IS AT YOUR
|
|
* OWN RISK. IN NO EVENT WILL ADAPTEC OR ITS LICENSORS BE LIABLE TO YOU FOR
|
|
* DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES
|
|
* ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM.
|
|
*
|
|
*/
|
|
|
|
static const u32 firmware_rx[] = {
|
|
0x010003dc, 0x00000000,
|
|
0x04000421, 0x00000086,
|
|
0x80000015, 0x0000180e,
|
|
0x81000015, 0x00006664,
|
|
0x1a0040ab, 0x00000b06,
|
|
0x14200011, 0x00000000,
|
|
0x14204022, 0x0000aaaa,
|
|
0x14204022, 0x00000300,
|
|
0x14204022, 0x00000000,
|
|
0x1a0040ab, 0x00000b14,
|
|
0x14200011, 0x00000000,
|
|
0x83000015, 0x00000002,
|
|
0x04000021, 0x00000000,
|
|
0x00000010, 0x00000000,
|
|
0x04000421, 0x00000087,
|
|
0x00000010, 0x00000000,
|
|
0x00000010, 0x00000000,
|
|
0x00008015, 0x00000000,
|
|
0x0000003e, 0x00000000,
|
|
0x00000010, 0x00000000,
|
|
0x82000015, 0x00004000,
|
|
0x009e8050, 0x00000000,
|
|
0x03008015, 0x00000000,
|
|
0x86008015, 0x00000000,
|
|
0x82000015, 0x00008000,
|
|
0x0100001c, 0x00000000,
|
|
0x000050a0, 0x0000010c,
|
|
0x4e20d011, 0x00006008,
|
|
0x1420d012, 0x00004008,
|
|
0x0000f090, 0x00007000,
|
|
0x0000c8b0, 0x00003000,
|
|
0x00004040, 0x00000000,
|
|
0x00108015, 0x00000000,
|
|
0x00a2c150, 0x00004000,
|
|
0x00a400b0, 0x00000014,
|
|
0x00000020, 0x00000000,
|
|
0x2500400d, 0x00002525,
|
|
0x00047220, 0x00003100,
|
|
0x00934070, 0x00000000,
|
|
0x00000020, 0x00000000,
|
|
0x00924460, 0x00000184,
|
|
0x2b20c011, 0x00000000,
|
|
0x0000c420, 0x00000540,
|
|
0x36014018, 0x0000422d,
|
|
0x14200011, 0x00000000,
|
|
0x00924460, 0x00000183,
|
|
0x3200001f, 0x00000034,
|
|
0x02ac0015, 0x00000002,
|
|
0x00a60110, 0x00000008,
|
|
0x42200011, 0x00000000,
|
|
0x00924060, 0x00000103,
|
|
0x0000001e, 0x00000000,
|
|
0x00000020, 0x00000100,
|
|
0x0000001e, 0x00000000,
|
|
0x00924460, 0x00000086,
|
|
0x00004080, 0x00000000,
|
|
0x0092c070, 0x00000000,
|
|
0x00924060, 0x00000100,
|
|
0x0000c890, 0x00005000,
|
|
0x00a6c110, 0x00000000,
|
|
0x00b0c090, 0x00000012,
|
|
0x021c0015, 0x00000000,
|
|
0x3200001f, 0x00000034,
|
|
0x00924460, 0x00000510,
|
|
0x44210011, 0x00000000,
|
|
0x42000011, 0x00000000,
|
|
0x83000015, 0x00000040,
|
|
0x00924460, 0x00000508,
|
|
0x45014018, 0x00004545,
|
|
0x00808050, 0x00000000,
|
|
0x62208012, 0x00000000,
|
|
0x82000015, 0x00000800,
|
|
0x15200011, 0x00000000,
|
|
0x00000010, 0x00000000,
|
|
0x00000010, 0x00000000,
|
|
0x00000010, 0x00000000,
|
|
0x00000010, 0x00000000,
|
|
0x00000010, 0x00000000,
|
|
0x80000015, 0x0000eea4,
|
|
0x81000015, 0x0000005f,
|
|
0x00000060, 0x00000000,
|
|
0x00004120, 0x00000000,
|
|
0x00004a00, 0x00004000,
|
|
0x00924460, 0x00000190,
|
|
0x5601401a, 0x00005956,
|
|
0x14000011, 0x00000000,
|
|
0x00934050, 0x00000018,
|
|
0x00930050, 0x00000018,
|
|
0x3601403a, 0x0000002d,
|
|
0x000643a9, 0x00000000,
|
|
0x0000c420, 0x00000140,
|
|
0x5601401a, 0x00005956,
|
|
0x14000011, 0x00000000,
|
|
0x00000010, 0x00000000,
|
|
0x00000010, 0x00000000,
|
|
0x000642a9, 0x00000000,
|
|
0x00024420, 0x00000183,
|
|
0x5601401a, 0x00005956,
|
|
0x82000015, 0x00002000,
|
|
0x15200011, 0x00000000,
|
|
0x82000015, 0x00000010,
|
|
0x15200011, 0x00000000,
|
|
0x82000015, 0x00000010,
|
|
0x15200011, 0x00000000,
|
|
}; /* 104 Rx instructions */
|
|
#define FIRMWARE_RX_SIZE 104
|
|
|
|
static const u32 firmware_tx[] = {
|
|
0x010003dc, 0x00000000,
|
|
0x04000421, 0x00000086,
|
|
0x80000015, 0x0000180e,
|
|
0x81000015, 0x00006664,
|
|
0x1a0040ab, 0x00000b06,
|
|
0x14200011, 0x00000000,
|
|
0x14204022, 0x0000aaaa,
|
|
0x14204022, 0x00000300,
|
|
0x14204022, 0x00000000,
|
|
0x1a0040ab, 0x00000b14,
|
|
0x14200011, 0x00000000,
|
|
0x83000015, 0x00000002,
|
|
0x04000021, 0x00000000,
|
|
0x00000010, 0x00000000,
|
|
0x04000421, 0x00000087,
|
|
0x00000010, 0x00000000,
|
|
0x00000010, 0x00000000,
|
|
0x00008015, 0x00000000,
|
|
0x0000003e, 0x00000000,
|
|
0x00000010, 0x00000000,
|
|
0x82000015, 0x00004000,
|
|
0x009e8050, 0x00000000,
|
|
0x03008015, 0x00000000,
|
|
0x86008015, 0x00000000,
|
|
0x82000015, 0x00008000,
|
|
0x0100001c, 0x00000000,
|
|
0x000050a0, 0x0000010c,
|
|
0x4e20d011, 0x00006008,
|
|
0x1420d012, 0x00004008,
|
|
0x0000f090, 0x00007000,
|
|
0x0000c8b0, 0x00003000,
|
|
0x00004040, 0x00000000,
|
|
0x00108015, 0x00000000,
|
|
0x00a2c150, 0x00004000,
|
|
0x00a400b0, 0x00000014,
|
|
0x00000020, 0x00000000,
|
|
0x2500400d, 0x00002525,
|
|
0x00047220, 0x00003100,
|
|
0x00934070, 0x00000000,
|
|
0x00000020, 0x00000000,
|
|
0x00924460, 0x00000184,
|
|
0x2b20c011, 0x00000000,
|
|
0x0000c420, 0x00000540,
|
|
0x36014018, 0x0000422d,
|
|
0x14200011, 0x00000000,
|
|
0x00924460, 0x00000183,
|
|
0x3200001f, 0x00000034,
|
|
0x02ac0015, 0x00000002,
|
|
0x00a60110, 0x00000008,
|
|
0x42200011, 0x00000000,
|
|
0x00924060, 0x00000103,
|
|
0x0000001e, 0x00000000,
|
|
0x00000020, 0x00000100,
|
|
0x0000001e, 0x00000000,
|
|
0x00924460, 0x00000086,
|
|
0x00004080, 0x00000000,
|
|
0x0092c070, 0x00000000,
|
|
0x00924060, 0x00000100,
|
|
0x0000c890, 0x00005000,
|
|
0x00a6c110, 0x00000000,
|
|
0x00b0c090, 0x00000012,
|
|
0x021c0015, 0x00000000,
|
|
0x3200001f, 0x00000034,
|
|
0x00924460, 0x00000510,
|
|
0x44210011, 0x00000000,
|
|
0x42000011, 0x00000000,
|
|
0x83000015, 0x00000040,
|
|
0x00924460, 0x00000508,
|
|
0x45014018, 0x00004545,
|
|
0x00808050, 0x00000000,
|
|
0x62208012, 0x00000000,
|
|
0x82000015, 0x00000800,
|
|
0x15200011, 0x00000000,
|
|
0x00000010, 0x00000000,
|
|
0x00000010, 0x00000000,
|
|
0x00000010, 0x00000000,
|
|
0x00000010, 0x00000000,
|
|
0x00000010, 0x00000000,
|
|
0x80000015, 0x0000eea4,
|
|
0x81000015, 0x0000005f,
|
|
0x00000060, 0x00000000,
|
|
0x00004120, 0x00000000,
|
|
0x00004a00, 0x00004000,
|
|
0x00924460, 0x00000190,
|
|
0x5601401a, 0x00005956,
|
|
0x14000011, 0x00000000,
|
|
0x00934050, 0x00000018,
|
|
0x00930050, 0x00000018,
|
|
0x3601403a, 0x0000002d,
|
|
0x000643a9, 0x00000000,
|
|
0x0000c420, 0x00000140,
|
|
0x5601401a, 0x00005956,
|
|
0x14000011, 0x00000000,
|
|
0x00000010, 0x00000000,
|
|
0x00000010, 0x00000000,
|
|
0x000642a9, 0x00000000,
|
|
0x00024420, 0x00000183,
|
|
0x5601401a, 0x00005956,
|
|
0x82000015, 0x00002000,
|
|
0x15200011, 0x00000000,
|
|
0x82000015, 0x00000010,
|
|
0x15200011, 0x00000000,
|
|
0x82000015, 0x00000010,
|
|
0x15200011, 0x00000000,
|
|
}; /* 104 Tx instructions */
|
|
#define FIRMWARE_TX_SIZE 104
|
|
#if 0
|
|
static const u32 firmware_wol[] = {
|
|
0x010003dc, 0x00000000,
|
|
0x19000421, 0x00000087,
|
|
0x80000015, 0x00001a1a,
|
|
0x81000015, 0x00001a1a,
|
|
0x1a0040ab, 0x00000b06,
|
|
0x15200011, 0x00000000,
|
|
0x15204022, 0x0000aaaa,
|
|
0x15204022, 0x00000300,
|
|
0x15204022, 0x00000000,
|
|
0x1a0040ab, 0x00000b15,
|
|
0x15200011, 0x00000000,
|
|
0x83000015, 0x00000002,
|
|
0x04000021, 0x00000000,
|
|
0x00000010, 0x00000000,
|
|
0x04000421, 0x00000087,
|
|
0x00000010, 0x00000000,
|
|
0x00000010, 0x00000000,
|
|
0x00008015, 0x00000000,
|
|
0x0000003e, 0x00000000,
|
|
0x00000010, 0x00000000,
|
|
0x00000010, 0x00000000,
|
|
0x82000015, 0x00004000,
|
|
0x82000015, 0x00008000,
|
|
0x0000000c, 0x00000000,
|
|
0x00000010, 0x00000000,
|
|
0x00004080, 0x00000100,
|
|
0x1f20c011, 0x00001122,
|
|
0x2720f011, 0x00003011,
|
|
0x19200071, 0x00000000,
|
|
0x1a200051, 0x00000000,
|
|
0x00000010, 0x00000000,
|
|
0x00000010, 0x00000000,
|
|
0x1d2040a4, 0x00003344,
|
|
0x1d2040a2, 0x00005566,
|
|
0x000040a0, 0x00000100,
|
|
0x00108050, 0x00000001,
|
|
0x1a208012, 0x00000006,
|
|
0x82000015, 0x00008080,
|
|
0x010003dc, 0x00000000,
|
|
0x1d2040a4, 0x00002233,
|
|
0x1d2040a4, 0x00004455,
|
|
0x2d208011, 0x00000005,
|
|
0x1d2040a4, 0x00006611,
|
|
0x00108050, 0x00000001,
|
|
0x27200011, 0x00000000,
|
|
0x1d2050a4, 0x00006600,
|
|
0x82000015, 0x00008080,
|
|
0x010003dc, 0x00000000,
|
|
0x00000050, 0x00000000,
|
|
0x1b200031, 0x00000000,
|
|
0x0000001e, 0x00000000,
|
|
0x0000001e, 0x00000000,
|
|
0x0000001e, 0x00000000,
|
|
0x0000001e, 0x00000000,
|
|
0x00924460, 0x00000086,
|
|
0x00004080, 0x00000000,
|
|
0x0092c070, 0x00000000,
|
|
0x00924060, 0x00000100,
|
|
0x0000c890, 0x00005000,
|
|
0x00a6c110, 0x00000000,
|
|
0x00b0c090, 0x00000012,
|
|
0x021c0015, 0x00000000,
|
|
0x3200001f, 0x00000034,
|
|
0x00924460, 0x00000510,
|
|
0x44210011, 0x00000000,
|
|
0x42000011, 0x00000000,
|
|
0x83000015, 0x00000040,
|
|
0x00924460, 0x00000508,
|
|
0x476a0012, 0x00000100,
|
|
0x83000015, 0x00000008,
|
|
0x16200011, 0x00000000,
|
|
0x001e8050, 0x00000000,
|
|
0x001e8050, 0x00000000,
|
|
0x00808050, 0x00000000,
|
|
0x03008015, 0x00000000,
|
|
0x62208012, 0x00000000,
|
|
0x82000015, 0x00000800,
|
|
0x16200011, 0x00000000,
|
|
0x80000015, 0x0000eea4,
|
|
0x81000015, 0x0000005f,
|
|
0x00000020, 0x00000000,
|
|
0x00004120, 0x00000000,
|
|
0x00004a00, 0x00004000,
|
|
0x00924460, 0x00000190,
|
|
0x5c01401a, 0x0000595c,
|
|
0x15000011, 0x00000000,
|
|
0x00934050, 0x00000018,
|
|
0x00930050, 0x00000018,
|
|
0x3601403a, 0x0000002d,
|
|
0x00064029, 0x00000000,
|
|
0x0000c420, 0x00000140,
|
|
0x5c01401a, 0x0000595c,
|
|
0x15000011, 0x00000000,
|
|
0x00000010, 0x00000000,
|
|
0x00000010, 0x00000000,
|
|
0x00064029, 0x00000000,
|
|
0x00024420, 0x00000183,
|
|
0x5c01401a, 0x0000595c,
|
|
0x82000015, 0x00002000,
|
|
0x16200011, 0x00000000,
|
|
0x82000015, 0x00000010,
|
|
0x16200011, 0x00000000,
|
|
0x82000015, 0x00000010,
|
|
0x16200011, 0x00000000,
|
|
}; /* 104 WoL instructions */
|
|
#define FIRMWARE_WOL_SIZE 104
|
|
#endif
|