From a9dce49515914e534079a3b7fb5f1e7730d04122 Mon Sep 17 00:00:00 2001 From: Jaswinder Singh Date: Mon, 22 Sep 2008 19:27:10 -0700 Subject: [PATCH 1/7] cassini: use request_firmware Firmware blob looks like this... __le16 load_address unsigned char data[] [akpm@linux-foundation.org: include vmalloc.h] Signed-off-by: Jaswinder Singh Signed-off-by: Andrew Morton Signed-off-by: David S. Miller --- WHENCE | 10 ++++++++++ sun/cassini.bin | Bin 0 -> 2253 bytes 2 files changed, 10 insertions(+) create mode 100644 sun/cassini.bin diff --git a/WHENCE b/WHENCE index 66c51b2..57002cd 100644 --- a/WHENCE +++ b/WHENCE @@ -339,3 +339,13 @@ Licence: Allegedly GPLv2+, but no source visible. Marked: Found in hex form in kernel source. -------------------------------------------------------------------------- + +Driver: CASSINI - Sun Cassini + +File: sun/cassini.bin + +Licence: Unknown + +Found in hex form in kernel source. + +-------------------------------------------------------------------------- diff --git a/sun/cassini.bin b/sun/cassini.bin new file mode 100644 index 0000000000000000000000000000000000000000..c8cdfad060ef69098aa96c31dd7bc1ad772f7690 GIT binary patch literal 2253 zcmZuxU2GIp6rP#=n{Bu3b_85(1H(e+3PF@&N*7UzX=wGqf;2)1i9Q$}43TXqPlw= z8ni8EgRE_!KKWA5ja#2HwmJox#L>QdMDiCm<-3sIdcerJPj9?#-5W1%)_CNRb2tAR z=ztqYZ=QX_x-Ho1!+J0VJxfFvH#b4dyeNfiwd}f=wY63JcFpbs*Di;i+BHzSHa}zn zszx+%X4bo+zbg_+4%U-O7U1=t1=l*c(b0L#N z(l2R?5mhg(Q@>zei3N$XT}nGzV=Z*cY8em!!dl$ojzk==Sfm4>y$rJfUOWm1{m!qa z7n}={&YHqO%UNwic4$w`$PQ~^eNmZHtN19z{aCH7{2cRRMB>IowhJ*?nNhl9hK|iv# zR$bu+%6Hv_N!3mxDV%OWd@eQrarCii*WvqMq zi-+?p;`-uw4zckJ9?`v~;MI9k2bn8|BQnZ4jypupo332c*w!09el>Y zXB|B3;ByX6IyeP!3Xq6bzYQrsR*v9vgrLs5x#*4?wVo4?GD=oz)Oj19vqn?0KCW~D z>$UNj8Y=?J+4xkAjR4EqI8kHyW!ns~^)A~|mXjI_t}SI*iLcpa44hHI@M4_rF@zuh z>p}js5R~&(L-1<>B>;VZA@j@nbpxwXLmI1ngw20P?)NHtQDh8S?kC2JCN+edqBhoM zL)Pd?IDt-3dM;P)djSG35iZQ}FEr)J&`xco6lZ@rZ#>qrLPTM!V>lLNCI!q_L6& zl@<^sL1isHhfy;LYVf7jsHrn=j4eM1L_i#+Pz(eqRR5dX_9L3+Nd_NXr0I zpppiw0Mpg56<&-;|!j zi!m)+ijkTVh7f@1t_Y!-@K0eF_6i;}@POt)s{!0rc=|U#!U?ps7%ODu!uy0?4|JqP z3qXrC+7EPBDK>-$;BOc_;{-hAQ}C=tju=8hxs5uMTT%#Oi`^|Cy(VrtqRdM0(rR7Z mR5B$tA5oAL21&Nt6`gD;#o{QGR{hp*4-7RR7rxD?{`kM9VW%Si literal 0 HcmV?d00001 From 94cebd28f4fce7ddfc954eb542486308a6922971 Mon Sep 17 00:00:00 2001 From: Divy Le Ray Date: Wed, 26 Nov 2008 15:37:50 -0800 Subject: [PATCH 2/7] cxgb3: integrate FW and protocol engines in the kernel Include firmware and protocol images in the kernel image if requested Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller --- WHENCE | 11 +++++++++++ cxgb3/t3b_psram-1.1.0.bin | Bin 0 -> 2564 bytes cxgb3/t3c_psram-1.1.0.bin | Bin 0 -> 2564 bytes cxgb3/t3fw-7.0.0.bin | Bin 0 -> 30076 bytes 4 files changed, 11 insertions(+) create mode 100644 cxgb3/t3b_psram-1.1.0.bin create mode 100644 cxgb3/t3c_psram-1.1.0.bin create mode 100644 cxgb3/t3fw-7.0.0.bin diff --git a/WHENCE b/WHENCE index 57002cd..8f06639 100644 --- a/WHENCE +++ b/WHENCE @@ -349,3 +349,14 @@ Licence: Unknown Found in hex form in kernel source. -------------------------------------------------------------------------- + +Driver: cxgb3 - Chelsio Terminator 3 1G/10G Ethernet adapter + +File: cxgb3/t3b_psram-1.1.0.bin.ihex +File: cxgb3/t3c_psram-1.1.0.bin.ihex +file: cxgb3/t3fw-7.0.0.bin.ihex + +License: GPLv2 or OpenIB.org BSD license, no source visible + +-------------------------------------------------------------------------- + diff --git a/cxgb3/t3b_psram-1.1.0.bin b/cxgb3/t3b_psram-1.1.0.bin new file mode 100644 index 0000000000000000000000000000000000000000..14d4369da21c6cca2f287f3c75453135f0bdc655 GIT binary patch literal 2564 zcmd^>F;Ck-6vv;>!B`QhTwrLSl`KV#T*QDyD%341TZbqgA!Eg4^$XMq>QDrdrB)2= zF!K=(XrhQI>QHs+&`PLcx}+U2MGEgZN%b7vfSLpbZa63ZJm34>|K79H?RKxAH_YT> z7|hcmAX_UEKd@@n;{CdCQxOPn81k6zY;Bu@}}z<6S4jB zeY7Ru`FdWCU}&&7f&L+3;@?fz8+Y8LQvibC%&G!lxuz|!3|07SFJjC*ZWNYw(-&42 z#4EI<8uomNo4(n|?k;gnWqjhx@Vv@B#2Wy}KjY|e%0JQ#0Ehd`@4YFr!gVlj5#G$W zv>tg7OaJ5y@*72#7t@Qaqs|SelX5`9kmu z7Z2b|icb|mOk)es^W|4mczu_A*uTOCndTdu?%VC=w~rr^-dD9KX(C>yy8Vt@Q+*bm nw}T`uziZn-6vv-Wju0l4Yn!1>TTm!9YUmIVm(b1b*unTu$XGIo{sotW4lOANS~7I( z(lvj=rD=@uWHJQOv4v1NogEKSGPv)ZqH;2~IZB2;(1E`C@jmbS?#Z4^CSw4o;!)8@ zr2>;_4KMtM+S#Dt{1o-&)}=S(K>`t;Wg)ug+70@0q4|QRONc|g(|j(lwaTGncRy7{ zcP`S}7BF|s@v{DA_vJkYUx4_4XC>5;eh)EO@N5&;oKLkQ_6U# zl;E6-AXqZ^@@L6Eq}KlBn)&Q?Xy?2^bBP0K__q$=`i{qN8!GYSb6iH>dLd&qU@tN6 zroaVr411yTt+u;tYN{F%U)AJG{5}0G0rGGEe!)N8a{xZ;UP}-OqY1C)eay|tgH(nG zr%>M@J`9~>#K*+KS||`Be%Xyg$73FL8AdO&cEzcDQ&eXJ)qT7u6=Hj4kI& zC9oghE>a!a@pCz=SGK%1E$xQ~-P-Pk=~dG1EWCJlD2XlSQv{4rrY|D+NCEk1?EI`WZ>%+waSmUz>k6Z74er zzQ9p|FKGgEaD3?d@;h$4x=FrsK4u=s0w4OPgT2}5oqT+!XJ2i_08Vj^Z1rBXma~}i oF+vg_>UYdJQsgP;VBUAtEVlQhmj5p!ufbM8&i!MF{(Noy1&-5STL1t6 literal 0 HcmV?d00001 diff --git a/cxgb3/t3fw-7.0.0.bin b/cxgb3/t3fw-7.0.0.bin new file mode 100644 index 0000000000000000000000000000000000000000..cb48e4a3cc8ca0f4457dc7420309c71264865bf2 GIT binary patch literal 30076 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

