* Re: CPM MCC sample driver?
From: Alex Zeffertt @ 2005-07-28 9:41 UTC (permalink / raw)
To: bbosch; +Cc: linuxppc-embedded
In-Reply-To: <17127.49093.492554.638213@waldo.lisle.iphase.com>
On Wed, 27 Jul 2005 12:09:25 -0500
bbosch@iphase.com wrote:
> A couple of years ago, Adam Kaczynski announced a sample MCC HDLC and
> Transparent mode driver. Both the URL Adam posted and Adam's email
> address are no longer valid. Is this code or any other Linux MCC
> driver available anywhere? I need to develop an MCC driver for a
> project I am working on and it would be very helpful to have an
> example to start with.
>
I'm not sure what you mean by MCC. I've got an PQI SCC tranparent mode driver which implements a
character device for reading from/writing to a PCM bus. I wrote it a couple of years ago and tested
it using an external loopback - but I've never used it in anger. Would this be useful to you?
Alex
^ permalink raw reply
* Re: [RFC PATCH 1/4] PHY Abstraction Layer III (now with more splitiness)
From: Jörn Engel @ 2005-07-28 9:18 UTC (permalink / raw)
To: Randy Dunlap; +Cc: Netdev, linuxppc-embedded, Francois Romieu
In-Reply-To: <1122500059.28777@shark.he.net>
On Wed, 27 July 2005 14:34:19 -0700, Randy Dunlap wrote:
> >
> > Ok, here I won't agree to disagree with you. !foo as a check for
> > NULL is a reasonable idea, but not my style. If that's the preferred
> > style for the kernel, I will do that.
> >
> > But (var == constant) is a style that asks for errors. By putting
> > the constant first in these checks, you never run the risk of leaving
> > a bug like this:
> >
> > if (dev = NULL)
> > ...
> >
> > This kind of error is quite frustrating to detect, and the eye will
> > often miss it when scanning for errors. If you follow constant ==
> > var, though, then the bug looks like this:
> >
> > if (NULL = dev)
> >
> > which is instantly caught by the compiler.
> >
> > Just my 32 cents
>
> Yes, we know about that argument. :)
The counter-argument basically goes like this:
1. All relevant compilers (GCC) warn on "if (dev = NULL)", so you will
only miss the bug if you ignore compiler warnings. Ignoring compiler
warnings is not generally endorsed by the kernel crowd.
2. Very hard to read, "if (NULL = dev)" is. Reversing the order is a
fun thing to do for small green characters in fantasy and scifi
stories and fairly popular in peotry as well. But understanding the
meaning of reverse order sentences takes more time. In the kernel,
peer review is an important aspect and making the code hard to read
hurts peer review.
And maybe you can add another one:
3. Im my personal experience, reverse order comparisons were a good
indicator of buggy code.
Jörn
--
Schrödinger's cat is <BLINK>not</BLINK> dead.
-- Illiad
^ permalink raw reply
* Re : custom ads8272 board PCI interrupt no response
From: Sam Song @ 2005-07-28 8:57 UTC (permalink / raw)
To: linuxppc-embedded
In-Reply-To: <20050727135233.7367.qmail@web15803.mail.cnb.yahoo.com>
Sam Song <samlinuxppc@yahoo.com.cn> wrote:
> Hi all,
>
> A PCI interrupt probelm confused me when porting
> 2.6.13-rc3 on a custom 8248 board. There was a
> Gb ethernet RTL8110S on board with IDSEL AD25 and
> IRQ3. So I made some changes as follows:
>
> --- linux-2.6.13-rc3/arch/ppc/platforms/pq2ads.h
> +++ linux-2.6.13-rc3-sam/arch/ppc/platforms/pq2ads.h
> @@ -74,11 +78,11 @@
> -#define PCI_INT_TO_SIU SIU_INT_IRQ2
> +#define PCI_INT_TO_SIU SIU_INT_IRQ3
Ummm, not the case. ADS8272 uses a CPLD PCI interrupt
controller which takes up IRQ2. No need to me:-)
> --- linux-2.6.13-rc3/arch/ppc/syslib/m82xx_pci.c
> +++ linux-2.6.13-rc3-sam/arch/ppc/syslib/m82xx_pci.c
> @@ -60,12 +60,20 @@
> * A B C D
> */
> {
> +#if 0
> { PIRQA, PIRQB, PIRQC, PIRQD },/* IDSEL 22 - PCI
>
> slot 0 */
> { PIRQD, PIRQA, PIRQB, PIRQC }, /* IDSEL 23 -
> PCI
> slot 1 */
> { PIRQC, PIRQD, PIRQA, PIRQB }, /* IDSEL 24 -
> PCI
> slot 2 */
> +#else
> + {22, 22, 22, 22},/* IDSEL 22/IRQ4-PCI slot 0-USB
> */
> + {23, 23, 23, 23},/* IDSEL 23/IRQ5-PCI slot 1-IDE
> */
> + {24, 24, 0, 0},/* IDSEL 24 - PCI slot # - NULL
> */
> + {25, 25, 25, 25},/* IDSEL 25/IRQ3-PCI slot 2- Gb
> */
Set IRQ3 in the last line as 21 to assign the IRQ3
to Gb ethernet.
> Gb interrupt remained unchangable in the whole test
> process. I could ping target itself but not for
> outside machine. So I suspect this result was due to
> PCI interrupt setting but don't know where the
> probelm is. Any idea?
Well, I finally masked pq2ads interrupt irq init and
adjusted SIUMCR IRQ3 setting correctly. Then
everything went as smoothly as clockwork.
Sorry to bother here:-)
Sam
__________________________________________________
赶快注册雅虎超大容量免费邮箱?
http://cn.mail.yahoo.com
^ permalink raw reply
* Re: How to load a linux kernel under vxworks bootloader (PPC860 board)
From: Esben Nielsen @ 2005-07-28 7:47 UTC (permalink / raw)
To: Frank; +Cc: FCG WANG Baohua, linuxppc-embedded
In-Reply-To: <20050728042840.36296.qmail@web32203.mail.mud.yahoo.com>
On Wed, 27 Jul 2005, Frank wrote:
>
>
> --- FCG WANG Baohua <Baohua.WANG@alcatel-sbell.com.cn> wrote:
>
> > Dear All:
> > I want to boot a linux 2.4.25 kernel under vxworks
> > bootloader. When I using flat mode(0x200000 --> 0x10000)
> > kernel uncompressed ELF format ( vmlinux ),
> > and download it using TFTP of vxworks, it print the "starting
> > at 0x1000 ...." and freeze. No input or output on serial
> > port.
> > The version of vxworks is 5.3.1.
> > can you give me some detail advice or give me a tool to slove
> > it? thanks !
I have done it on a MPC5200 with a vxWorks 5.5 bootsector with ethernet
support: I just boot over FTP. Give it the Linux kernel in elf-format,
the bootsector doesn't care, _what_ the code actually is, it just loads
and run it.
For vxWorks <= 5.4 I believe coff is used instead of elf - at least on
some architectures. Then you have a problem, because the kernel isn't
compiled to coff :-(
Esben
>
> Do what I did:
> Replace the vxWorks rom with you u-boot and you can boot Linux
> or vxWorks with the same bootloader.
>
> __________________________________________________
> Do You Yahoo!?
> Tired of spam? Yahoo! Mail has the best spam protection around
> http://mail.yahoo.com
> _______________________________________________
> Linuxppc-embedded mailing list
> Linuxppc-embedded@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-embedded
>
^ permalink raw reply
* Re: platform/board removal update
From: Pantelis Antoniou @ 2005-07-28 6:29 UTC (permalink / raw)
To: 'Aristeu Sergio Rozanski Filho'
Cc: linuxppc-dev list, Embedded PPC Linux list
In-Reply-To: <20050727214600.GB30557@cathedrallabs.org>
'Aristeu Sergio Rozanski Filho' wrote:
>>8xx_io/fec.c is still using v2.4's workqueue infrastructure but other than
>>that its working fine.
>>
>>The fix will be pushed upstream ASAP.
>>
>>BTW, we should schedule 8xx_io/fec.c for removal, but before that we ought to
>>test all supported PHY's on the new driver.
>>
>>Aris was talking to me about this on OLS. Aris, what are the PHY's not supported
>>by Panto's driver again? We should build a list of those and ask around for
>>testers.
>
> I think that with Andy Fleming's PHY abstraction layer, the best thing to be done
> is change fec_8xx to use this abstraction layer and then look for
> testers. what you think?
>
There's a fs_enet driver in the works which will use Andy's work.
Please refrain from doing anything :)
Regards
Pantelis
^ permalink raw reply
* 答复: ?-?¤: How to load a linux kernel under vxworks bootloader (PPC860 board)
From: FCG WANG Baohua @ 2005-07-28 5:12 UTC (permalink / raw)
To: Frank; +Cc: linuxppc-embedded
RGVhciBGcmFuazoNCiAgSG93IGNhbiBJIHJldmlzZSB0aGUgYWRkcmVzcyBvZiBsaW5rZWQgdG8g
Ym9vdCBpbiBVLUJvb3QgTWFrZWZpbGUgb3IgY29uZmlnIGZpbGUgPyBUaGFua3MgIQ0KICBJIHVz
ZSB0aGUgbWtpbWFnZSB1dGlsaXR5IG9mIFBQQ0Jvb3QgdG8gcmVsb2NhdGUgdGhlIGVudHJ5IHBv
aW50IHRvIDB4MTAwMCwgYnV0IEkgc3RpbGwgZ2V0IHRoZSANCiAic3RhcnRpbmcgYXQgMHgyODAw
MDAuLi4uLiIuIEhvdyB0byBtYWtlIGl0IGVmZmVjdD8gVGhhbmtzICENCg0KDQotLS0tLeWOn+Wn
i+mCruS7ti0tLS0tDQrlj5Hku7bkuro6IEZyYW5rIFttYWlsdG86ZnJhbm5rX20xQHlhaG9vLmNv
bV0NCuWPkemAgeaXtumXtDogMjAwNeW5tDfmnIgyOOaXpSAxMjo1Nw0K5pS25Lu25Lq6OiBGQ0cg
V0FORyBCYW9odWENCuS4u+mimDogUmU6ID8tP8KkOiBIb3cgdG8gbG9hZCBhIGxpbnV4IGtlcm5l
bCB1bmRlciB2eHdvcmtzIGJvb3Rsb2FkZXIgKFBQQzg2MCBib2FyZCkNCg0KDQpTb3JyeSwNCkJ1
dCB5b3Ugd2lsbCBoYXZlIHRvIHJlY29tcGlsZSB1LWJvb3QgYXQgdGhhdCBhZGRyZXNzLiBJdCdz
DQpvcmlnaW5hbGx5IGNvbXBpbGVkIGFuZCBsaW5rZWQgdG8gYm9vdCBhdCAweGZmZjAwMTAwLiBJ
IGRvbid0DQprbm93IHdoYXQgeW91IGhhdmUgdG8gZG8gd2l0aCB2eFdvcmtzIHJvbS4uLg0KDQot
LS0gRkNHIFdBTkcgQmFvaHVhIDxCYW9odWEuV0FOR0BhbGNhdGVsLXNiZWxsLmNvbS5jbj4gd3Jv
dGU6DQoNCj4gRGVhciBGcmFuazoNCj4gIEkgY2Fubm90IHJlcGxhY2UgdGhlIHZ4V29ya3MgYm9v
dHJvbSBiZWNhdXNlIEkgaGF2ZSBubyBzb3VyY2UNCj4gYW5kIGJpbiBmaWxlcyBvZiB2eHdvcmtz
IGJvb3Rsb2FkZXIsIEkgaGF2ZSBldmVuIG5vIHRoZSANCj4gIGhhcmR3YXJlIGRpYWdyYW0gcmVz
b3VyY2Ugb2YgbXkgUFBDIDg2MCBib2FyZC4gIElmIEkgd3JpdGUNCj4gdGhlIFUtQm9vdCBpbnRv
IHRoZSByb20sIEkgbW9zdCBwb3NzaWJsZSBjYW5ub3QgYm9vdHVwIHRoZQ0KPiBib2FyZC4NCj4g
IEhvdyB0byBkb3dubG9hZCB0aGUgVS1Cb290IGludG8gUkFNIGRpcmVjdGx5IHVzaW5nIHRoZQ0K
PiB2eFdvcmtzIGJvb3Rsb2FkZXIsIEkgdHJpZWQgdG8gbG9hZCB0aGUgVS1Cb290IEVMRiBpbWFn
ZSBidXQNCj4gZ2V0IHRoZSBzYW1lIA0KPiAgcmVzdWx0ICJzdGFydGluZyBhdCAweDI4MDAwMCAu
Li4iIHRoZW4gbm8gcmVzcG9uc2UgZnJvbSB0aGUNCj4gc2VyaWFsIGNvbnNvbGUuDQo+ICBUaGUg
b25seSB0aGluZyBJIGNhbiBkbyBpcyB1c2UgdnhXb3JrcyBURlRQIHRvIGRvd25sb2FkIHRoZQ0K
PiBFTEYgaW1hZ2UgZm9yIGxpbnV4IGtlcm5lbCBvciBVLUJvb3QgaW50byBSQU0uIA0KPiAgIENh
biB5b3UgdGVsbCBtZSBob3cgdG8gc2xvdmUgdGhlICBVLUJvb3QgInN0YXJ0aW5nIGF0DQo+IDB4
MjgwMDAwIC4uLiIgIHByb2JsZW0gPyB0aGFua3MhDQo+ICAgDQo+IA0KPiAtLS0tLcOlxb3FuMOl
wqfigLnDqeKAmsKuw6TCu8K2LS0tLS0NCj4gw6XCj+KAmMOkwrvCtsOkwrrCujogRnJhbmsgW21h
aWx0bzpmcmFubmtfbTFAeWFob28uY29tXQ0KPiDDpcKP4oCYw6nigqzCgcOm4oCUwrbDqeKAlOKA
sjogMjAwNcOlwrnigLI3w6bFk8uGMjjDpuKAlO+/pSAxMjoyOQ0KPiDDpuKAncK2w6TCu8K2w6TC
usK6OiBGQ0cgV0FORyBCYW9odWE7IGxpbnV4cHBjLWVtYmVkZGVkQG96bGFicy5vcmcNCj4gw6TC
uMK7w6nvv6DLnDogUmU6IEhvdyB0byBsb2FkIGEgbGludXgga2VybmVsIHVuZGVyIHZ4d29ya3MN
Cj4gYm9vdGxvYWRlciAoUFBDODYwIGJvYXJkKQ0KPiANCj4gDQo+IA0KPiANCj4gLS0tIEZDRyBX
QU5HIEJhb2h1YSA8QmFvaHVhLldBTkdAYWxjYXRlbC1zYmVsbC5jb20uY24+IHdyb3RlOg0KPiAN
Cj4gPiBEZWFyIEFsbDoNCj4gPiAgIEkgd2FudCB0byBib290IGEgbGludXggMi40LjI1IGtlcm5l
bCB1bmRlciB2eHdvcmtzDQo+ID4gYm9vdGxvYWRlci4gV2hlbiBJIHVzaW5nIGZsYXQgbW9kZSgw
eDIwMDAwMCAtLT4gIDB4MTAwMDApDQo+ID4ga2VybmVsICB1bmNvbXByZXNzZWQgRUxGIGZvcm1h
dCAoIHZtbGludXggKSwNCj4gPiAgYW5kIGRvd25sb2FkIGl0IHVzaW5nIFRGVFAgb2Ygdnh3b3Jr
cywgaXQgcHJpbnQgdGhlDQo+ICJzdGFydGluZw0KPiA+IGF0IDB4MTAwMCAuLi4uIiBhbmQgIGZy
ZWV6ZS4gIE5vIGlucHV0IG9yIG91dHB1dCBvbiBzZXJpYWwNCj4gPiBwb3J0Lg0KPiA+ICBUaGUg
dmVyc2lvbiBvZiB2eHdvcmtzIGlzIDUuMy4xLiANCj4gPiAgY2FuIHlvdSBnaXZlIG1lIHNvbWUg
ZGV0YWlsIGFkdmljZSBvciBnaXZlIG1lIGEgdG9vbCB0bw0KPiBzbG92ZQ0KPiA+IGl0PyB0aGFu
a3MgIQ0KPiANCj4gRG8gd2hhdCBJIGRpZDoNCj4gUmVwbGFjZSB0aGUgdnhXb3JrcyByb20gd2l0
aCB5b3UgdS1ib290IGFuZCB5b3UgY2FuIGJvb3QgTGludXgNCj4gb3IgdnhXb3JrcyB3aXRoIHRo
ZSBzYW1lIGJvb3Rsb2FkZXIuDQo+IA0KPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXw0KPiBEbyBZb3UgWWFob28hPw0KPiBUaXJlZCBvZiBzcGFtPyAg
WWFob28hIE1haWwgaGFzIHRoZSBiZXN0IHNwYW0gcHJvdGVjdGlvbg0KPiBhcm91bmQgDQo+IGh0
dHA6Ly9tYWlsLnlhaG9vLmNvbSANCj4gDQoNCg0KX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18NCkRvIFlvdSBZYWhvbyE/DQpUaXJlZCBvZiBzcGFtPyAg
WWFob28hIE1haWwgaGFzIHRoZSBiZXN0IHNwYW0gcHJvdGVjdGlvbiBhcm91bmQgDQpodHRwOi8v
bWFpbC55YWhvby5jb20gDQo=
^ permalink raw reply
* 答复: How to load a linux kernel under vxworks bootloader (PPC860 board)
From: FCG WANG Baohua @ 2005-07-28 4:49 UTC (permalink / raw)
To: Frank, linuxppc-embedded
RGVhciBGcmFuazoNCiBJIGNhbm5vdCByZXBsYWNlIHRoZSB2eFdvcmtzIGJvb3Ryb20gYmVjYXVz
ZSBJIGhhdmUgbm8gc291cmNlIGFuZCBiaW4gZmlsZXMgb2Ygdnh3b3JrcyBib290bG9hZGVyLCBJ
IGhhdmUgZXZlbiBubyB0aGUgDQogaGFyZHdhcmUgZGlhZ3JhbSByZXNvdXJjZSBvZiBteSBQUEMg
ODYwIGJvYXJkLiAgSWYgSSB3cml0ZSB0aGUgVS1Cb290IGludG8gdGhlIHJvbSwgSSBtb3N0IHBv
c3NpYmxlIGNhbm5vdCBib290dXAgdGhlIGJvYXJkLg0KIEhvdyB0byBkb3dubG9hZCB0aGUgVS1C
b290IGludG8gUkFNIGRpcmVjdGx5IHVzaW5nIHRoZSB2eFdvcmtzIGJvb3Rsb2FkZXIsIEkgdHJp
ZWQgdG8gbG9hZCB0aGUgVS1Cb290IEVMRiBpbWFnZSBidXQgZ2V0IHRoZSBzYW1lIA0KIHJlc3Vs
dCAic3RhcnRpbmcgYXQgMHgyODAwMDAgLi4uIiB0aGVuIG5vIHJlc3BvbnNlIGZyb20gdGhlIHNl
cmlhbCBjb25zb2xlLg0KIFRoZSBvbmx5IHRoaW5nIEkgY2FuIGRvIGlzIHVzZSB2eFdvcmtzIFRG
VFAgdG8gZG93bmxvYWQgdGhlIEVMRiBpbWFnZSBmb3IgbGludXgga2VybmVsIG9yIFUtQm9vdCBp
bnRvIFJBTS4gDQogIENhbiB5b3UgdGVsbCBtZSBob3cgdG8gc2xvdmUgdGhlICBVLUJvb3QgInN0
YXJ0aW5nIGF0IDB4MjgwMDAwIC4uLiIgIHByb2JsZW0gPyB0aGFua3MhDQogIA0KDQotLS0tLeWO
n+Wni+mCruS7ti0tLS0tDQrlj5Hku7bkuro6IEZyYW5rIFttYWlsdG86ZnJhbm5rX20xQHlhaG9v
LmNvbV0NCuWPkemAgeaXtumXtDogMjAwNeW5tDfmnIgyOOaXpSAxMjoyOQ0K5pS25Lu25Lq6OiBG
Q0cgV0FORyBCYW9odWE7IGxpbnV4cHBjLWVtYmVkZGVkQG96bGFicy5vcmcNCuS4u+mimDogUmU6
IEhvdyB0byBsb2FkIGEgbGludXgga2VybmVsIHVuZGVyIHZ4d29ya3MgYm9vdGxvYWRlciAoUFBD
ODYwIGJvYXJkKQ0KDQoNCg0KDQotLS0gRkNHIFdBTkcgQmFvaHVhIDxCYW9odWEuV0FOR0BhbGNh
dGVsLXNiZWxsLmNvbS5jbj4gd3JvdGU6DQoNCj4gRGVhciBBbGw6DQo+ICAgSSB3YW50IHRvIGJv
b3QgYSBsaW51eCAyLjQuMjUga2VybmVsIHVuZGVyIHZ4d29ya3MNCj4gYm9vdGxvYWRlci4gV2hl
biBJIHVzaW5nIGZsYXQgbW9kZSgweDIwMDAwMCAtLT4gIDB4MTAwMDApDQo+IGtlcm5lbCAgdW5j
b21wcmVzc2VkIEVMRiBmb3JtYXQgKCB2bWxpbnV4ICksDQo+ICBhbmQgZG93bmxvYWQgaXQgdXNp
bmcgVEZUUCBvZiB2eHdvcmtzLCBpdCBwcmludCB0aGUgInN0YXJ0aW5nDQo+IGF0IDB4MTAwMCAu
Li4uIiBhbmQgIGZyZWV6ZS4gIE5vIGlucHV0IG9yIG91dHB1dCBvbiBzZXJpYWwNCj4gcG9ydC4N
Cj4gIFRoZSB2ZXJzaW9uIG9mIHZ4d29ya3MgaXMgNS4zLjEuIA0KPiAgY2FuIHlvdSBnaXZlIG1l
IHNvbWUgZGV0YWlsIGFkdmljZSBvciBnaXZlIG1lIGEgdG9vbCB0byBzbG92ZQ0KPiBpdD8gdGhh
bmtzICENCg0KRG8gd2hhdCBJIGRpZDoNClJlcGxhY2UgdGhlIHZ4V29ya3Mgcm9tIHdpdGggeW91
IHUtYm9vdCBhbmQgeW91IGNhbiBib290IExpbnV4DQpvciB2eFdvcmtzIHdpdGggdGhlIHNhbWUg
Ym9vdGxvYWRlci4NCg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18NCkRvIFlvdSBZYWhvbyE/DQpUaXJlZCBvZiBzcGFtPyAgWWFob28hIE1haWwgaGFz
IHRoZSBiZXN0IHNwYW0gcHJvdGVjdGlvbiBhcm91bmQgDQpodHRwOi8vbWFpbC55YWhvby5jb20g
DQo=
^ permalink raw reply
* Re: How to load a linux kernel under vxworks bootloader (PPC860 board)
From: Frank @ 2005-07-28 4:28 UTC (permalink / raw)
To: FCG WANG Baohua, linuxppc-embedded
In-Reply-To: <A9DE2BAF233E444FA9C5E77A5825A01E8652D4@ydmail.sbell.com.cn>
--- FCG WANG Baohua <Baohua.WANG@alcatel-sbell.com.cn> wrote:
> Dear All:
> I want to boot a linux 2.4.25 kernel under vxworks
> bootloader. When I using flat mode(0x200000 --> 0x10000)
> kernel uncompressed ELF format ( vmlinux ),
> and download it using TFTP of vxworks, it print the "starting
> at 0x1000 ...." and freeze. No input or output on serial
> port.
> The version of vxworks is 5.3.1.
> can you give me some detail advice or give me a tool to slove
> it? thanks !
Do what I did:
Replace the vxWorks rom with you u-boot and you can boot Linux
or vxWorks with the same bootloader.
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
^ permalink raw reply
* How to load a linux kernel under vxworks bootloader (PPC860 board)
From: FCG WANG Baohua @ 2005-07-28 4:16 UTC (permalink / raw)
To: linuxppc-embedded
[-- Attachment #1: Type: text/plain, Size: 410 bytes --]
Dear All:
I want to boot a linux 2.4.25 kernel under vxworks bootloader. When I using flat mode(0x200000 --> 0x10000) kernel uncompressed ELF format ( vmlinux ),
and download it using TFTP of vxworks, it print the "starting at 0x1000 ...." and freeze. No input or output on serial port.
The version of vxworks is 5.3.1.
can you give me some detail advice or give me a tool to slove it? thanks !
[-- Attachment #2: Type: text/html, Size: 1168 bytes --]
^ permalink raw reply
* using bestcomm
From: 钟磊 @ 2005-07-28 3:32 UTC (permalink / raw)
To: linuxppc-embedded
[-- Attachment #1: Type: text/plain, Size: 401 bytes --]
Hi all:
In my embeded linux directory , I found the bestcomm API (ELDK\ppc_82xx\usr\src\linuxppc_2_4_devel
\arch\ppc\5xxx_io\bestcomm\capi)
But I don't know how to use the API to handle my task which is to transfer a block of data from the FPGA's internal RAM to the PowerPC MPC5200.
Pls give me a simple example of how to use the bestcomm to transfer data from FPGA
Thanks
zhonglei
[-- Attachment #2: Type: text/html, Size: 938 bytes --]
^ permalink raw reply
* Re: [PATCH 00/14] ppc32: Remove board ports that are no longer maintained
From: Kumar Gala @ 2005-07-27 23:35 UTC (permalink / raw)
To: Andrew Morton; +Cc: linux-kernel, Gala Kumar K.-galak, linuxppc-embedded
In-Reply-To: <20050727125746.54329281.akpm@osdl.org>
On Jul 27, 2005, at 2:57 PM, Andrew Morton wrote:
> Kumar Gala <galak@freescale.com> wrote:
>
>>
>> The following board ports are no longer maintained or have become
>> obsolete:
>>
>> adir
>> ash
>> beech
>> cedar
>> ep405
>> k2
>> mcpn765
>> menf1
>> oak
>> pcore
>> rainier
>> redwood
>> sm850
>> spd823ts
>>
>> We are there for removing support for them.
>>
>
> I'll merge all these into -mm for now, but will hold off sending
> any of
> them upstream pending confirmation of which patches we really want to
> proceed with.
Sounds good. We will get to some resolution on the ep405 which seems
the be the only system that people are making noise on today.
- kumar
^ permalink raw reply
* Re: [PATCH 00/14] ppc32: Remove board ports that are no longer maintained
From: Kumar Gala @ 2005-07-27 23:34 UTC (permalink / raw)
To: Matt Porter
Cc: Andrew Morton, linux-kernel, Gala Kumar K.-galak,
linuxppc-embedded
In-Reply-To: <20050727101502.B1114@cox.net>
On Jul 27, 2005, at 12:15 PM, Matt Porter wrote:
> On Wed, Jul 27, 2005 at 09:27:41AM -0700, Eugene Surovegin wrote:
>
>> On Wed, Jul 27, 2005 at 12:13:23PM -0400, Michael Richardson wrote:
>>
>>> Kumar, I thought that we had some volunteers to take care of some of
>>> those. I know that I still care about ep405, and I'm willing to
>>>
> maintain
>
>>> the code.
>>>
>>
>> Well, it has been almost two months since Kumar asked about
>>
> maintenance
>
>> for this board. Nothing happened since then.
>>
>> Why is it not fixed yet? Please, send a patch which fixes it. This is
>> the _best_ way to keep this board in the tree, not some empty
>> maintenance _promises_.
>>
>
> When we recover our history from the linuxppc-2.4/2.5 trees we can
> show exactly how long it's been since anybody touched ep405.
>
> Quick googling shows that it's been almost 2 years since the last
> mention of ep405 (exluding removal discussions) on linuxppc-embedded.
> Last ep405-related commits are more than 2 years ago.
So we are ok with it being removed. This seems to be the only board
port that I removed that has caused any noise.
- kumar
^ permalink raw reply
* Re: [PATCH][1/3] ppc32: add 440ep support
From: Andrew Morton @ 2005-07-27 23:03 UTC (permalink / raw)
To: Paul Mackerras; +Cc: linux-kernel, linuxppc-embedded
In-Reply-To: <17128.4407.838024.111955@cargo.ozlabs.ibm.com>
Paul Mackerras <paulus@samba.org> wrote:
>
> Andrew Morton writes:
>
> > Matt Porter <mporter@kernel.crashing.org> wrote:
> > >
> > > +static u64 dma_mask = 0xffffffffULL;
> >
> > I'm sure you're totally uninterested in this, but the above will probably
> > generate warnings on (say) ppc64, where u64 is implemented as unsigned
> > long.
> >
> > I usually chuck a simple `-1' in there and the compiler always gets it
> > right, regardless of signedness and size and architecture.
>
> Umm, I think we actually want 2^32-1 not -1, don't we?
Doh. Cant coun't.
^ permalink raw reply
* Re: [PATCH][1/3] ppc32: add 440ep support
From: Paul Mackerras @ 2005-07-27 22:56 UTC (permalink / raw)
To: Andrew Morton; +Cc: linux-kernel, linuxppc-embedded
In-Reply-To: <20050727131857.78a56972.akpm@osdl.org>
Andrew Morton writes:
> Matt Porter <mporter@kernel.crashing.org> wrote:
> >
> > +static u64 dma_mask = 0xffffffffULL;
>
> I'm sure you're totally uninterested in this, but the above will probably
> generate warnings on (say) ppc64, where u64 is implemented as unsigned
> long.
>
> I usually chuck a simple `-1' in there and the compiler always gets it
> right, regardless of signedness and size and architecture.
Umm, I think we actually want 2^32-1 not -1, don't we? In which case
I think Matt's code is what we have to have.
I tried a little test compile with gcc 4.0 with -m64 -Wall and it
didn't generate a warning with the 0xffffffffULL constant.
Paul.
^ permalink raw reply
* Re: platform/board removal update
From: 'Aristeu Sergio Rozanski Filho' @ 2005-07-27 21:46 UTC (permalink / raw)
To: Marcelo Tosatti; +Cc: linuxppc-dev list, Embedded PPC Linux list
In-Reply-To: <20050726100500.GB28003@dmt.cnet>
> 8xx_io/fec.c is still using v2.4's workqueue infrastructure but other than
> that its working fine.
>
> The fix will be pushed upstream ASAP.
>
> BTW, we should schedule 8xx_io/fec.c for removal, but before that we ought to
> test all supported PHY's on the new driver.
>
> Aris was talking to me about this on OLS. Aris, what are the PHY's not supported
> by Panto's driver again? We should build a list of those and ask around for
> testers.
I think that with Andy Fleming's PHY abstraction layer, the best thing to be done
is change fec_8xx to use this abstraction layer and then look for
testers. what you think?
--
Aristeu
^ permalink raw reply
* Re: [RFC PATCH 1/4] PHY Abstraction Layer III (now with more splitiness)
From: Randy Dunlap @ 2005-07-27 21:34 UTC (permalink / raw)
To: Andy Fleming, Randy Dunlap, Francois Romieu, Netdev,
linuxppc-embedded
> On Jul 27, 2005, at 13:08, Randy Dunlap wrote:
>
> >
> >
> >> On Jul 25, 2005, at 16:06, Francois Romieu wrote:
> >>
> >>
> >>
> >>>> +int mdiobus_register(struct mii_bus *bus)
> >>>> +{
> >>>> + int i;
> >>>> + int err = 0;
> >>>> +
> >>>> + spin_lock_init(&bus->mdio_lock);
> >>>> +
> >>>> + if (NULL == bus || NULL == bus->name ||
> >>>> + NULL == bus->read ||
> >>>> + NULL == bus->write)
> >>>>
> >>>>
> >>>
> >>> Be spartan:
> >>> if (!bus || !bus->name || !bus->read || !bus->write)
> >>>
> >>
> >>
> >> I think we have to agree to disagree here. I could be convinced, but
> >> I'm partial to using NULL explicitly.
> >>
> >
> > But there are 2 issues here (at least). One is to use NULL or
> > not. The other is using (constant == var) or (var == constant).
> >
> > It's not described in CodingStlye afaik, but most recent email
> > on the subject strongly prefers (var == constant) [in my
> > unscientific survey -- of bits in my head].
> >
> > So using the suggested style will fix both of these. :)
>
>
> Ok, here I won't agree to disagree with you. !foo as a check for
> NULL is a reasonable idea, but not my style. If that's the preferred
> style for the kernel, I will do that.
>
> But (var == constant) is a style that asks for errors. By putting
> the constant first in these checks, you never run the risk of leaving
> a bug like this:
>
> if (dev = NULL)
> ...
>
> This kind of error is quite frustrating to detect, and the eye will
> often miss it when scanning for errors. If you follow constant ==
> var, though, then the bug looks like this:
>
> if (NULL = dev)
>
> which is instantly caught by the compiler.
>
> Just my 32 cents
Yes, we know about that argument. :)
> >>>> + /* Otherwise, we allocate the device, and initialize the
> >>>> + * default values */
> >>>> + dev = kmalloc(sizeof(*dev), GFP_KERNEL);
> >>>> +
> >>>> + if (NULL == dev) {
> >>>> + errno = -ENOMEM;
> >>>> + return NULL;
> >>>> + }
> >>>> +
> >>>> + memset(dev, 0, sizeof(*dev));
> >>>>
> >>>>
> >>>
> >>> The kernel provides kcalloc.
> >>>
> >>
> >>
> >> I went looking for it, and found it in fs/cifs/misc.c. I'm hesitant
> >> to link to a function defined in the filesystem code just to save 1
> >> line of code
> >>
> >
> > It's more global than that.
>
>
> Should we move the function, then, to include/linux/slab.h? Or
> somewhere else?
It's there, like Francois said. Get use a current tree.
---
~Randy
^ permalink raw reply
* Re: [PATCH][1/3] ppc32: add 440ep support
From: Andrew Morton @ 2005-07-27 20:18 UTC (permalink / raw)
To: Matt Porter; +Cc: linux-kernel, linuxppc-embedded
In-Reply-To: <11224856623638@foobar.com>
Matt Porter <mporter@kernel.crashing.org> wrote:
>
> +static u64 dma_mask = 0xffffffffULL;
I'm sure you're totally uninterested in this, but the above will probably
generate warnings on (say) ppc64, where u64 is implemented as unsigned
long.
I usually chuck a simple `-1' in there and the compiler always gets it
right, regardless of signedness and size and architecture.
^ permalink raw reply
* Re: [PATCH 00/14] ppc32: Remove board ports that are no longer maintained
From: Andrew Morton @ 2005-07-27 19:57 UTC (permalink / raw)
To: Kumar Gala; +Cc: linux-kernel, linuxppc-embedded
In-Reply-To: <Pine.LNX.4.61.0507271029480.12237@nylon.am.freescale.net>
Kumar Gala <galak@freescale.com> wrote:
>
> The following board ports are no longer maintained or have become
> obsolete:
>
> adir
> ash
> beech
> cedar
> ep405
> k2
> mcpn765
> menf1
> oak
> pcore
> rainier
> redwood
> sm850
> spd823ts
>
> We are there for removing support for them.
I'll merge all these into -mm for now, but will hold off sending any of
them upstream pending confirmation of which patches we really want to
proceed with.
^ permalink raw reply
* Re: [RFC PATCH 1/4] PHY Abstraction Layer III (now with more splitiness)
From: Francois Romieu @ 2005-07-27 19:56 UTC (permalink / raw)
To: Andy Fleming; +Cc: Netdev, Randy Dunlap, linuxppc-embedded
In-Reply-To: <EDA214E7-5655-4900-AF1A-FC736681DC74@freescale.com>
Andy Fleming <afleming@freescale.com> :
[kcalloc]
> Should we move the function, then, to include/linux/slab.h? Or
> somewhere else?
It is already in mm/slab.c
[rc = request_irq(...)]
It appears in drivers/net/*c. Jeff Garzik used to suggest something
similar but it does not matter as long as you do not need to return
an error status (KERN_ERR is probably a bit too strong then).
[initialization of struct phy_setting settings]
#define NITZ(d,t,s) { .speed = s, .duplex = d, .setting = t }
static struct phy_setting settings[] = {
NITZ(DUPLEX_FULL, SUPPORTED_10000baseT_Full, 10000),
NITZ(DUPLEX_FULL, SUPPORTED_1000baseT_Full, SPEED_1000),
NITZ(DUPLEX_HALF, SUPPORTED_1000baseT_Half, SPEED_1000),
NITZ(DUPLEX_FULL, SUPPORTED_100baseT_Full, SPEED_100),
NITZ(DUPLEX_HALF, SUPPORTED_100baseT_Half, SPEED_100),
NITZ(DUPLEX_FULL, SUPPORTED_10baseT_Full, SPEED_10),
NITZ(DUPLEX_HALF, SUPPORTED_10baseT_Half, SPEED_10),
};
#undef NITZ
--
Ueimor
^ permalink raw reply
* Re: [RFC PATCH 1/4] PHY Abstraction Layer III (now with more splitiness)
From: Andy Fleming @ 2005-07-27 18:46 UTC (permalink / raw)
To: Randy Dunlap; +Cc: Netdev, linuxppc-embedded, Francois Romieu
In-Reply-To: <1122487708.20267@shark.he.net>
On Jul 27, 2005, at 13:08, Randy Dunlap wrote:
>
>
>> On Jul 25, 2005, at 16:06, Francois Romieu wrote:
>>
>>
>>
>>>> +int mdiobus_register(struct mii_bus *bus)
>>>> +{
>>>> + int i;
>>>> + int err = 0;
>>>> +
>>>> + spin_lock_init(&bus->mdio_lock);
>>>> +
>>>> + if (NULL == bus || NULL == bus->name ||
>>>> + NULL == bus->read ||
>>>> + NULL == bus->write)
>>>>
>>>>
>>>
>>> Be spartan:
>>> if (!bus || !bus->name || !bus->read || !bus->write)
>>>
>>
>>
>> I think we have to agree to disagree here. I could be convinced, but
>> I'm partial to using NULL explicitly.
>>
>
> But there are 2 issues here (at least). One is to use NULL or
> not. The other is using (constant == var) or (var == constant).
>
> It's not described in CodingStlye afaik, but most recent email
> on the subject strongly prefers (var == constant) [in my
> unscientific survey -- of bits in my head].
>
> So using the suggested style will fix both of these. :)
Ok, here I won't agree to disagree with you. !foo as a check for
NULL is a reasonable idea, but not my style. If that's the preferred
style for the kernel, I will do that.
But (var == constant) is a style that asks for errors. By putting
the constant first in these checks, you never run the risk of leaving
a bug like this:
if (dev = NULL)
...
This kind of error is quite frustrating to detect, and the eye will
often miss it when scanning for errors. If you follow constant ==
var, though, then the bug looks like this:
if (NULL = dev)
which is instantly caught by the compiler.
Just my 32 cents
>
>
>>>> + /* Otherwise, we allocate the device, and initialize the
>>>> + * default values */
>>>> + dev = kmalloc(sizeof(*dev), GFP_KERNEL);
>>>> +
>>>> + if (NULL == dev) {
>>>> + errno = -ENOMEM;
>>>> + return NULL;
>>>> + }
>>>> +
>>>> + memset(dev, 0, sizeof(*dev));
>>>>
>>>>
>>>
>>> The kernel provides kcalloc.
>>>
>>
>>
>> I went looking for it, and found it in fs/cifs/misc.c. I'm hesitant
>> to link to a function defined in the filesystem code just to save 1
>> line of code
>>
>
> It's more global than that.
Should we move the function, then, to include/linux/slab.h? Or
somewhere else?
^ permalink raw reply
* Re: [RFC PATCH 1/4] PHY Abstraction Layer III (now with more splitiness)
From: Randy Dunlap @ 2005-07-27 18:08 UTC (permalink / raw)
To: Andy Fleming, Francois Romieu, Netdev, linuxppc-embedded
> On Jul 25, 2005, at 16:06, Francois Romieu wrote:
>
>
> >> +int mdiobus_register(struct mii_bus *bus)
> >> +{
> >> + int i;
> >> + int err = 0;
> >> +
> >> + spin_lock_init(&bus->mdio_lock);
> >> +
> >> + if (NULL == bus || NULL == bus->name ||
> >> + NULL == bus->read ||
> >> + NULL == bus->write)
> >>
> >
> > Be spartan:
> > if (!bus || !bus->name || !bus->read || !bus->write)
>
>
> I think we have to agree to disagree here. I could be convinced, but
> I'm partial to using NULL explicitly.
But there are 2 issues here (at least). One is to use NULL or
not. The other is using (constant == var) or (var == constant).
It's not described in CodingStlye afaik, but most recent email
on the subject strongly prefers (var == constant) [in my
unscientific survey -- of bits in my head].
So using the suggested style will fix both of these. :)
> >> + /* Otherwise, we allocate the device, and initialize the
> >> + * default values */
> >> + dev = kmalloc(sizeof(*dev), GFP_KERNEL);
> >> +
> >> + if (NULL == dev) {
> >> + errno = -ENOMEM;
> >> + return NULL;
> >> + }
> >> +
> >> + memset(dev, 0, sizeof(*dev));
> >>
> >
> > The kernel provides kcalloc.
>
>
> I went looking for it, and found it in fs/cifs/misc.c. I'm hesitant
> to link to a function defined in the filesystem code just to save 1
> line of code
It's more global than that.
~Randy
^ permalink raw reply
* RE: MPC885 - USB HCI drivers.
From: Bastos Fernandez Alexandre @ 2005-07-27 18:08 UTC (permalink / raw)
To: 'Pantelis Antoniou', Bryan O'Donoghue; +Cc: linuxppc-embedded
Guys,
Finally, was the patch submitted to the list?
I have searched deeply both ozlabs and gmane, but I couldn't
find it ...
I have been disconnected from the list for several weeks (wedding holidays
:-) )
so I am a bit unplugged with all this stuff.
By now, I would apprece a lot this usb host driver for 82xx.
Thanks,
Alex BASTOS
> -----Original Message-----
> From: Pantelis Antoniou [SMTP:panto@intracom.gr]
> Sent: Tuesday, May 17, 2005 11:45 AM
> To: Bryan O'Donoghue
> Cc: linuxppc-embedded@ozlabs.org
> Subject: Re: MPC885 - USB HCI drivers.
>
> Bryan O'Donoghue wrote:
> > Pantelis Antoniou wrote:
> >
> >
> >>Well I have USB host drivers for both 8xx & 82xx working.
> >
> >
> > Speaking of which... would it not be a good idea, to get these comitted
> > to the 2.6 tree... at some stage ... at least to stop people
> > periodically posting to this list... saying "Dear all have spent 2
> > months, writing code for m8xx_hci drivers", when it's a needless
> > replication of effort ?
> >
>
> Well, they are too hideous for human eyes :)
>
> >
> >>However I use them connected to a specific peripheral
> >>so I don't know how well they fare when used as a PC
> >>style USB host controller.
> >
> >
> > Also, one easy way to find out, how well or badly said code performs, in
> > hetrogenous environments, is to... suck it and see.
> >
> > As I was attempting to intimate above, I'm sure there'd be a legion of
> > eager people to debug, modify and recode such drivers, if there lived in
> > an obvious place... in the 2.6 tree.
> >
> > Just my EUR0.02.
> >
>
> Also they're 2.4 only :)
>
> I'll try to clean them up and post them sometime this week.
>
> But I don't have time left to hack them for 2.6. I'll need
> vict^H^H^Holunteers to do it...
>
> Regards
>
> Pantelis
>
>
> > --
> >
> > Best,
> > Bryan
> >
> >
>
> _______________________________________________
> Linuxppc-embedded mailing list
> Linuxppc-embedded@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-embedded
^ permalink raw reply
* Re: [RFC PATCH 1/4] PHY Abstraction Layer III (now with more splitiness)
From: Andy Fleming @ 2005-07-27 18:01 UTC (permalink / raw)
To: Francois Romieu; +Cc: Netdev, linuxppc-embedded
In-Reply-To: <20050725210646.GA17828@electric-eye.fr.zoreil.com>
On Jul 25, 2005, at 16:06, Francois Romieu wrote:
[snip]
>
>> +config DAVICOM_PHY
>> + bool "Drivers for Davicom PHYs"
>> + depends on PHYLIB
>> + ---help---
>> + Currently supports dm9161e and dm9131
>>
> [snip]
Yeah, I resisted splitting the patch up for this reason. Suffice it
to say, you have to apply patch #2 to not break everything.
Splitting the PHY driver code from the PHY layer is just for
"convenience"
>> +int mdiobus_register(struct mii_bus *bus)
>> +{
>> + int i;
>> + int err = 0;
>> +
>> + spin_lock_init(&bus->mdio_lock);
>> +
>> + if (NULL == bus || NULL == bus->name ||
>> + NULL == bus->read ||
>> + NULL == bus->write)
>>
>
> Be spartan:
> if (!bus || !bus->name || !bus->read || !bus->write)
I think we have to agree to disagree here. I could be convinced, but
I'm partial to using NULL explicitly.
>> +
>> +/* Convenience function to print out the current phy status
>> + */
>> +void phy_print_status(struct phy_device *phydev)
>> +{
>> + pr_info("%s: Link is %s", phydev->dev.bus_id,
>> + phydev->link ? "Up" : "Down");
>> + if (phydev->link)
>> + printk(" - %d/%s", phydev->speed,
>>
>
> Missing KERN_SOMETHING in the printk.
Actually, KERN_SOMETHING would muck up the line, and make it look
like this:
phy0:0: Link is Up<3> - 1000/Full
That's why it's like that.
>> +/* A mapping of all SUPPORTED settings to speed/duplex */
>> +static struct phy_setting settings[] = {
>> + { .speed = 10000, .duplex = DUPLEX_FULL,
>> + .setting = SUPPORTED_10000baseT_Full,
>> + },
>> + { .speed = SPEED_1000, .duplex = DUPLEX_FULL,
>> + .setting = SUPPORTED_1000baseT_Full,
>> + },
>> + { .speed = SPEED_1000, .duplex = DUPLEX_HALF,
>> + .setting = SUPPORTED_1000baseT_Half,
>> + },
>> + { .speed = SPEED_100, .duplex = DUPLEX_FULL,
>> + .setting = SUPPORTED_100baseT_Full,
>> + },
>> + { .speed = SPEED_100, .duplex = DUPLEX_HALF,
>> + .setting = SUPPORTED_100baseT_Half,
>> + },
>> + { .speed = SPEED_10, .duplex = DUPLEX_FULL,
>> + .setting = SUPPORTED_10baseT_Full,
>> + },
>> + { .speed = SPEED_10, .duplex = DUPLEX_HALF,
>> + .setting = SUPPORTED_10baseT_Half,
>> + },
>> +};
>>
>
> Would you veto some macro to initialise this array ?
Depends on the macro. :) I'm not keen on writing it, but I would
support one that:
a) works
b) Isn't uglier than the current solution. :)
>> +static inline int phy_find_setting(int speed, int duplex)
>> +{
>> + int idx = 0;
>> +
>> + while (idx < MAX_NUM_SETTINGS &&
>> + (settings[idx].speed != speed ||
>> + settings[idx].duplex != duplex))
>> + idx++;
>>
>
> "for" loop in disguise ?
Well.... I think it falls into the gray area. It's searching until
it finds something, which implies "while" to me. Really it's more of
a while...until. Of course, a for loop could be used, but I often
worry about using a for loop's iterator variable outside of the
loop. I will change to ARRAY_SIZE, though.
>
>
>> +
>> + return idx < MAX_NUM_SETTINGS ? idx : MAX_NUM_SETTINGS - 1;
>>
>
> Ok (dunno if "idx % MAX_NUM_SETTINGS" is more idiomatic or not).
That would be completely different. The current code makes sure
that, if no valid match was found, the last value in the array is
returned. Using % would result in the first value being returned. I
was defaulting to the lowest setting.
>> +int phy_start_interrupts(struct phy_device *phydev)
>> +{
>> + int err = 0;
>> +
>> + INIT_WORK(&phydev->phy_queue, phy_change, phydev);
>> +
>> + if (request_irq(phydev->irq, phy_interrupt,
>> + SA_SHIRQ,
>> + "phy_interrupt",
>> + phydev) < 0) {
>>
>
> Please, don't do that :o(
>
> err = request_irq(phydev->irq, phy_interrupt, SA_SHIRQ,
> "phy_interrupt", phydev);
> if (err < 0)
> ...
I did a cursory search, and didn't find any other drivers which use
this method. Which is the method preferred in Linux?
>> + printk(KERN_ERR "%s: Can't get IRQ %d (PHY)\n",
>> + phydev->bus->name,
>> + phydev->irq);
>> + phydev->irq = PHY_POLL;
>> + return 0;
>>
>
> The description of the function says "Returns 0 on success".
Failing to request the IRQ does not result in failure of the
function. It falls back to polling, instead.
However, it can fail if phy_enable_interrupts() fails, which would
happen if a hardware issue occurred.
>> + /* Otherwise, we allocate the device, and initialize the
>> + * default values */
>> + dev = kmalloc(sizeof(*dev), GFP_KERNEL);
>> +
>> + if (NULL == dev) {
>> + errno = -ENOMEM;
>> + return NULL;
>> + }
>> +
>> + memset(dev, 0, sizeof(*dev));
>>
>
> The kernel provides kcalloc.
I went looking for it, and found it in fs/cifs/misc.c. I'm hesitant
to link to a function defined in the filesystem code just to save 1
line of code
I agree with all the other suggestions, and will implement them.
^ permalink raw reply
* [PATCH][1/3] ppc32: add 440ep support
From: Matt Porter @ 2005-07-27 17:34 UTC (permalink / raw)
To: akpm; +Cc: linux-kernel, linuxppc-embedded
Add PPC440EP core support. PPC440EP is a PPC440-based SoC with
a classic PPC FPU and another set of peripherals.
Signed-off-by: Wade Farnsworth <wfarnsworth@mvista.com>
Signed-off-by: Matt Porter <mporter@kernel.crashing.org>
diff --git a/arch/ppc/boot/simple/Makefile b/arch/ppc/boot/simple/Makefile
--- a/arch/ppc/boot/simple/Makefile
+++ b/arch/ppc/boot/simple/Makefile
@@ -61,6 +61,12 @@ zimageinitrd-$(CONFIG_IBM_OPENBIOS) :=3D z
end-$(CONFIG_EMBEDDEDBOOT) :=3D embedded
misc-$(CONFIG_EMBEDDEDBOOT) :=3D misc-embedded.o
=20
+ zimage-$(CONFIG_BAMBOO) :=3D zImage-TREE
+zimageinitrd-$(CONFIG_BAMBOO) :=3D zImage.initrd-TREE
+ end-$(CONFIG_BAMBOO) :=3D bamboo
+ entrypoint-$(CONFIG_BAMBOO) :=3D 0x01000000
+ extra.o-$(CONFIG_BAMBOO) :=3D pibs.o
+
zimage-$(CONFIG_EBONY) :=3D zImage-TREE
zimageinitrd-$(CONFIG_EBONY) :=3D zImage.initrd-TREE
end-$(CONFIG_EBONY) :=3D ebony
diff --git a/arch/ppc/boot/simple/pibs.c b/arch/ppc/boot/simple/pibs.c
--- a/arch/ppc/boot/simple/pibs.c
+++ b/arch/ppc/boot/simple/pibs.c
@@ -91,9 +91,11 @@ load_kernel(unsigned long load_addr, int
=20
mac64 =3D simple_strtoull((char *)PIBS_MAC_BASE, 0, 16);
memcpy(hold_residual->bi_enetaddr, (char *)&mac64+2, 6);
-#ifdef CONFIG_440GX
+#if defined(CONFIG_440GX) || defined(CONFIG_440EP)
mac64 =3D simple_strtoull((char *)(PIBS_MAC_BASE+PIBS_MAC_OFFSET), 0, 16);
memcpy(hold_residual->bi_enet1addr, (char *)&mac64+2, 6);
+#endif
+#ifdef CONFIG_440GX
mac64 =3D simple_strtoull((char *)(PIBS_MAC_BASE+PIBS_MAC_OFFSET*2), 0, 1=
6);
memcpy(hold_residual->bi_enet2addr, (char *)&mac64+2, 6);
mac64 =3D simple_strtoull((char *)(PIBS_MAC_BASE+PIBS_MAC_OFFSET*3), 0, 1=
6);
diff --git a/arch/ppc/kernel/cputable.c b/arch/ppc/kernel/cputable.c
--- a/arch/ppc/kernel/cputable.c
+++ b/arch/ppc/kernel/cputable.c
@@ -852,6 +852,26 @@ struct cpu_spec cpu_specs[] =3D {
=20
#endif /* CONFIG_40x */
#ifdef CONFIG_44x
+ {
+ .pvr_mask =3D 0xf0000fff,
+ .pvr_value =3D 0x40000850,
+ .cpu_name =3D "440EP Rev. A",
+ .cpu_features =3D CPU_FTR_SPLIT_ID_CACHE |
+ CPU_FTR_USE_TB,
+ .cpu_user_features =3D COMMON_PPC, /* 440EP has an FPU */
+ .icache_bsize =3D 32,
+ .dcache_bsize =3D 32,
+ },
+ {
+ .pvr_mask =3D 0xf0000fff,
+ .pvr_value =3D 0x400008d3,
+ .cpu_name =3D "440EP Rev. B",
+ .cpu_features =3D CPU_FTR_SPLIT_ID_CACHE |
+ CPU_FTR_USE_TB,
+ .cpu_user_features =3D COMMON_PPC, /* 440EP has an FPU */
+ .icache_bsize =3D 32,
+ .dcache_bsize =3D 32,
+ },
{ /* 440GP Rev. B */
.pvr_mask =3D 0xf0000fff,
.pvr_value =3D 0x40000440,
diff --git a/arch/ppc/kernel/entry.S b/arch/ppc/kernel/entry.S
--- a/arch/ppc/kernel/entry.S
+++ b/arch/ppc/kernel/entry.S
@@ -215,6 +215,7 @@ syscall_dotrace_cont:
lwzx r10,r10,r0 /* Fetch system call handler [ptr] */
mtlr r10
addi r9,r1,STACK_FRAME_OVERHEAD
+ PPC440EP_ERR42
blrl /* Call handler */
.globl ret_from_syscall
ret_from_syscall:
diff --git a/arch/ppc/kernel/head_44x.S b/arch/ppc/kernel/head_44x.S
--- a/arch/ppc/kernel/head_44x.S
+++ b/arch/ppc/kernel/head_44x.S
@@ -190,7 +190,9 @@ skpinv: addi r4,r4,1 /* Increment */
=20
/* xlat fields */
lis r4,UART0_PHYS_IO_BASE@h /* RPN depends on SoC */
+#ifndef CONFIG_440EP
ori r4,r4,0x0001 /* ERPN is 1 for second 4GB page */
+#endif
=20
/* attrib fields */
li r5,0
@@ -228,6 +230,16 @@ skpinv: addi r4,r4,1 /* Increment */
lis r4,interrupt_base@h /* IVPR only uses the high 16-bits */
mtspr SPRN_IVPR,r4
=20
+#ifdef CONFIG_440EP
+ /* Clear DAPUIB flag in CCR0 (enable APU between CPU and FPU) */
+ mfspr r2,SPRN_CCR0
+ lis r3,0xffef
+ ori r3,r3,0xffff
+ and r2,r2,r3
+ mtspr SPRN_CCR0,r2
+ isync
+#endif
+
/*
* This is where the main kernel code starts.
*/
diff --git a/arch/ppc/kernel/misc.S b/arch/ppc/kernel/misc.S
--- a/arch/ppc/kernel/misc.S
+++ b/arch/ppc/kernel/misc.S
@@ -1145,6 +1145,7 @@ _GLOBAL(kernel_thread)
stwu r0,-16(r1)
mtlr r30 /* fn addr in lr */
mr r3,r31 /* load arg and call fn */
+ PPC440EP_ERR42
blrl
li r0,__NR_exit /* exit if function returns */
li r3,0
diff --git a/arch/ppc/platforms/4xx/Kconfig b/arch/ppc/platforms/4xx/Kconfig
--- a/arch/ppc/platforms/4xx/Kconfig
+++ b/arch/ppc/platforms/4xx/Kconfig
@@ -68,6 +68,11 @@ choice
depends on 44x
default EBONY
=20
+config BAMBOO
+ bool "Bamboo"
+ help
+ This option enables support for the IBM PPC440EP evaluation board.
+
config EBONY
bool "Ebony"
help
@@ -98,6 +103,12 @@ config NP405H
depends on ASH
default y
=20
+config 440EP
+ bool
+ depends on BAMBOO
+ select PPC_FPU
+ default y
+
config 440GP
bool
depends on EBONY
@@ -115,7 +126,7 @@ config 440SP
=20
config 440
bool
- depends on 440GP || 440SP
+ depends on 440GP || 440SP || 440EP
default y
=20
config 440A
@@ -123,6 +134,11 @@ config 440A
depends on 440GX
default y
=20
+config IBM440EP_ERR42
+ bool
+ depends on 440EP
+ default y
+
# All 405-based cores up until the 405GPR and 405EP have this errata.
config IBM405_ERR77
bool
@@ -142,7 +158,7 @@ config BOOKE
=20
config IBM_OCP
bool
- depends on ASH || BUBINGA || CPCI405 || EBONY || EP405 || LUAN || OCOTEA =
|| REDWOOD_5 || REDWOOD_6 || SYCAMORE || WALNUT
+ depends on ASH || BAMBOO || BUBINGA || CPCI405 || EBONY || EP405 || LUAN =
|| OCOTEA || REDWOOD_5 || REDWOOD_6 || SYCAMORE || WALNUT
default y
=20
config XILINX_OCP
diff --git a/arch/ppc/platforms/4xx/Makefile b/arch/ppc/platforms/4xx/Makef=
ile
--- a/arch/ppc/platforms/4xx/Makefile
+++ b/arch/ppc/platforms/4xx/Makefile
@@ -2,6 +2,7 @@
# Makefile for the PowerPC 4xx linux kernel.
=20
obj-$(CONFIG_ASH) +=3D ash.o
+obj-$(CONFIG_BAMBOO) +=3D bamboo.o
obj-$(CONFIG_CPCI405) +=3D cpci405.o
obj-$(CONFIG_EBONY) +=3D ebony.o
obj-$(CONFIG_EP405) +=3D ep405.o
@@ -19,6 +20,7 @@ obj-$(CONFIG_405GP) +=3D ibm405gp.o
obj-$(CONFIG_REDWOOD_5) +=3D ibmstb4.o
obj-$(CONFIG_NP405H) +=3D ibmnp405h.o
obj-$(CONFIG_REDWOOD_6) +=3D ibmstbx25.o
+obj-$(CONFIG_440EP) +=3D ibm440ep.o
obj-$(CONFIG_440GP) +=3D ibm440gp.o
obj-$(CONFIG_440GX) +=3D ibm440gx.o
obj-$(CONFIG_440SP) +=3D ibm440sp.o
diff --git a/arch/ppc/platforms/4xx/ibm440ep.c b/arch/ppc/platforms/4xx/ibm=
440ep.c
new file mode 100644
--- /dev/null
+++ b/arch/ppc/platforms/4xx/ibm440ep.c
@@ -0,0 +1,220 @@
+/*
+ * arch/ppc/platforms/4xx/ibm440ep.c
+ *
+ * PPC440EP I/O descriptions
+ *
+ * Wade Farnsworth <wfarnsworth@mvista.com>
+ * Copyright 2004 MontaVista Software Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ */
+#include <linux/init.h>
+#include <linux/module.h>
+#include <platforms/4xx/ibm440ep.h>
+#include <asm/ocp.h>
+#include <asm/ppc4xx_pic.h>
+
+static struct ocp_func_emac_data ibm440ep_emac0_def =3D {
+ .rgmii_idx =3D -1, /* No RGMII */
+ .rgmii_mux =3D -1, /* No RGMII */
+ .zmii_idx =3D 0, /* ZMII device index */
+ .zmii_mux =3D 0, /* ZMII input of this EMAC */
+ .mal_idx =3D 0, /* MAL device index */
+ .mal_rx_chan =3D 0, /* MAL rx channel number */
+ .mal_tx_chan =3D 0, /* MAL tx channel number */
+ .wol_irq =3D 61, /* WOL interrupt number */
+ .mdio_idx =3D -1, /* No shared MDIO */
+ .tah_idx =3D -1, /* No TAH */
+};
+
+static struct ocp_func_emac_data ibm440ep_emac1_def =3D {
+ .rgmii_idx =3D -1, /* No RGMII */
+ .rgmii_mux =3D -1, /* No RGMII */
+ .zmii_idx =3D 0, /* ZMII device index */
+ .zmii_mux =3D 1, /* ZMII input of this EMAC */
+ .mal_idx =3D 0, /* MAL device index */
+ .mal_rx_chan =3D 1, /* MAL rx channel number */
+ .mal_tx_chan =3D 2, /* MAL tx channel number */
+ .wol_irq =3D 63, /* WOL interrupt number */
+ .mdio_idx =3D -1, /* No shared MDIO */
+ .tah_idx =3D -1, /* No TAH */
+};
+OCP_SYSFS_EMAC_DATA()
+
+static struct ocp_func_mal_data ibm440ep_mal0_def =3D {
+ .num_tx_chans =3D 4, /* Number of TX channels */
+ .num_rx_chans =3D 2, /* Number of RX channels */
+ .txeob_irq =3D 10, /* TX End Of Buffer IRQ */
+ .rxeob_irq =3D 11, /* RX End Of Buffer IRQ */
+ .txde_irq =3D 33, /* TX Descriptor Error IRQ */
+ .rxde_irq =3D 34, /* RX Descriptor Error IRQ */
+ .serr_irq =3D 32, /* MAL System Error IRQ */
+};
+OCP_SYSFS_MAL_DATA()
+
+static struct ocp_func_iic_data ibm440ep_iic0_def =3D {
+ .fast_mode =3D 0, /* Use standad mode (100Khz) */
+};
+
+static struct ocp_func_iic_data ibm440ep_iic1_def =3D {
+ .fast_mode =3D 0, /* Use standad mode (100Khz) */
+};
+OCP_SYSFS_IIC_DATA()
+
+struct ocp_def core_ocp[] =3D {
+ { .vendor =3D OCP_VENDOR_IBM,
+ .function =3D OCP_FUNC_OPB,
+ .index =3D 0,
+ .paddr =3D 0x0EF600000ULL,
+ .irq =3D OCP_IRQ_NA,
+ .pm =3D OCP_CPM_NA,
+ },
+ { .vendor =3D OCP_VENDOR_IBM,
+ .function =3D OCP_FUNC_16550,
+ .index =3D 0,
+ .paddr =3D PPC440EP_UART0_ADDR,
+ .irq =3D UART0_INT,
+ .pm =3D IBM_CPM_UART0,
+ },
+ { .vendor =3D OCP_VENDOR_IBM,
+ .function =3D OCP_FUNC_16550,
+ .index =3D 1,
+ .paddr =3D PPC440EP_UART1_ADDR,
+ .irq =3D UART1_INT,
+ .pm =3D IBM_CPM_UART1,
+ },
+ { .vendor =3D OCP_VENDOR_IBM,
+ .function =3D OCP_FUNC_16550,
+ .index =3D 2,
+ .paddr =3D PPC440EP_UART2_ADDR,
+ .irq =3D UART2_INT,
+ .pm =3D IBM_CPM_UART2,
+ },
+ { .vendor =3D OCP_VENDOR_IBM,
+ .function =3D OCP_FUNC_16550,
+ .index =3D 3,
+ .paddr =3D PPC440EP_UART3_ADDR,
+ .irq =3D UART3_INT,
+ .pm =3D IBM_CPM_UART3,
+ },
+ { .vendor =3D OCP_VENDOR_IBM,
+ .function =3D OCP_FUNC_IIC,
+ .index =3D 0,
+ .paddr =3D 0x0EF600700ULL,
+ .irq =3D 2,
+ .pm =3D IBM_CPM_IIC0,
+ .additions =3D &ibm440ep_iic0_def,
+ .show =3D &ocp_show_iic_data
+ },
+ { .vendor =3D OCP_VENDOR_IBM,
+ .function =3D OCP_FUNC_IIC,
+ .index =3D 1,
+ .paddr =3D 0x0EF600800ULL,
+ .irq =3D 7,
+ .pm =3D IBM_CPM_IIC1,
+ .additions =3D &ibm440ep_iic1_def,
+ .show =3D &ocp_show_iic_data
+ },
+ { .vendor =3D OCP_VENDOR_IBM,
+ .function =3D OCP_FUNC_GPIO,
+ .index =3D 0,
+ .paddr =3D 0x0EF600B00ULL,
+ .irq =3D OCP_IRQ_NA,
+ .pm =3D IBM_CPM_GPIO0,
+ },
+ { .vendor =3D OCP_VENDOR_IBM,
+ .function =3D OCP_FUNC_GPIO,
+ .index =3D 1,
+ .paddr =3D 0x0EF600C00ULL,
+ .irq =3D OCP_IRQ_NA,
+ .pm =3D OCP_CPM_NA,
+ },
+ { .vendor =3D OCP_VENDOR_IBM,
+ .function =3D OCP_FUNC_MAL,
+ .paddr =3D OCP_PADDR_NA,
+ .irq =3D OCP_IRQ_NA,
+ .pm =3D OCP_CPM_NA,
+ .additions =3D &ibm440ep_mal0_def,
+ .show =3D &ocp_show_mal_data,
+ },
+ { .vendor =3D OCP_VENDOR_IBM,
+ .function =3D OCP_FUNC_EMAC,
+ .index =3D 0,
+ .paddr =3D 0x0EF600E00ULL,
+ .irq =3D 60,
+ .pm =3D OCP_CPM_NA,
+ .additions =3D &ibm440ep_emac0_def,
+ .show =3D &ocp_show_emac_data,
+ },
+ { .vendor =3D OCP_VENDOR_IBM,
+ .function =3D OCP_FUNC_EMAC,
+ .index =3D 1,
+ .paddr =3D 0x0EF600F00ULL,
+ .irq =3D 62,
+ .pm =3D OCP_CPM_NA,
+ .additions =3D &ibm440ep_emac1_def,
+ .show =3D &ocp_show_emac_data,
+ },
+ { .vendor =3D OCP_VENDOR_IBM,
+ .function =3D OCP_FUNC_ZMII,
+ .paddr =3D 0x0EF600D00ULL,
+ .irq =3D OCP_IRQ_NA,
+ .pm =3D OCP_CPM_NA,
+ },
+ { .vendor =3D OCP_VENDOR_INVALID
+ }
+};
+
+/* Polarity and triggering settings for internal interrupt sources */
+struct ppc4xx_uic_settings ppc4xx_core_uic_cfg[] __initdata =3D {
+ { .polarity =3D 0xffbffe03,
+ .triggering =3D 0xfffffe00,
+ .ext_irq_mask =3D 0x000001fc, /* IRQ0 - IRQ6 */
+ },
+ { .polarity =3D 0xffffc6ef,
+ .triggering =3D 0xffffc7ff,
+ .ext_irq_mask =3D 0x00003800, /* IRQ7 - IRQ9 */
+ },
+};
+
+static struct resource usb_gadget_resources[] =3D {
+ [0] =3D {
+ .start =3D 0x050000100ULL,
+ .end =3D 0x05000017FULL,
+ .flags =3D IORESOURCE_MEM,
+ },
+ [1] =3D {
+ .start =3D 55,
+ .end =3D 55,
+ .flags =3D IORESOURCE_IRQ,
+ },
+};
+
+static u64 dma_mask =3D 0xffffffffULL;
+
+static struct platform_device usb_gadget_device =3D {
+ .name =3D "musbhsfc",
+ .id =3D 0,
+ .num_resources =3D ARRAY_SIZE(usb_gadget_resources),
+ .resource =3D usb_gadget_resources,
+ .dev =3D {
+ .dma_mask =3D &dma_mask,
+ .coherent_dma_mask =3D 0xffffffffULL,
+ }
+};
+
+static struct platform_device *ibm440ep_devs[] __initdata =3D {
+ &usb_gadget_device,
+};
+
+static int __init
+ibm440ep_platform_add_devices(void)
+{
+ return platform_add_devices(ibm440ep_devs, ARRAY_SIZE(ibm440ep_devs));
+}
+arch_initcall(ibm440ep_platform_add_devices);
+
diff --git a/arch/ppc/platforms/4xx/ibm440ep.h b/arch/ppc/platforms/4xx/ibm=
440ep.h
new file mode 100644
--- /dev/null
+++ b/arch/ppc/platforms/4xx/ibm440ep.h
@@ -0,0 +1,76 @@
+/*
+ * arch/ppc/platforms/4xx/ibm440ep.h
+ *
+ * PPC440EP definitions
+ *
+ * Wade Farnsworth <wfarnsworth@mvista.com>
+ *
+ * Copyright 2002 Roland Dreier
+ * Copyright 2004 MontaVista Software, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ */
+
+#ifdef __KERNEL__
+#ifndef __PPC_PLATFORMS_IBM440EP_H
+#define __PPC_PLATFORMS_IBM440EP_H
+
+#include <linux/config.h>
+#include <asm/ibm44x.h>
+
+/* UART */
+#define PPC440EP_UART0_ADDR 0x0EF600300
+#define PPC440EP_UART1_ADDR 0x0EF600400
+#define PPC440EP_UART2_ADDR 0x0EF600500
+#define PPC440EP_UART3_ADDR 0x0EF600600
+#define UART0_INT 0
+#define UART1_INT 1
+#define UART2_INT 3
+#define UART3_INT 4
+
+/* Clock and Power Management */
+#define IBM_CPM_IIC0 0x80000000 /* IIC interface */
+#define IBM_CPM_IIC1 0x40000000 /* IIC interface */
+#define IBM_CPM_PCI 0x20000000 /* PCI bridge */
+#define IBM_CPM_USB1H 0x08000000 /* USB 1.1 Host */
+#define IBM_CPM_FPU 0x04000000 /* floating point unit */
+#define IBM_CPM_CPU 0x02000000 /* processor core */
+#define IBM_CPM_DMA 0x01000000 /* DMA controller */
+#define IBM_CPM_BGO 0x00800000 /* PLB to OPB bus arbiter */
+#define IBM_CPM_BGI 0x00400000 /* OPB to PLB bridge */
+#define IBM_CPM_EBC 0x00200000 /* External Bus Controller */
+#define IBM_CPM_EBM 0x00100000 /* Ext Bus Master Interface */
+#define IBM_CPM_DMC 0x00080000 /* SDRAM peripheral controller */
+#define IBM_CPM_PLB4 0x00040000 /* PLB4 bus arbiter */
+#define IBM_CPM_PLB4x3 0x00020000 /* PLB4 to PLB3 bridge controller */
+#define IBM_CPM_PLB3x4 0x00010000 /* PLB3 to PLB4 bridge controller */
+#define IBM_CPM_PLB3 0x00008000 /* PLB3 bus arbiter */
+#define IBM_CPM_PPM 0x00002000 /* PLB Performance Monitor */
+#define IBM_CPM_UIC1 0x00001000 /* Universal Interrupt Controller */
+#define IBM_CPM_GPIO0 0x00000800 /* General Purpose IO (??) */
+#define IBM_CPM_GPT 0x00000400 /* General Purpose Timers */
+#define IBM_CPM_UART0 0x00000200 /* serial port 0 */
+#define IBM_CPM_UART1 0x00000100 /* serial port 1 */
+#define IBM_CPM_UIC0 0x00000080 /* Universal Interrupt Controller */
+#define IBM_CPM_TMRCLK 0x00000040 /* CPU timers */
+#define IBM_CPM_EMAC0 0x00000020 /* ethernet port 0 */
+#define IBM_CPM_EMAC1 0x00000010 /* ethernet port 1 */
+#define IBM_CPM_UART2 0x00000008 /* serial port 2 */
+#define IBM_CPM_UART3 0x00000004 /* serial port 3 */
+#define IBM_CPM_USB2D 0x00000002 /* USB 2.0 Device */
+#define IBM_CPM_USB2H 0x00000001 /* USB 2.0 Host */
+
+#define DFLT_IBM4xx_PM ~(IBM_CPM_UIC0 | IBM_CPM_UIC1 | IBM_CPM_CPU \
+ | IBM_CPM_EBC | IBM_CPM_BGO | IBM_CPM_FPU \
+ | IBM_CPM_EBM | IBM_CPM_PLB4 | IBM_CPM_3x4 \
+ | IBM_CPM_PLB3 | IBM_CPM_PLB4x3 \
+ | IBM_CPM_EMAC0 | IBM_CPM_TMRCLK \
+ | IBM_CPM_DMA | IBM_CPM_PCI | IBM_CPM_EMAC1)
+
+
+#endif /* __PPC_PLATFORMS_IBM440EP_H */
+#endif /* __KERNEL__ */
diff --git a/arch/ppc/syslib/Makefile b/arch/ppc/syslib/Makefile
--- a/arch/ppc/syslib/Makefile
+++ b/arch/ppc/syslib/Makefile
@@ -11,6 +11,7 @@ obj-$(CONFIG_PPCBUG_NVRAM) +=3D prep_nvram
obj-$(CONFIG_PPC_OCP) +=3D ocp.o
obj-$(CONFIG_IBM_OCP) +=3D ibm_ocp.o
obj-$(CONFIG_44x) +=3D ibm44x_common.o
+obj-$(CONFIG_440EP) +=3D ibm440gx_common.o
obj-$(CONFIG_440GP) +=3D ibm440gp_common.o
obj-$(CONFIG_440GX) +=3D ibm440gx_common.o
obj-$(CONFIG_440SP) +=3D ibm440gx_common.o ibm440sp_common.o
@@ -44,6 +45,7 @@ obj-$(CONFIG_PPC_CHRP) +=3D open_pic.o in
obj-$(CONFIG_PPC_PREP) +=3D open_pic.o indirect_pci.o i8259.o todc_time.o
obj-$(CONFIG_ADIR) +=3D i8259.o indirect_pci.o pci_auto.o \
todc_time.o
+obj-$(CONFIG_BAMBOO) +=3D indirect_pci.o pci_auto.o todc_time.o
obj-$(CONFIG_CPCI690) +=3D todc_time.o pci_auto.o
obj-$(CONFIG_EBONY) +=3D indirect_pci.o pci_auto.o todc_time.o
obj-$(CONFIG_EV64260) +=3D todc_time.o pci_auto.o
diff --git a/arch/ppc/syslib/ibm440gx_common.c b/arch/ppc/syslib/ibm440gx_c=
ommon.c
--- a/arch/ppc/syslib/ibm440gx_common.c
+++ b/arch/ppc/syslib/ibm440gx_common.c
@@ -34,6 +34,10 @@ void __init ibm440gx_get_clocks(struct i
u32 plld =3D CPR_READ(DCRN_CPR_PLLD);
u32 uart0 =3D SDR_READ(DCRN_SDR_UART0);
u32 uart1 =3D SDR_READ(DCRN_SDR_UART1);
+#ifdef CONFIG_440EP
+ u32 uart2 =3D SDR_READ(DCRN_SDR_UART2);
+ u32 uart3 =3D SDR_READ(DCRN_SDR_UART3);
+#endif
=20
/* Dividers */
u32 fbdv =3D __fix_zero((plld >> 24) & 0x1f, 32);
@@ -96,6 +100,17 @@ bypass:
p->uart1 =3D ser_clk;
else
p->uart1 =3D p->plb / __fix_zero(uart1 & 0xff, 256);
+#ifdef CONFIG_440EP
+ if (uart2 & 0x00800000)
+ p->uart2 =3D ser_clk;
+ else
+ p->uart2 =3D p->plb / __fix_zero(uart2 & 0xff, 256);
+=09
+ if (uart3 & 0x00800000)
+ p->uart3 =3D ser_clk;
+ else
+ p->uart3 =3D p->plb / __fix_zero(uart3 & 0xff, 256);
+#endif
}
=20
/* Issue L2C diagnostic command */
diff --git a/arch/ppc/syslib/ibm44x_common.h b/arch/ppc/syslib/ibm44x_commo=
n.h
--- a/arch/ppc/syslib/ibm44x_common.h
+++ b/arch/ppc/syslib/ibm44x_common.h
@@ -29,6 +29,10 @@ struct ibm44x_clocks {
unsigned int ebc; /* PerClk */
unsigned int uart0;
unsigned int uart1;
+#ifdef CONFIG_440EP
+ unsigned int uart2;
+ unsigned int uart3;
+#endif
};
=20
/* common 44x platform init */
diff --git a/include/asm-ppc/ibm44x.h b/include/asm-ppc/ibm44x.h
--- a/include/asm-ppc/ibm44x.h
+++ b/include/asm-ppc/ibm44x.h
@@ -35,8 +35,10 @@
#define PPC44x_LOW_SLOT 63
=20
/* LS 32-bits of UART0 physical address location for early serial text deb=
ug */
-#ifdef CONFIG_440SP
+#if defined(CONFIG_440SP)
#define UART0_PHYS_IO_BASE 0xf0000200
+#elif defined(CONFIG_440EP)
+#define UART0_PHYS_IO_BASE 0xe0000000
#else
#define UART0_PHYS_IO_BASE 0x40000200
#endif
@@ -49,11 +51,16 @@
/*
* Standard 4GB "page" definitions
*/
-#ifdef CONFIG_440SP
+#if defined(CONFIG_440SP)
#define PPC44x_IO_PAGE 0x0000000100000000ULL
#define PPC44x_PCICFG_PAGE 0x0000000900000000ULL
#define PPC44x_PCIIO_PAGE PPC44x_PCICFG_PAGE
#define PPC44x_PCIMEM_PAGE 0x0000000a00000000ULL
+#elif defined(CONFIG_440EP)
+#define PPC44x_IO_PAGE 0x0000000000000000ULL
+#define PPC44x_PCICFG_PAGE 0x0000000000000000ULL
+#define PPC44x_PCIIO_PAGE PPC44x_PCICFG_PAGE
+#define PPC44x_PCIMEM_PAGE 0x0000000000000000ULL
#else
#define PPC44x_IO_PAGE 0x0000000100000000ULL
#define PPC44x_PCICFG_PAGE 0x0000000200000000ULL
@@ -64,7 +71,7 @@
/*
* 36-bit trap ranges
*/
-#ifdef CONFIG_440SP
+#if defined(CONFIG_440SP)
#define PPC44x_IO_LO 0xf0000000UL
#define PPC44x_IO_HI 0xf0000fffUL
#define PPC44x_PCI0CFG_LO 0x0ec00000UL
@@ -75,6 +82,13 @@
#define PPC44x_PCI2CFG_HI 0x2ec00007UL
#define PPC44x_PCIMEM_LO 0x80000000UL
#define PPC44x_PCIMEM_HI 0xdfffffffUL
+#elif defined(CONFIG_440EP)
+#define PPC44x_IO_LO 0xef500000UL
+#define PPC44x_IO_HI 0xefffffffUL
+#define PPC44x_PCI0CFG_LO 0xeec00000UL
+#define PPC44x_PCI0CFG_HI 0xeecfffffUL
+#define PPC44x_PCIMEM_LO 0xa0000000UL
+#define PPC44x_PCIMEM_HI 0xdfffffffUL
#else
#define PPC44x_IO_LO 0x40000000UL
#define PPC44x_IO_HI 0x40000fffUL
@@ -152,6 +166,12 @@
#define DCRN_SDR_UART0 0x0120
#define DCRN_SDR_UART1 0x0121
=20
+#ifdef CONFIG_440EP
+#define DCRN_SDR_UART2 0x0122
+#define DCRN_SDR_UART3 0x0123
+#define DCRN_SDR_CUST0 0x4000
+#endif
+
/* SDR read/write helper macros */
#define SDR_READ(offset) ({\
mtdcr(DCRN_SDR_CONFIG_ADDR, offset); \
@@ -169,6 +189,14 @@
#define DCRNCAP_DMA_SG 1 /* have DMA scatter/gather capability */
#define DCRN_MAL_BASE 0x180
=20
+#ifdef CONFIG_440EP
+#define DCRN_DMA2P40_BASE 0x300
+#define DCRN_DMA2P41_BASE 0x308
+#define DCRN_DMA2P42_BASE 0x310
+#define DCRN_DMA2P43_BASE 0x318
+#define DCRN_DMA2P4SR_BASE 0x320
+#endif
+
/* UIC */
#define DCRN_UIC0_BASE 0xc0
#define DCRN_UIC1_BASE 0xd0
diff --git a/include/asm-ppc/ibm4xx.h b/include/asm-ppc/ibm4xx.h
--- a/include/asm-ppc/ibm4xx.h
+++ b/include/asm-ppc/ibm4xx.h
@@ -97,6 +97,10 @@ void ppc4xx_init(unsigned long r3, unsig
=20
#elif CONFIG_44x
=20
+#if defined(CONFIG_BAMBOO)
+#include <platforms/4xx/bamboo.h>
+#endif
+
#if defined(CONFIG_EBONY)
#include <platforms/4xx/ebony.h>
#endif
diff --git a/include/asm-ppc/ppc_asm.h b/include/asm-ppc/ppc_asm.h
--- a/include/asm-ppc/ppc_asm.h
+++ b/include/asm-ppc/ppc_asm.h
@@ -186,6 +186,12 @@ END_FTR_SECTION_IFCLR(CPU_FTR_601)
#define PPC405_ERR77_SYNC
#endif
=20
+#ifdef CONFIG_IBM440EP_ERR42
+#define PPC440EP_ERR42 isync
+#else
+#define PPC440EP_ERR42
+#endif
+
/* The boring bits... */
=20
/* Condition Register Bit Fields */
^ permalink raw reply
* [PATCH][3/3] ppc32: add bamboo defconfig
From: Matt Porter @ 2005-07-27 17:34 UTC (permalink / raw)
To: akpm; +Cc: linux-kernel, linuxppc-embedded
In-Reply-To: <11224856632322@foobar.com>
Add Bamboo platform defconfig
Signed-off-by: Wade Farnsworth <wfarnsworth@mvista.com>
Signed-off-by: Matt Porter <mporter@kernel.crashing.org>
diff --git a/arch/ppc/configs/bamboo_defconfig b/arch/ppc/configs/bamboo_de=
fconfig
new file mode 100644
--- /dev/null
+++ b/arch/ppc/configs/bamboo_defconfig
@@ -0,0 +1,943 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.12
+# Tue Jun 28 15:24:25 2005
+#
+CONFIG_MMU=3Dy
+CONFIG_GENERIC_HARDIRQS=3Dy
+CONFIG_RWSEM_XCHGADD_ALGORITHM=3Dy
+CONFIG_GENERIC_CALIBRATE_DELAY=3Dy
+CONFIG_HAVE_DEC_LOCK=3Dy
+CONFIG_PPC=3Dy
+CONFIG_PPC32=3Dy
+CONFIG_GENERIC_NVRAM=3Dy
+CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=3Dy
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=3Dy
+CONFIG_CLEAN_COMPILE=3Dy
+CONFIG_BROKEN_ON_SMP=3Dy
+CONFIG_INIT_ENV_ARG_LIMIT=3D32
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION=3D""
+CONFIG_SWAP=3Dy
+CONFIG_SYSVIPC=3Dy
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+CONFIG_SYSCTL=3Dy
+# CONFIG_AUDIT is not set
+# CONFIG_HOTPLUG is not set
+CONFIG_KOBJECT_UEVENT=3Dy
+# CONFIG_IKCONFIG is not set
+CONFIG_EMBEDDED=3Dy
+CONFIG_KALLSYMS=3Dy
+# CONFIG_KALLSYMS_ALL is not set
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_PRINTK=3Dy
+CONFIG_BUG=3Dy
+CONFIG_BASE_FULL=3Dy
+CONFIG_FUTEX=3Dy
+CONFIG_EPOLL=3Dy
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_SHMEM=3Dy
+CONFIG_CC_ALIGN_FUNCTIONS=3D0
+CONFIG_CC_ALIGN_LABELS=3D0
+CONFIG_CC_ALIGN_LOOPS=3D0
+CONFIG_CC_ALIGN_JUMPS=3D0
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=3D0
+
+#
+# Loadable module support
+#
+CONFIG_MODULES=3Dy
+CONFIG_MODULE_UNLOAD=3Dy
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+CONFIG_OBSOLETE_MODPARM=3Dy
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_KMOD=3Dy
+
+#
+# Processor
+#
+# CONFIG_6xx is not set
+# CONFIG_40x is not set
+CONFIG_44x=3Dy
+# CONFIG_POWER3 is not set
+# CONFIG_POWER4 is not set
+# CONFIG_8xx is not set
+# CONFIG_E200 is not set
+# CONFIG_E500 is not set
+CONFIG_PPC_FPU=3Dy
+CONFIG_BOOKE=3Dy
+CONFIG_PTE_64BIT=3Dy
+CONFIG_PHYS_64BIT=3Dy
+# CONFIG_MATH_EMULATION is not set
+# CONFIG_KEXEC is not set
+# CONFIG_CPU_FREQ is not set
+CONFIG_4xx=3Dy
+
+#
+# IBM 4xx options
+#
+CONFIG_BAMBOO=3Dy
+# CONFIG_EBONY is not set
+# CONFIG_LUAN is not set
+# CONFIG_OCOTEA is not set
+CONFIG_440EP=3Dy
+CONFIG_440=3Dy
+CONFIG_IBM440EP_ERR42=3Dy
+CONFIG_IBM_OCP=3Dy
+# CONFIG_PPC4xx_DMA is not set
+CONFIG_PPC_GEN550=3Dy
+# CONFIG_PM is not set
+CONFIG_NOT_COHERENT_CACHE=3Dy
+
+#
+# Platform options
+#
+# CONFIG_PC_KEYBOARD is not set
+# CONFIG_SMP is not set
+# CONFIG_PREEMPT is not set
+# CONFIG_HIGHMEM is not set
+CONFIG_SELECT_MEMORY_MODEL=3Dy
+CONFIG_FLATMEM_MANUAL=3Dy
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=3Dy
+CONFIG_FLAT_NODE_MEM_MAP=3Dy
+CONFIG_BINFMT_ELF=3Dy
+# CONFIG_BINFMT_MISC is not set
+CONFIG_CMDLINE_BOOL=3Dy
+CONFIG_CMDLINE=3D"ip=3Don"
+CONFIG_SECCOMP=3Dy
+CONFIG_ISA_DMA_API=3Dy
+
+#
+# Bus options
+#
+CONFIG_PCI=3Dy
+CONFIG_PCI_DOMAINS=3Dy
+# CONFIG_PCI_LEGACY_PROC is not set
+# CONFIG_PCI_NAMES is not set
+# CONFIG_PCI_DEBUG is not set
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+# CONFIG_PCCARD is not set
+
+#
+# Advanced setup
+#
+# CONFIG_ADVANCED_OPTIONS is not set
+
+#
+# Default settings for advanced configuration options are used
+#
+CONFIG_HIGHMEM_START=3D0xfe000000
+CONFIG_LOWMEM_SIZE=3D0x30000000
+CONFIG_KERNEL_START=3D0xc0000000
+CONFIG_TASK_SIZE=3D0x80000000
+CONFIG_CONSISTENT_START=3D0xff100000
+CONFIG_CONSISTENT_SIZE=3D0x00200000
+CONFIG_BOOT_LOAD=3D0x01000000
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+# CONFIG_STANDALONE is not set
+CONFIG_PREVENT_FIRMWARE_BUILD=3Dy
+# CONFIG_FW_LOADER is not set
+# CONFIG_DEBUG_DRIVER is not set
+
+#
+# Memory Technology Devices (MTD)
+#
+# CONFIG_MTD is not set
+
+#
+# Parallel port support
+#
+# CONFIG_PARPORT is not set
+
+#
+# Plug and Play support
+#
+
+#
+# Block devices
+#
+# CONFIG_BLK_DEV_FD is not set
+# CONFIG_BLK_CPQ_DA is not set
+# CONFIG_BLK_CPQ_CISS_DA is not set
+# CONFIG_BLK_DEV_DAC960 is not set
+# CONFIG_BLK_DEV_UMEM is not set
+# CONFIG_BLK_DEV_COW_COMMON is not set
+# CONFIG_BLK_DEV_LOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_SX8 is not set
+# CONFIG_BLK_DEV_UB is not set
+# CONFIG_BLK_DEV_RAM is not set
+CONFIG_BLK_DEV_RAM_COUNT=3D16
+CONFIG_INITRAMFS_SOURCE=3D""
+# CONFIG_LBD is not set
+# CONFIG_CDROM_PKTCDVD is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=3Dy
+CONFIG_IOSCHED_AS=3Dy
+CONFIG_IOSCHED_DEADLINE=3Dy
+CONFIG_IOSCHED_CFQ=3Dy
+# CONFIG_ATA_OVER_ETH is not set
+
+#
+# ATA/ATAPI/MFM/RLL support
+#
+CONFIG_IDE=3Dy
+CONFIG_BLK_DEV_IDE=3Dy
+
+#
+# Please see Documentation/ide.txt for help/info on IDE drives
+#
+# CONFIG_BLK_DEV_IDE_SATA is not set
+CONFIG_BLK_DEV_IDEDISK=3Dy
+# CONFIG_IDEDISK_MULTI_MODE is not set
+# CONFIG_BLK_DEV_IDECD is not set
+# CONFIG_BLK_DEV_IDETAPE is not set
+# CONFIG_BLK_DEV_IDEFLOPPY is not set
+# CONFIG_BLK_DEV_IDESCSI is not set
+# CONFIG_IDE_TASK_IOCTL is not set
+
+#
+# IDE chipset support/bugfixes
+#
+CONFIG_IDE_GENERIC=3Dy
+CONFIG_BLK_DEV_IDEPCI=3Dy
+# CONFIG_IDEPCI_SHARE_IRQ is not set
+# CONFIG_BLK_DEV_OFFBOARD is not set
+# CONFIG_BLK_DEV_GENERIC is not set
+# CONFIG_BLK_DEV_OPTI621 is not set
+# CONFIG_BLK_DEV_SL82C105 is not set
+CONFIG_BLK_DEV_IDEDMA_PCI=3Dy
+# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
+# CONFIG_IDEDMA_PCI_AUTO is not set
+# CONFIG_BLK_DEV_AEC62XX is not set
+# CONFIG_BLK_DEV_ALI15X3 is not set
+# CONFIG_BLK_DEV_AMD74XX is not set
+CONFIG_BLK_DEV_CMD64X=3Dy
+# CONFIG_BLK_DEV_TRIFLEX is not set
+# CONFIG_BLK_DEV_CY82C693 is not set
+# CONFIG_BLK_DEV_CS5520 is not set
+# CONFIG_BLK_DEV_CS5530 is not set
+# CONFIG_BLK_DEV_HPT34X is not set
+# CONFIG_BLK_DEV_HPT366 is not set
+# CONFIG_BLK_DEV_SC1200 is not set
+# CONFIG_BLK_DEV_PIIX is not set
+# CONFIG_BLK_DEV_IT821X is not set
+# CONFIG_BLK_DEV_NS87415 is not set
+# CONFIG_BLK_DEV_PDC202XX_OLD is not set
+# CONFIG_BLK_DEV_PDC202XX_NEW is not set
+# CONFIG_BLK_DEV_SVWKS is not set
+# CONFIG_BLK_DEV_SIIMAGE is not set
+# CONFIG_BLK_DEV_SLC90E66 is not set
+# CONFIG_BLK_DEV_TRM290 is not set
+# CONFIG_BLK_DEV_VIA82CXXX is not set
+# CONFIG_IDE_ARM is not set
+CONFIG_BLK_DEV_IDEDMA=3Dy
+# CONFIG_IDEDMA_IVB is not set
+# CONFIG_IDEDMA_AUTO is not set
+# CONFIG_BLK_DEV_HD is not set
+
+#
+# SCSI device support
+#
+CONFIG_SCSI=3Dy
+CONFIG_SCSI_PROC_FS=3Dy
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+# CONFIG_BLK_DEV_SD is not set
+CONFIG_CHR_DEV_ST=3Dy
+# CONFIG_CHR_DEV_OSST is not set
+# CONFIG_BLK_DEV_SR is not set
+# CONFIG_CHR_DEV_SG is not set
+# CONFIG_CHR_DEV_SCH is not set
+
+#
+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+#
+# CONFIG_SCSI_MULTI_LUN is not set
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+
+#
+# SCSI Transport Attributes
+#
+CONFIG_SCSI_SPI_ATTRS=3Dy
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+
+#
+# SCSI low-level drivers
+#
+# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
+# CONFIG_SCSI_3W_9XXX is not set
+# CONFIG_SCSI_ACARD is not set
+# CONFIG_SCSI_AACRAID is not set
+# CONFIG_SCSI_AIC7XXX is not set
+# CONFIG_SCSI_AIC7XXX_OLD is not set
+# CONFIG_SCSI_AIC79XX is not set
+# CONFIG_SCSI_DPT_I2O is not set
+# CONFIG_MEGARAID_NEWGEN is not set
+# CONFIG_MEGARAID_LEGACY is not set
+# CONFIG_SCSI_SATA is not set
+# CONFIG_SCSI_BUSLOGIC is not set
+# CONFIG_SCSI_DMX3191D is not set
+# CONFIG_SCSI_EATA is not set
+# CONFIG_SCSI_FUTURE_DOMAIN is not set
+# CONFIG_SCSI_GDTH is not set
+# CONFIG_SCSI_IPS is not set
+# CONFIG_SCSI_INITIO is not set
+# CONFIG_SCSI_INIA100 is not set
+CONFIG_SCSI_SYM53C8XX_2=3Dy
+CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=3D1
+CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=3D16
+CONFIG_SCSI_SYM53C8XX_MAX_TAGS=3D64
+# CONFIG_SCSI_SYM53C8XX_IOMAPPED is not set
+# CONFIG_SCSI_IPR is not set
+# CONFIG_SCSI_QLOGIC_FC is not set
+# CONFIG_SCSI_QLOGIC_1280 is not set
+CONFIG_SCSI_QLA2XXX=3Dy
+# CONFIG_SCSI_QLA21XX is not set
+# CONFIG_SCSI_QLA22XX is not set
+# CONFIG_SCSI_QLA2300 is not set
+# CONFIG_SCSI_QLA2322 is not set
+# CONFIG_SCSI_QLA6312 is not set
+# CONFIG_SCSI_LPFC is not set
+# CONFIG_SCSI_DC395x is not set
+# CONFIG_SCSI_DC390T is not set
+# CONFIG_SCSI_NSP32 is not set
+# CONFIG_SCSI_DEBUG is not set
+
+#
+# Multi-device support (RAID and LVM)
+#
+# CONFIG_MD is not set
+
+#
+# Fusion MPT device support
+#
+# CONFIG_FUSION is not set
+# CONFIG_FUSION_SPI is not set
+# CONFIG_FUSION_FC is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+# CONFIG_IEEE1394 is not set
+
+#
+# I2O device support
+#
+# CONFIG_I2O is not set
+
+#
+# Macintosh device drivers
+#
+
+#
+# Networking support
+#
+CONFIG_NET=3Dy
+
+#
+# Networking options
+#
+CONFIG_PACKET=3Dy
+# CONFIG_PACKET_MMAP is not set
+CONFIG_UNIX=3Dy
+# CONFIG_NET_KEY is not set
+CONFIG_INET=3Dy
+# CONFIG_IP_MULTICAST is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=3Dy
+CONFIG_IP_PNP=3Dy
+# CONFIG_IP_PNP_DHCP is not set
+CONFIG_IP_PNP_BOOTP=3Dy
+# CONFIG_IP_PNP_RARP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_ARPD is not set
+# CONFIG_SYN_COOKIES is not set
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_TUNNEL is not set
+CONFIG_IP_TCPDIAG=3Dy
+# CONFIG_IP_TCPDIAG_IPV6 is not set
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_BIC=3Dy
+
+#
+# IP: Virtual Server Configuration
+#
+# CONFIG_IP_VS is not set
+# CONFIG_IPV6 is not set
+CONFIG_NETFILTER=3Dy
+# CONFIG_NETFILTER_DEBUG is not set
+
+#
+# IP: Netfilter Configuration
+#
+# CONFIG_IP_NF_CONNTRACK is not set
+# CONFIG_IP_NF_CONNTRACK_MARK is not set
+# CONFIG_IP_NF_QUEUE is not set
+# CONFIG_IP_NF_IPTABLES is not set
+# CONFIG_IP_NF_ARPTABLES is not set
+
+#
+# SCTP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_SCTP is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_NET_DIVERT is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+
+#
+# QoS and/or fair queueing
+#
+# CONFIG_NET_SCHED is not set
+# CONFIG_NET_CLS_ROUTE is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+# CONFIG_HAMRADIO is not set
+# CONFIG_IRDA is not set
+# CONFIG_BT is not set
+CONFIG_NETDEVICES=3Dy
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+# CONFIG_TUN is not set
+
+#
+# ARCnet devices
+#
+# CONFIG_ARCNET is not set
+
+#
+# Ethernet (10 or 100Mbit)
+#
+CONFIG_NET_ETHERNET=3Dy
+CONFIG_MII=3Dy
+# CONFIG_HAPPYMEAL is not set
+# CONFIG_SUNGEM is not set
+# CONFIG_NET_VENDOR_3COM is not set
+
+#
+# Tulip family network device support
+#
+# CONFIG_NET_TULIP is not set
+# CONFIG_HP100 is not set
+CONFIG_IBM_EMAC=3Dy
+# CONFIG_IBM_EMAC_ERRMSG is not set
+CONFIG_IBM_EMAC_RXB=3D64
+CONFIG_IBM_EMAC_TXB=3D8
+CONFIG_IBM_EMAC_FGAP=3D8
+CONFIG_IBM_EMAC_SKBRES=3D0
+CONFIG_NET_PCI=3Dy
+# CONFIG_PCNET32 is not set
+# CONFIG_AMD8111_ETH is not set
+# CONFIG_ADAPTEC_STARFIRE is not set
+# CONFIG_B44 is not set
+# CONFIG_FORCEDETH is not set
+# CONFIG_DGRS is not set
+CONFIG_EEPRO100=3Dy
+# CONFIG_E100 is not set
+# CONFIG_FEALNX is not set
+CONFIG_NATSEMI=3Dy
+# CONFIG_NE2K_PCI is not set
+# CONFIG_8139CP is not set
+# CONFIG_8139TOO is not set
+# CONFIG_SIS900 is not set
+# CONFIG_EPIC100 is not set
+# CONFIG_SUNDANCE is not set
+# CONFIG_TLAN is not set
+# CONFIG_VIA_RHINE is not set
+
+#
+# Ethernet (1000 Mbit)
+#
+# CONFIG_ACENIC is not set
+# CONFIG_DL2K is not set
+CONFIG_E1000=3Dy
+# CONFIG_E1000_NAPI is not set
+# CONFIG_NS83820 is not set
+# CONFIG_HAMACHI is not set
+# CONFIG_YELLOWFIN is not set
+# CONFIG_R8169 is not set
+# CONFIG_SKGE is not set
+# CONFIG_SK98LIN is not set
+# CONFIG_VIA_VELOCITY is not set
+# CONFIG_TIGON3 is not set
+# CONFIG_BNX2 is not set
+
+#
+# Ethernet (10000 Mbit)
+#
+# CONFIG_IXGB is not set
+# CONFIG_S2IO is not set
+
+#
+# Token Ring devices
+#
+# CONFIG_TR is not set
+
+#
+# Wireless LAN (non-hamradio)
+#
+# CONFIG_NET_RADIO is not set
+
+#
+# Wan interfaces
+#
+# CONFIG_WAN is not set
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+# CONFIG_PPP is not set
+# CONFIG_SLIP is not set
+# CONFIG_NET_FC is not set
+# CONFIG_SHAPER is not set
+# CONFIG_NETCONSOLE is not set
+
+#
+# ISDN subsystem
+#
+# CONFIG_ISDN is not set
+
+#
+# Telephony Support
+#
+# CONFIG_PHONE is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=3Dy
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=3Dy
+CONFIG_INPUT_MOUSEDEV_PSAUX=3Dy
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=3D1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=3D768
+# CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_TSDEV is not set
+# CONFIG_INPUT_EVDEV is not set
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+# CONFIG_INPUT_KEYBOARD is not set
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_INPUT_JOYSTICK is not set
+# CONFIG_INPUT_TOUCHSCREEN is not set
+# CONFIG_INPUT_MISC is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=3Dy
+# CONFIG_SERIO_I8042 is not set
+# CONFIG_SERIO_SERPORT is not set
+# CONFIG_SERIO_PCIPS2 is not set
+# CONFIG_SERIO_LIBPS2 is not set
+# CONFIG_SERIO_RAW is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+# CONFIG_VT is not set
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=3Dy
+CONFIG_SERIAL_8250_CONSOLE=3Dy
+CONFIG_SERIAL_8250_NR_UARTS=3D4
+CONFIG_SERIAL_8250_EXTENDED=3Dy
+# CONFIG_SERIAL_8250_MANY_PORTS is not set
+CONFIG_SERIAL_8250_SHARE_IRQ=3Dy
+# CONFIG_SERIAL_8250_DETECT_IRQ is not set
+# CONFIG_SERIAL_8250_RSA is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_CORE=3Dy
+CONFIG_SERIAL_CORE_CONSOLE=3Dy
+# CONFIG_SERIAL_JSM is not set
+CONFIG_UNIX98_PTYS=3Dy
+CONFIG_LEGACY_PTYS=3Dy
+CONFIG_LEGACY_PTY_COUNT=3D256
+
+#
+# IPMI
+#
+# CONFIG_IPMI_HANDLER is not set
+
+#
+# Watchdog Cards
+#
+# CONFIG_WATCHDOG is not set
+# CONFIG_NVRAM is not set
+# CONFIG_GEN_RTC is not set
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+# CONFIG_APPLICOM is not set
+
+#
+# Ftape, the floppy tape device driver
+#
+# CONFIG_AGP is not set
+# CONFIG_DRM is not set
+# CONFIG_RAW_DRIVER is not set
+
+#
+# TPM devices
+#
+# CONFIG_TCG_TPM is not set
+
+#
+# I2C support
+#
+# CONFIG_I2C is not set
+
+#
+# Dallas's 1-wire bus
+#
+# CONFIG_W1 is not set
+
+#
+# Misc devices
+#
+
+#
+# Multimedia devices
+#
+# CONFIG_VIDEO_DEV is not set
+
+#
+# Digital Video Broadcasting Devices
+#
+# CONFIG_DVB is not set
+
+#
+# Graphics support
+#
+# CONFIG_FB is not set
+
+#
+# Sound
+#
+# CONFIG_SOUND is not set
+
+#
+# USB support
+#
+CONFIG_USB_ARCH_HAS_HCD=3Dy
+CONFIG_USB_ARCH_HAS_OHCI=3Dy
+CONFIG_USB=3Dy
+CONFIG_USB_DEBUG=3Dy
+
+#
+# Miscellaneous USB options
+#
+# CONFIG_USB_DEVICEFS is not set
+# CONFIG_USB_BANDWIDTH is not set
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_OTG is not set
+
+#
+# USB Host Controller Drivers
+#
+# CONFIG_USB_EHCI_HCD is not set
+# CONFIG_USB_ISP116X_HCD is not set
+# CONFIG_USB_OHCI_HCD is not set
+# CONFIG_USB_UHCI_HCD is not set
+# CONFIG_USB_SL811_HCD is not set
+
+#
+# USB Device Class drivers
+#
+# CONFIG_USB_BLUETOOTH_TTY is not set
+# CONFIG_USB_ACM is not set
+# CONFIG_USB_PRINTER is not set
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be need=
ed; see USB_STORAGE Help for more information
+#
+# CONFIG_USB_STORAGE is not set
+
+#
+# USB Input Devices
+#
+# CONFIG_USB_HID is not set
+
+#
+# USB HID Boot Protocol drivers
+#
+# CONFIG_USB_KBD is not set
+# CONFIG_USB_MOUSE is not set
+# CONFIG_USB_AIPTEK is not set
+# CONFIG_USB_WACOM is not set
+# CONFIG_USB_ACECAD is not set
+# CONFIG_USB_KBTAB is not set
+# CONFIG_USB_POWERMATE is not set
+# CONFIG_USB_MTOUCH is not set
+# CONFIG_USB_ITMTOUCH is not set
+# CONFIG_USB_EGALAX is not set
+# CONFIG_USB_XPAD is not set
+# CONFIG_USB_ATI_REMOTE is not set
+
+#
+# USB Imaging devices
+#
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USB_MICROTEK is not set
+
+#
+# USB Multimedia devices
+#
+# CONFIG_USB_DABUSB is not set
+
+#
+# Video4Linux support is needed for USB Multimedia device support
+#
+
+#
+# USB Network Adapters
+#
+# CONFIG_USB_CATC is not set
+# CONFIG_USB_KAWETH is not set
+CONFIG_USB_PEGASUS=3Dy
+# CONFIG_USB_RTL8150 is not set
+# CONFIG_USB_USBNET is not set
+CONFIG_USB_MON=3Dy
+
+#
+# USB port drivers
+#
+
+#
+# USB Serial Converter support
+#
+# CONFIG_USB_SERIAL is not set
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_EMI62 is not set
+# CONFIG_USB_EMI26 is not set
+# CONFIG_USB_AUERSWALD is not set
+# CONFIG_USB_RIO500 is not set
+# CONFIG_USB_LEGOTOWER is not set
+# CONFIG_USB_LCD is not set
+# CONFIG_USB_LED is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_PHIDGETKIT is not set
+# CONFIG_USB_PHIDGETSERVO is not set
+# CONFIG_USB_IDMOUSE is not set
+
+#
+# USB DSL modem support
+#
+
+#
+# USB Gadget Support
+#
+# CONFIG_USB_GADGET is not set
+
+#
+# MMC/SD Card support
+#
+# CONFIG_MMC is not set
+
+#
+# InfiniBand support
+#
+# CONFIG_INFINIBAND is not set
+
+#
+# SN Devices
+#
+
+#
+# File systems
+#
+# CONFIG_EXT2_FS is not set
+# CONFIG_EXT3_FS is not set
+# CONFIG_JBD is not set
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+
+#
+# XFS support
+#
+# CONFIG_XFS_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_ROMFS_FS is not set
+# CONFIG_QUOTA is not set
+CONFIG_DNOTIFY=3Dy
+# CONFIG_AUTOFS_FS is not set
+# CONFIG_AUTOFS4_FS is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+# CONFIG_MSDOS_FS is not set
+# CONFIG_VFAT_FS is not set
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=3Dy
+CONFIG_PROC_KCORE=3Dy
+CONFIG_SYSFS=3Dy
+# CONFIG_DEVPTS_FS_XATTR is not set
+# CONFIG_TMPFS is not set
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_RAMFS=3Dy
+
+#
+# Miscellaneous filesystems
+#
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_CRAMFS is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+
+#
+# Network File Systems
+#
+CONFIG_NFS_FS=3Dy
+# CONFIG_NFS_V3 is not set
+# CONFIG_NFS_V4 is not set
+# CONFIG_NFS_DIRECTIO is not set
+# CONFIG_NFSD is not set
+CONFIG_ROOT_NFS=3Dy
+CONFIG_LOCKD=3Dy
+CONFIG_NFS_COMMON=3Dy
+CONFIG_SUNRPC=3Dy
+# CONFIG_RPCSEC_GSS_KRB5 is not set
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+# CONFIG_SMB_FS is not set
+# CONFIG_CIFS is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+
+#
+# Partition Types
+#
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_MSDOS_PARTITION=3Dy
+
+#
+# Native Language Support
+#
+# CONFIG_NLS is not set
+
+#
+# Library routines
+#
+# CONFIG_CRC_CCITT is not set
+CONFIG_CRC32=3Dy
+# CONFIG_LIBCRC32C is not set
+
+#
+# Profiling support
+#
+# CONFIG_PROFILING is not set
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_DEBUG_KERNEL=3Dy
+CONFIG_MAGIC_SYSRQ=3Dy
+CONFIG_LOG_BUF_SHIFT=3D14
+# CONFIG_SCHEDSTATS is not set
+# CONFIG_DEBUG_SLAB is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_KOBJECT is not set
+CONFIG_DEBUG_INFO=3Dy
+# CONFIG_DEBUG_FS is not set
+# CONFIG_KGDB is not set
+# CONFIG_XMON is not set
+CONFIG_BDI_SWITCH=3Dy
+# CONFIG_SERIAL_TEXT_DEBUG is not set
+CONFIG_PPC_OCP=3Dy
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+
+#
+# Cryptographic options
+#
+# CONFIG_CRYPTO is not set
+
+#
+# Hardware crypto devices
+#
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox