diff options
author | Michael Chan <mchan@broadcom.com> | 2006-11-19 17:09:25 -0500 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-12-03 00:24:22 -0500 |
commit | af3ee519c5d6bebbda9bf0ca3b81bc50b4dd2163 (patch) | |
tree | 03c4e5e6c10210239109d8456801d1902fb06a49 /drivers/net/bnx2_fw.h | |
parent | a16dda0e67cea666fb7eb708ab1199892c4a1a13 (diff) |
[BNX2]: Re-organize firmware structures.
Re-organize the firmware handling code and declarations a bit to make
the code more compact.
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/bnx2_fw.h')
-rw-r--r-- | drivers/net/bnx2_fw.h | 193 |
1 files changed, 137 insertions, 56 deletions
diff --git a/drivers/net/bnx2_fw.h b/drivers/net/bnx2_fw.h index 4adc8de30631..21d368ff424d 100644 --- a/drivers/net/bnx2_fw.h +++ b/drivers/net/bnx2_fw.h | |||
@@ -14,20 +14,6 @@ | |||
14 | * accompanying it. | 14 | * accompanying it. |
15 | */ | 15 | */ |
16 | 16 | ||
17 | static const int bnx2_COM_b06FwReleaseMajor = 0x1; | ||
18 | static const int bnx2_COM_b06FwReleaseMinor = 0x0; | ||
19 | static const int bnx2_COM_b06FwReleaseFix = 0x0; | ||
20 | static const u32 bnx2_COM_b06FwStartAddr = 0x080008b4; | ||
21 | static const u32 bnx2_COM_b06FwTextAddr = 0x08000000; | ||
22 | static const int bnx2_COM_b06FwTextLen = 0x57bc; | ||
23 | static const u32 bnx2_COM_b06FwDataAddr = 0x08005840; | ||
24 | static const int bnx2_COM_b06FwDataLen = 0x0; | ||
25 | static const u32 bnx2_COM_b06FwRodataAddr = 0x080057c0; | ||
26 | static const int bnx2_COM_b06FwRodataLen = 0x58; | ||
27 | static const u32 bnx2_COM_b06FwBssAddr = 0x08005860; | ||
28 | static const int bnx2_COM_b06FwBssLen = 0x88; | ||
29 | static const u32 bnx2_COM_b06FwSbssAddr = 0x08005840; | ||
30 | static const int bnx2_COM_b06FwSbssLen = 0x1c; | ||
31 | static u8 bnx2_COM_b06FwText[] = { | 17 | static u8 bnx2_COM_b06FwText[] = { |
32 | 0x1f, 0x8b, 0x08, 0x08, 0x09, 0x83, 0x41, 0x44, 0x00, 0x03, 0x74, 0x65, | 18 | 0x1f, 0x8b, 0x08, 0x08, 0x09, 0x83, 0x41, 0x44, 0x00, 0x03, 0x74, 0x65, |
33 | 0x73, 0x74, 0x31, 0x2e, 0x62, 0x69, 0x6e, 0x00, 0xec, 0x5b, 0x7d, 0x6c, | 19 | 0x73, 0x74, 0x31, 0x2e, 0x62, 0x69, 0x6e, 0x00, 0xec, 0x5b, 0x7d, 0x6c, |
@@ -673,20 +659,40 @@ static u32 bnx2_COM_b06FwRodata[(0x58/4) + 1] = { | |||
673 | static u32 bnx2_COM_b06FwBss[(0x88/4) + 1] = { 0x0 }; | 659 | static u32 bnx2_COM_b06FwBss[(0x88/4) + 1] = { 0x0 }; |
674 | static u32 bnx2_COM_b06FwSbss[(0x1c/4) + 1] = { 0x0 }; | 660 | static u32 bnx2_COM_b06FwSbss[(0x1c/4) + 1] = { 0x0 }; |
675 | 661 | ||
676 | static const int bnx2_RXP_b06FwReleaseMajor = 0x2; | 662 | static struct fw_info bnx2_com_fw_06 = { |
677 | static const int bnx2_RXP_b06FwReleaseMinor = 0x8; | 663 | .ver_major = 0x1, |
678 | static const int bnx2_RXP_b06FwReleaseFix = 0x17; | 664 | .ver_minor = 0x0, |
679 | static const u32 bnx2_RXP_b06FwStartAddr = 0x08003184; | 665 | .ver_fix = 0x0, |
680 | static const u32 bnx2_RXP_b06FwTextAddr = 0x08000000; | 666 | |
681 | static const int bnx2_RXP_b06FwTextLen = 0x6728; | 667 | .start_addr = 0x080008b4, |
682 | static const u32 bnx2_RXP_b06FwDataAddr = 0x080069c0; | 668 | |
683 | static const int bnx2_RXP_b06FwDataLen = 0x0; | 669 | .text_addr = 0x08000000, |
684 | static const u32 bnx2_RXP_b06FwRodataAddr = 0x08006728; | 670 | .text_len = 0x57bc, |
685 | static const int bnx2_RXP_b06FwRodataLen = 0x278; | 671 | .text_index = 0x0, |
686 | static const u32 bnx2_RXP_b06FwBssAddr = 0x080069f0; | 672 | .gz_text = bnx2_COM_b06FwText, |
687 | static const int bnx2_RXP_b06FwBssLen = 0x13dc; | 673 | .gz_text_len = sizeof(bnx2_COM_b06FwText), |
688 | static const u32 bnx2_RXP_b06FwSbssAddr = 0x080069c0; | 674 | |
689 | static const int bnx2_RXP_b06FwSbssLen = 0x2c; | 675 | .data_addr = 0x08005840, |
676 | .data_len = 0x0, | ||
677 | .data_index = 0x0, | ||
678 | .data = bnx2_COM_b06FwData, | ||
679 | |||
680 | .sbss_addr = 0x08005840, | ||
681 | .sbss_len = 0x1c, | ||
682 | .sbss_index = 0x0, | ||
683 | .sbss = bnx2_COM_b06FwSbss, | ||
684 | |||
685 | .bss_addr = 0x08005860, | ||
686 | .bss_len = 0x88, | ||
687 | .bss_index = 0x0, | ||
688 | .bss = bnx2_COM_b06FwBss, | ||
689 | |||
690 | .rodata_addr = 0x080057c0, | ||
691 | .rodata_len = 0x58, | ||
692 | .rodata_index = 0x0, | ||
693 | .rodata = bnx2_COM_b06FwRodata, | ||
694 | }; | ||
695 | |||
690 | static u8 bnx2_RXP_b06FwText[] = { | 696 | static u8 bnx2_RXP_b06FwText[] = { |
691 | 0x1f, 0x8b, 0x08, 0x08, 0xcb, 0xa3, 0x46, 0x45, 0x00, 0x03, 0x74, 0x65, | 697 | 0x1f, 0x8b, 0x08, 0x08, 0xcb, 0xa3, 0x46, 0x45, 0x00, 0x03, 0x74, 0x65, |
692 | 0x73, 0x74, 0x31, 0x2e, 0x62, 0x69, 0x6e, 0x00, 0xec, 0x5c, 0x6f, 0x6c, | 698 | 0x73, 0x74, 0x31, 0x2e, 0x62, 0x69, 0x6e, 0x00, 0xec, 0x5c, 0x6f, 0x6c, |
@@ -1366,6 +1372,40 @@ static u32 bnx2_RXP_b06FwRodata[(0x278/4) + 1] = { | |||
1366 | static u32 bnx2_RXP_b06FwBss[(0x13dc/4) + 1] = { 0x0 }; | 1372 | static u32 bnx2_RXP_b06FwBss[(0x13dc/4) + 1] = { 0x0 }; |
1367 | static u32 bnx2_RXP_b06FwSbss[(0x2c/4) + 1] = { 0x0 }; | 1373 | static u32 bnx2_RXP_b06FwSbss[(0x2c/4) + 1] = { 0x0 }; |
1368 | 1374 | ||
1375 | static struct fw_info bnx2_rxp_fw_06 = { | ||
1376 | .ver_major = 0x2, | ||
1377 | .ver_minor = 0x8, | ||
1378 | .ver_fix = 0x17, | ||
1379 | |||
1380 | .start_addr = 0x08003184, | ||
1381 | |||
1382 | .text_addr = 0x08000000, | ||
1383 | .text_len = 0x6728, | ||
1384 | .text_index = 0x0, | ||
1385 | .gz_text = bnx2_RXP_b06FwText, | ||
1386 | .gz_text_len = sizeof(bnx2_RXP_b06FwText), | ||
1387 | |||
1388 | .data_addr = 0x080069c0, | ||
1389 | .data_len = 0x0, | ||
1390 | .data_index = 0x0, | ||
1391 | .data = bnx2_RXP_b06FwData, | ||
1392 | |||
1393 | .sbss_addr = 0x080069c0, | ||
1394 | .sbss_len = 0x2c, | ||
1395 | .sbss_index = 0x0, | ||
1396 | .sbss = bnx2_RXP_b06FwSbss, | ||
1397 | |||
1398 | .bss_addr = 0x080069f0, | ||
1399 | .bss_len = 0x13dc, | ||
1400 | .bss_index = 0x0, | ||
1401 | .bss = bnx2_RXP_b06FwBss, | ||
1402 | |||
1403 | .rodata_addr = 0x08006728, | ||
1404 | .rodata_len = 0x278, | ||
1405 | .rodata_index = 0x0, | ||
1406 | .rodata = bnx2_RXP_b06FwRodata, | ||
1407 | }; | ||
1408 | |||
1369 | static u8 bnx2_rv2p_proc1[] = { | 1409 | static u8 bnx2_rv2p_proc1[] = { |
1370 | 0x1f, 0x8b, 0x08, 0x08, 0x5e, 0xd0, 0x41, 0x44, 0x00, 0x03, 0x74, 0x65, | 1410 | 0x1f, 0x8b, 0x08, 0x08, 0x5e, 0xd0, 0x41, 0x44, 0x00, 0x03, 0x74, 0x65, |
1371 | 0x73, 0x74, 0x31, 0x2e, 0x62, 0x69, 0x6e, 0x00, 0xc5, 0x56, 0xcf, 0x6b, | 1411 | 0x73, 0x74, 0x31, 0x2e, 0x62, 0x69, 0x6e, 0x00, 0xc5, 0x56, 0xcf, 0x6b, |
@@ -1625,20 +1665,6 @@ static u8 bnx2_rv2p_proc2[] = { | |||
1625 | 0x63, 0xd6, 0x11, 0x8f, 0x47, 0xd5, 0x5f, 0x3f, 0x97, 0x8f, 0x31, 0xd8, | 1665 | 0x63, 0xd6, 0x11, 0x8f, 0x47, 0xd5, 0x5f, 0x3f, 0x97, 0x8f, 0x31, 0xd8, |
1626 | 0x17, 0x00, 0x00, 0x00 }; | 1666 | 0x17, 0x00, 0x00, 0x00 }; |
1627 | 1667 | ||
1628 | static const int bnx2_TPAT_b06FwReleaseMajor = 0x1; | ||
1629 | static const int bnx2_TPAT_b06FwReleaseMinor = 0x0; | ||
1630 | static const int bnx2_TPAT_b06FwReleaseFix = 0x0; | ||
1631 | static const u32 bnx2_TPAT_b06FwStartAddr = 0x08000860; | ||
1632 | static const u32 bnx2_TPAT_b06FwTextAddr = 0x08000800; | ||
1633 | static const int bnx2_TPAT_b06FwTextLen = 0x122c; | ||
1634 | static const u32 bnx2_TPAT_b06FwDataAddr = 0x08001a60; | ||
1635 | static const int bnx2_TPAT_b06FwDataLen = 0x0; | ||
1636 | static const u32 bnx2_TPAT_b06FwRodataAddr = 0x00000000; | ||
1637 | static const int bnx2_TPAT_b06FwRodataLen = 0x0; | ||
1638 | static const u32 bnx2_TPAT_b06FwBssAddr = 0x08001aa0; | ||
1639 | static const int bnx2_TPAT_b06FwBssLen = 0x250; | ||
1640 | static const u32 bnx2_TPAT_b06FwSbssAddr = 0x08001a60; | ||
1641 | static const int bnx2_TPAT_b06FwSbssLen = 0x34; | ||
1642 | static u8 bnx2_TPAT_b06FwText[] = { | 1668 | static u8 bnx2_TPAT_b06FwText[] = { |
1643 | 0x1f, 0x8b, 0x08, 0x08, 0x47, 0xd2, 0x41, 0x44, 0x00, 0x03, 0x74, 0x65, | 1669 | 0x1f, 0x8b, 0x08, 0x08, 0x47, 0xd2, 0x41, 0x44, 0x00, 0x03, 0x74, 0x65, |
1644 | 0x73, 0x74, 0x31, 0x2e, 0x62, 0x69, 0x6e, 0x00, 0xc5, 0x57, 0x4d, 0x68, | 1670 | 0x73, 0x74, 0x31, 0x2e, 0x62, 0x69, 0x6e, 0x00, 0xc5, 0x57, 0x4d, 0x68, |
@@ -1838,20 +1864,40 @@ static u32 bnx2_TPAT_b06FwRodata[(0x0/4) + 1] = { 0x0 }; | |||
1838 | static u32 bnx2_TPAT_b06FwBss[(0x250/4) + 1] = { 0x0 }; | 1864 | static u32 bnx2_TPAT_b06FwBss[(0x250/4) + 1] = { 0x0 }; |
1839 | static u32 bnx2_TPAT_b06FwSbss[(0x34/4) + 1] = { 0x0 }; | 1865 | static u32 bnx2_TPAT_b06FwSbss[(0x34/4) + 1] = { 0x0 }; |
1840 | 1866 | ||
1841 | static const int bnx2_TXP_b06FwReleaseMajor = 0x1; | 1867 | static struct fw_info bnx2_tpat_fw_06 = { |
1842 | static const int bnx2_TXP_b06FwReleaseMinor = 0x0; | 1868 | .ver_major = 0x1, |
1843 | static const int bnx2_TXP_b06FwReleaseFix = 0x0; | 1869 | .ver_minor = 0x0, |
1844 | static const u32 bnx2_TXP_b06FwStartAddr = 0x080034b0; | 1870 | .ver_fix = 0x0, |
1845 | static const u32 bnx2_TXP_b06FwTextAddr = 0x08000000; | 1871 | |
1846 | static const int bnx2_TXP_b06FwTextLen = 0x5748; | 1872 | .start_addr = 0x08000860, |
1847 | static const u32 bnx2_TXP_b06FwDataAddr = 0x08005760; | 1873 | |
1848 | static const int bnx2_TXP_b06FwDataLen = 0x0; | 1874 | .text_addr = 0x08000800, |
1849 | static const u32 bnx2_TXP_b06FwRodataAddr = 0x00000000; | 1875 | .text_len = 0x122c, |
1850 | static const int bnx2_TXP_b06FwRodataLen = 0x0; | 1876 | .text_index = 0x0, |
1851 | static const u32 bnx2_TXP_b06FwBssAddr = 0x080057a0; | 1877 | .gz_text = bnx2_TPAT_b06FwText, |
1852 | static const int bnx2_TXP_b06FwBssLen = 0x1c4; | 1878 | .gz_text_len = sizeof(bnx2_TPAT_b06FwText), |
1853 | static const u32 bnx2_TXP_b06FwSbssAddr = 0x08005760; | 1879 | |
1854 | static const int bnx2_TXP_b06FwSbssLen = 0x38; | 1880 | .data_addr = 0x08001a60, |
1881 | .data_len = 0x0, | ||
1882 | .data_index = 0x0, | ||
1883 | .data = bnx2_TPAT_b06FwData, | ||
1884 | |||
1885 | .sbss_addr = 0x08001a60, | ||
1886 | .sbss_len = 0x34, | ||
1887 | .sbss_index = 0x0, | ||
1888 | .sbss = bnx2_TPAT_b06FwSbss, | ||
1889 | |||
1890 | .bss_addr = 0x08001aa0, | ||
1891 | .bss_len = 0x250, | ||
1892 | .bss_index = 0x0, | ||
1893 | .bss = bnx2_TPAT_b06FwBss, | ||
1894 | |||
1895 | .rodata_addr = 0x00000000, | ||
1896 | .rodata_len = 0x0, | ||
1897 | .rodata_index = 0x0, | ||
1898 | .rodata = bnx2_TPAT_b06FwRodata, | ||
1899 | }; | ||
1900 | |||
1855 | static u8 bnx2_TXP_b06FwText[] = { | 1901 | static u8 bnx2_TXP_b06FwText[] = { |
1856 | 0x1f, 0x8b, 0x08, 0x08, 0x21, 0xd3, 0x41, 0x44, 0x00, 0x03, 0x74, 0x65, | 1902 | 0x1f, 0x8b, 0x08, 0x08, 0x21, 0xd3, 0x41, 0x44, 0x00, 0x03, 0x74, 0x65, |
1857 | 0x73, 0x74, 0x31, 0x2e, 0x62, 0x69, 0x6e, 0x00, 0xed, 0x5c, 0x6d, 0x6c, | 1903 | 0x73, 0x74, 0x31, 0x2e, 0x62, 0x69, 0x6e, 0x00, 0xed, 0x5c, 0x6d, 0x6c, |
@@ -2273,3 +2319,38 @@ static u32 bnx2_TXP_b06FwData[(0x0/4) + 1] = { 0x0 }; | |||
2273 | static u32 bnx2_TXP_b06FwRodata[(0x0/4) + 1] = { 0x0 }; | 2319 | static u32 bnx2_TXP_b06FwRodata[(0x0/4) + 1] = { 0x0 }; |
2274 | static u32 bnx2_TXP_b06FwBss[(0x1c4/4) + 1] = { 0x0 }; | 2320 | static u32 bnx2_TXP_b06FwBss[(0x1c4/4) + 1] = { 0x0 }; |
2275 | static u32 bnx2_TXP_b06FwSbss[(0x38/4) + 1] = { 0x0 }; | 2321 | static u32 bnx2_TXP_b06FwSbss[(0x38/4) + 1] = { 0x0 }; |
2322 | |||
2323 | static struct fw_info bnx2_txp_fw_06 = { | ||
2324 | .ver_major = 0x1, | ||
2325 | .ver_minor = 0x0, | ||
2326 | .ver_fix = 0x0, | ||
2327 | |||
2328 | .start_addr = 0x080034b0, | ||
2329 | |||
2330 | .text_addr = 0x08000000, | ||
2331 | .text_len = 0x5748, | ||
2332 | .text_index = 0x0, | ||
2333 | .gz_text = bnx2_TXP_b06FwText, | ||
2334 | .gz_text_len = sizeof(bnx2_TXP_b06FwText), | ||
2335 | |||
2336 | .data_addr = 0x08005760, | ||
2337 | .data_len = 0x0, | ||
2338 | .data_index = 0x0, | ||
2339 | .data = bnx2_TXP_b06FwData, | ||
2340 | |||
2341 | .sbss_addr = 0x08005760, | ||
2342 | .sbss_len = 0x38, | ||
2343 | .sbss_index = 0x0, | ||
2344 | .sbss = bnx2_TXP_b06FwSbss, | ||
2345 | |||
2346 | .bss_addr = 0x080057a0, | ||
2347 | .bss_len = 0x1c4, | ||
2348 | .bss_index = 0x0, | ||
2349 | .bss = bnx2_TXP_b06FwBss, | ||
2350 | |||
2351 | .rodata_addr = 0x00000000, | ||
2352 | .rodata_len = 0x0, | ||
2353 | .rodata_index = 0x0, | ||
2354 | .rodata = bnx2_TXP_b06FwRodata, | ||
2355 | }; | ||
2356 | |||