^ 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 literal 0 HcmV?d00001 From 31797a1c45878e91aad3515d611e31a23e0ad94a Mon Sep 17 00:00:00 2001 From: Jaswinder Singh Date: Sun, 4 Jan 2009 16:09:40 -0800 Subject: [PATCH 3/7] firmware: convert acenic driver to request_firmware() We store the firmware in its native big-endian form now, so the loop in ace_copy() is modified to use be32_to_cpup() when writing it out. We can forget the BSS,SBSS sections of the firmware, since we were clearing all the device's RAM anyway. And the text,rodata,data sections can all be loaded as a single chunk since they're contiguous (give or take a few dozen bytes in between). Signed-off-by: Jaswinder Singh Signed-off-by: David Woodhouse Acked-by: Jes Sorensen Signed-off-by: David S. Miller --- WHENCE | 11 +++++++++++ acenic/tg1.bin | Bin 0 -> 73116 bytes acenic/tg2.bin | Bin 0 -> 77452 bytes 3 files changed, 11 insertions(+) create mode 100644 acenic/tg1.bin create mode 100644 acenic/tg2.bin diff --git a/WHENCE b/WHENCE index 8f06639..8823a43 100644 --- a/WHENCE +++ b/WHENCE @@ -360,3 +360,14 @@ License: GPLv2 or OpenIB.org BSD license, no source visible -------------------------------------------------------------------------- +Driver: acenic -- Alteon AceNIC Gigabit Ethernet card + +File: acenic/tg1.bin +File: acenic/tg2.bin + +Licence: Unknown + +Found in hex form in kernel source, but source allegedly available at +http://alteon.shareable.org/ + +-------------------------------------------------------------------------- diff --git a/acenic/tg1.bin b/acenic/tg1.bin new file mode 100644 index 0000000000000000000000000000000000000000..6a714fa95c80c1767bcd15345b7966941e0ffff9 GIT binary patch literal 73116 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 LvhN|>ut)L-u{05Q literal 0 HcmV?d00001 diff --git a/acenic/tg2.bin b/acenic/tg2.bin new file mode 100644 index 0000000000000000000000000000000000000000..689981ecc0d81e81216148852c6522ef7a80e09a GIT binary patch literal 77452 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 Date: Sun, 4 Jan 2009 16:11:25 -0800 Subject: [PATCH 4/7] firmware: convert tg3 driver to request_firmware() Firmware blob looks like this... u8 firmware_major u8 firmware_minor u8 firmware_fix u8 pad __be32 start_address __be32 length (total, including BSS sections to be zeroed) data... (in __be32 words, which is native for the firmware) Signed-off-by: Jaswinder Singh Rajput Signed-off-by: David S. Miller --- WHENCE | 19 +++++++++++++++++++ tigon/tg3.bin | Bin 0 -> 2668 bytes tigon/tg3_tso.bin | Bin 0 -> 7004 bytes tigon/tg3_tso5.bin | Bin 0 -> 3884 bytes 4 files changed, 19 insertions(+) create mode 100644 tigon/tg3.bin create mode 100644 tigon/tg3_tso.bin create mode 100644 tigon/tg3_tso5.bin diff --git a/WHENCE b/WHENCE index 8823a43..0460eb3 100644 --- a/WHENCE +++ b/WHENCE @@ -371,3 +371,22 @@ Found in hex form in kernel source, but source allegedly available at http://alteon.shareable.org/ -------------------------------------------------------------------------- + +Driver: tigon3 -- Broadcom Tigon3 based gigabit Ethernet cards + +File: tigon/tg3.bin +File: tigon/tg3_tso.bin +File: tigon/tg3_tso5.bin + +Licence: + * Firmware is: + * Derived from proprietary unpublished source code, + * Copyright (C) 2000-2003 Broadcom Corporation. + * + * Permission is hereby granted for the distribution of this firmware + * data in hexadecimal or equivalent format, provided this copyright + * notice is accompanying it. + +Found in hex form in kernel source. + +-------------------------------------------------------------------------- diff --git a/tigon/tg3.bin b/tigon/tg3.bin new file mode 100644 index 0000000000000000000000000000000000000000..0b8ae5ae0a4b3d4749c7a18a2c82b80e8eda9851 GIT binary patch literal 2668 zcmd^B!D}2<82`=eZZe&2!z(VbV5~dI#BAA6wz85S106R>Em|Sa^_Ie>iL%8Imblh{ zmt{Axm&Hk;5Dy+gNFO5JS?SGGL zXeRf22hM00!9!$&W-U#etM)TiYG(`Bxea}%g{hr3E;va8_U5T>u!{`z3~(bmfz%X& zdr;m7r1)cgf@7=pu%pi~e%8gTvT#LN69%;1IpDkwBjfgd znK%#a$uZt$E!`jE&%yBLk@hb``L7`3zZ&h8{~G$S4JrSZ9(tS#CbSqhfp%k{y}_K;ven+N)QYry7MizRQ!nU9GEY->@;KKvvSHrlENW0oc9}k! z3g3yYYB%K_<8Upwvyc~k^2os>2hj-8DJRAJzE2)Qv|pP|XPEXUb0gH&NH@O;x$i=W zMv8_K_kAE|{Za48v0YPWsU&nYNsYB-j)3oo^(`@M)x-s^Kj*a;9|e2lLL1cpbA$cS zlHR07E#y4c`)Q{pS*xL=ZI-+#t- ztVea04;=}s%lBW&JTgxFIqtdsIKh{(g6oe*aiMJ-V}-TK+=#j5Wn3SJF%fkP=NIj! zUe@h0YX&j7jv?WKL`E0>ofeYe9AjpEXAkG-hpBP`#5is1Zm9XJRo`)+mF%_m33;Vp z$le1pmhd5(?9)-aKDW<3X!BiED_q9LW}I_zobv<(14UHmW(a(Z0A?QH6>No%L#* z?eVEH4Dp@e-iP_p%v({tHaYrajwbZ*Yz%UhxxzKZ{{!5wtMX3}W2ppjkMRc9+pp7( zjt7jV)aBBXxPmPg@ed_`ZN>Wk5E)17Cj1=heygU6<(!-+*3j@=Toy~7F9q8b$-BXv z%M$0v+q|CUoV|Eo7E0yb5p%~@vpDCZ&@0{V9XUhYgfr{{TUonvBhn3?$%P{KEIjkK z)kNpZ=*;`HV4wdZY34_m2R!SL_MiGPcNC8WY$-c4+dGsws0U#zgu7fXP8Tn(ufFqg z)B~=)H-GERwMJ3;>#Oy!bCK;g*4|#5zqQur`}OTxOO2(~`StaF|MjJtYqRxt%l-a8 GwZ8*Q;IaDv literal 0 HcmV?d00001 diff --git a/tigon/tg3_tso.bin b/tigon/tg3_tso.bin new file mode 100644 index 0000000000000000000000000000000000000000..3c481c923000600b42285f57e6d05dbbebbff6f0 GIT binary patch literal 7004 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 literal 0 HcmV?d00001 diff --git a/tigon/tg3_tso5.bin b/tigon/tg3_tso5.bin new file mode 100644 index 0000000000000000000000000000000000000000..fb77f0ffc2e9f434979fc33c0dd2fba1f25eb5b1 GIT binary patch literal 3884 zcmb_fU2I!t8Gg>OlQ^53^QCo>MKk6TAFpmZO{c|zUK}CEcDHI}l9{S@s-iBnLkS{c zRW_n%iNukUN(g0gid=ESMU*DHU`8Hj5<;RPBxB+Vb^(YRq$nL~C3-PX1!IgJp7)&3 zAq^nPk0ty2f8Y0c-kY5 z8HCZiGNDeGai}8tWPfv9CGZX9q>2$P%8qO^XNZeaHuR?>E>PL9tg ziGdGS%iPE_GQYTMzAf`RbHu!&?Djm+DnYF_5WjvKyhm*<-F~A~&GL-FGlz~0!>nrl2Q%n9z7hlpjC@o0=lWyZ_c0mE zyf;AIKeK%LzsK+=Y~yW-rEXkZu`!?y6U!r-&sjNxZSm8{YbevU2&0e6?sM$>JR4Vs zx$kOtUgzb~4S@C0bhd*(tZkzpu}FDY?lCn^U(3AU{+7DN(>6{qS8AE;-|Z4z57;&5 z)L^7m&?9<{y0Vu_Qr||d!mNR7Cf8!*@4m!X>$6cl(r1n1%oFj)(tZ&eto_#1cebHg4az6p)*54oF|k;;CK+=Eevr2rr}*Ts_?YtN z)5pRX%URQEjI~bu5yj%PXR`R2QU10aYqC>Q30;?!_Qg5Y=R4wa*5ed&>Iu0cnziIT zrxXN?iLWw(uvjjJHL#tv#@SCel_C~Li*a&MWZgA+{%iauwB8BM$93*@Yv6hE_)El6 zrtFcL-t9B?&$i}~6dS_x-MT+)oeRfVt0rp)O8A7t-hn74V;p}$#tD>uF0J-=&H4C_ zoQqoC^KPXtfO%*Gv2@n0<1>XiJ_U1siTFI`i5>29tQWxg&-`}v_=46y>hBMz!n(jp-t8ho zvhM4QLAirA!KPW;oUC+||ny@%yi z{4ajty>e088}YCa@vsYL|6ZJev5Sc^ejMQnAMZk`W8R^4NF9?J))|{fHfs}c=0~H$wplOo-SBAmrsVybVSh&WWZz{y zFgsl5yZRt}Kg7H|Y!z4^0w=~uEAvj^M|ffUW)dhT+EuJ~$L#;GS*sM9^~%ZSctvTs z`LNAeC&SjUoV`3qEtc9w+doMA=ocQE_0aC5DhKyPC*M&9R>Sw&pJlA;cY?aAT7Mp~ zA(Ot797%XFKg_4a1?wbjs>0;jyu3eyk7TV=uT(f+;eNjLgTIPQj!%nR$r-m1@D00# zCrcTF@?vs_5braN$vkXia-H!}${lsdjmh&L@t=?_XSJNF4S<2?^)h~p6~(`!#HVE z?#`JAd-0k>W6eQUEZz^Nm7U`oez^i1VJ#wO_i{&gM|Jh+GtKddWcN(Ff<*filI^FV z+Rq@>em270K7%1j4nNOb`r?<%SH4n`f$on)E79-EuYBpH%a Date: Sun, 4 Jan 2009 16:12:11 -0800 Subject: [PATCH 5/7] starfire: use request_firmware() Firmware blob is big endian Signed-off-by: Jaswinder Singh Rajput Signed-off-by: David S. Miller --- WHENCE | 19 +++++++++++++++++++ adaptec/starfire_rx.bin | Bin 0 -> 832 bytes adaptec/starfire_tx.bin | Bin 0 -> 832 bytes 3 files changed, 19 insertions(+) create mode 100644 adaptec/starfire_rx.bin create mode 100644 adaptec/starfire_tx.bin diff --git a/WHENCE b/WHENCE index 0460eb3..1bb2cf4 100644 --- a/WHENCE +++ b/WHENCE @@ -390,3 +390,22 @@ Licence: Found in hex form in kernel source. -------------------------------------------------------------------------- + +Driver: ADAPTEC_STARFIRE - Adaptec Starfire/DuraLAN support + +File: adaptec/starfire_rx.bin +File: adaptec/starfire_tx.bin + +Licence: Allegedly GPLv2, but no source visible. + +Found in hex form in kernel source, with the following notice: + + 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. + +-------------------------------------------------------------------------- diff --git a/adaptec/starfire_rx.bin b/adaptec/starfire_rx.bin new file mode 100644 index 0000000000000000000000000000000000000000..5abd88f46ed16cddfbed5c22c019475c7eab4807 GIT binary patch literal 832 zcmZ{i&uUXa6vlt|CJh(bN-Vb!N~u$!D=DZ*7hRMwCL0%$Rl!w*i0k4L+!~47knBaI z6#8e;M@Yd%mwf=Aq4)@XGiPoK6%Wk$IA^{y=ig*Bej{np+!Tx}ScT4`qllkAuHnyN zu~j-A2VUv?Q#d;_Y$O{JudI2a7*F1W@NSTHP$|#1+P=q1d86zljQlV09S`5DLGU*) z-Z-J%S7fkmaf2U_ExmI$s&`nF?q&si0e>cND9ZIEJQsQ|rK(cipH~C<;27Og>Np*? z@XOL$G(XFJ0W*IX{1O-Sv^P|~ug}~(&If+Uzub-`18#+Op?0{y+cNnYIDmatsLkYw&(w3$gjmyqcrKEHp_+bKVth(|U6%l!WcND9ZIEJQsQ|rK(cipH~C<;27Og>Np*? z@XOL$G(XFJ0W*IX{1O-Sv^P|~ug}~(&If+Uzub-`18#+Op?0{y+cNnYIDmatsLkYw&(w3$gjmyqcrKEHp_+bKVth(|U6%l!W Date: Tue, 6 Jan 2009 14:42:52 -0800 Subject: [PATCH 6/7] make firmware/dsp56k/bootstrap.asm buildable on a56 Make firmware/dsp56k/bootstrap.asm buildable on a56, the free Motorola DSP56001 assembler (http://www.zdomain.com/a56.html). Summary of changes: - Remove '<' and '>' candy (they specify explicit addressing modes, which a56 don't grok, but uses implicitly anyway). - Replace 'move' with 'movem' when accessing program memory. - Rename a few labels to avoid duplicates (which a56 can't handle). Signed-off-by: Robert Millan Cc: Jaswinder Singh Cc: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- dsp56k/bootstrap.asm | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/dsp56k/bootstrap.asm b/dsp56k/bootstrap.asm index 10d8919..a411047 100644 --- a/dsp56k/bootstrap.asm +++ b/dsp56k/bootstrap.asm @@ -51,19 +51,19 @@ start jmp <$40 ; Copy DSP program control move #real,r0 move #upload,r1 - do #upload_end-upload,<_copy - move P:(r0)+,x0 - move x0,P:(r1)+ -_copy movep #>4,X:<$c00,X:<1,X:<0,X:< Date: Wed, 7 Jan 2009 12:59:17 -0800 Subject: [PATCH 7/7] firmware: convert e100 driver to request_firmware() Thanks to David Woodhouse for help. Signed-off-by: Jaswinder Singh Rajput Signed-off-by: David S. Miller --- WHENCE | 12 ++++++++++++ e100/d101m_ucode.bin | Bin 0 -> 539 bytes e100/d101s_ucode.bin | Bin 0 -> 539 bytes e100/d102e_ucode.bin | Bin 0 -> 539 bytes 4 files changed, 12 insertions(+) create mode 100644 e100/d101m_ucode.bin create mode 100644 e100/d101s_ucode.bin create mode 100644 e100/d102e_ucode.bin diff --git a/WHENCE b/WHENCE index 1bb2cf4..8b56513 100644 --- a/WHENCE +++ b/WHENCE @@ -360,6 +360,18 @@ License: GPLv2 or OpenIB.org BSD license, no source visible -------------------------------------------------------------------------- +Driver: e100 -- Intel PRO/100 Ethernet NIC + +File: e100/d101m_ucode.bin +File: e100/d101s_ucode.bin +File: e100/d102e_ucode.bin + +Licence: Unknown + +Found in hex form in kernel source. + +-------------------------------------------------------------------------- + Driver: acenic -- Alteon AceNIC Gigabit Ethernet card File: acenic/tg1.bin diff --git a/e100/d101m_ucode.bin b/e100/d101m_ucode.bin new file mode 100644 index 0000000000000000000000000000000000000000..b700b759087dec37e89ad67a0a493063774c807d GIT binary patch literal 539 zcmah`u}T9$6r2lto0BZZk~JdOq<1 z28N#Ja^+=x=Gsk0&^wy*LvmY5PgYzmlcCIWECPd$$7-m*hsJn1|gNHOe-m@^AF-#3o&4&2qL0~h1mHU zwDU*U_zSG$e7l?YQMt{V-I;mw-t10sA0w5!Q`LFsqr0GhGAc%(iJf8#mk{*ZHN2*4 z=)>PndI?y7YPW(T)q+1uxCt1iO-Lvh1msYQ7<3JanM9UP zW5RkLPwA&%^*nICLIDs(58IHo!ix4f&YAxl)^K6*vF7wYvp&&=9c7q`;3I0dUdz$o zd&qZ`Vl-Y1485Z?^YnMNyM-FEDx4p%S0Lnja+-bZ{c;^vLw4vjWVc>Jwwqv!v%pzz zQS7ylXM7c79Mv%%5{JZ`ctGsc-9BeN-%r=M76lv^oM)@s`pJUWY0m8K|2doNS(q0X S{#%-tF<1K8!_4zuC;bB9hDv(? literal 0 HcmV?d00001 diff --git a/e100/d102e_ucode.bin b/e100/d102e_ucode.bin new file mode 100644 index 0000000000000000000000000000000000000000..3cfc65b6aef84e70511f00281436c53eb54bee9b GIT binary patch literal 539 zcmeBYs%7}e;>6d=^H$`g$S)ByzVCeh<^Rj?6nVga4ECb&ucGmh)q>au3CN?XN9UhF z*UzTF@D53=;lBZc8{ZTLh9+hP1_c2IXTAq0MzAp$F#JYRk0MC~$1!gLgAHE;gC*45 Xzd-(9z6lIJ(Ci_?s3ECD%S;ad7_cMy literal 0 HcmV?d00001