PCI target implementation on AMCC PPC CPUs
Leonid
Leonid at a-k-a.net
Fri Sep 7 12:13:32 EST 2007
Hi:
You want to say PPC440GP cannot be PCI slave without this non-transparent bridge because as David said its "interrupt pin register hardwired to zero" or there other reasons?
I'm trying to use PPC440ep(or epx) and from its datasheet I don't see anything about this zero hardwiring. Does it mean "vanilla" PPC440ep will work?
And what did you use for PCI Host?
Also, is your code available somwhere?
Thanks,
Leonid.
-----Original Message-----
From: sdeven.lee [mailto:sdeven.lee at 163.com]
Sent: Thursday, September 06, 2007 7:04 PM
To: David Hawkins
Cc: Leonid; linuxppc-embedded
Subject: Re: Re: PCI target implementation on AMCC PPC CPUs
David Hawkins,您好!
I have been finished an application using AMCC PPC440GP as PCI target(slave) in the last 2 month.I use a non-transparent bridge(AMCC PCI6466) to make the device a target(slave) like david has said.
======= 2007-09-07 04:26:01 您在来信中写道:=======
>Hi Leonid,
>
>In case they are not in the document:
>
>There are several fundamental problems with the AMCC 440EP acting as a
>PCI target/slave;
>
>1. As a PCI target, there is only one way to generate
> an interrupt to a host; you basically toggle the
> interrupt pin. This makes it tricky to develop a
> host-to-slave communications protocol, eg. its
> hard to use the single interrupt to indicate various
> interrupt states, eg. target-to-host buffer has
> data versus host-to-target buffer has been emptied.
> Ideally AMCC should have implemented mailboxes and/or
> doorbell registers like any other sane PCI target
> device (eg. some the Freescale processors, or any of
> the PLX technologies chips).
>
>2. Look in the data sheet and see if you can figure out
> how the host processor can generate an interrupt to
> the PowerPC core ... oops, you can't. That kind of
> makes it difficult to work with doesn't it.
>
> A work around would be to have the host write to the
> GPIO register and wire a GPIO pin back to an external
> interrupt pin. Then you would not be able to use any
> other GPIO pin in that GPIO register since there is
> no way to arbitrate host access versus PowerPC core
> access.
>
>This was the other reason I ditched the AMCC part in favor of the
>Freescale part.
>
>If you are looking at other parts, make sure you look in the PCI
>configuration space of the processor reference manual. Many processors
>have the interrupt pin register hardwired to zero, i.e., they can not
>be used as target devices, only hosts. In that case you'd have to add
>an intel 21555 non-transparent bridge to make the device a target.
>
>Cheers,
>Dave
>
>_______________________________________________
>Linuxppc-embedded mailing list
>Linuxppc-embedded at ozlabs.org
>https://ozlabs.org/mailman/listinfo/linuxppc-embedded
= = = = = = = = = = = = = = = = = = = =
致
礼!
sdeven.lee
sdeven.lee at 163.com
2007-09-07
More information about the Linuxppc-embedded
mailing list