440gx GPIO

Ed Goforth egoforth at gmail.com
Wed Feb 15 08:47:13 EST 2006


On 2/14/06, Ed Goforth <egoforth at gmail.com> wrote:
> On 2/14/06, Eugene Surovegin <ebs at ebshome.net> wrote:
> > On Tue, Feb 14, 2006 at 08:48:56AM -0500, Ed Goforth wrote:
> > > I posted the original from home, and didn't have the contents of the
> > > config register.  It is
> > > cfg     0x00103e00
> > > Which I interpret as having bit 11 set: "1 Enable GPIO11 as GPIO11"
> > > from the manual.
> > >
> > > I originally tried to call ioremap64(PPC440GX_GPIO0_ADDR,) directly, but got
> > > "unresolved symbol ioremap64".  From inspection of ioremap(), the
> > > fixup for 0x40000700 translates to 0x140000700, and I get the same
> > > values in my code as I see from a "/proc/ocotea/gpio".
> > >
> > > Is my approach valid?
> >
> > It seems to be.
>
> At least I've got that. :)
>
> >
> > Try writing the same GPIO output register value as you read from it
> > (without clearing bit 11). Also, try changing some other GPIO bit
> > (e.g. one which is not connected in your design). Maybe board hangs
> > exactly because you set GPIO bit 11 low :).
>
> I have successfully written back the same values that were read from
> it.  I will try your suggestion about fiddling with other GPIO bits
> that we aren't (supposed to be) using.

Well, I was able to manipulate GPIO9, GPIO10 and GPIO12.  It's time to
turn it over to the hardware people.


> >
> > Also, connect scope to that GPIO pin and see what is really going on.
> >
> > --
> > Eugene
> >

Thanks for your feedback & suggestions.

Ed



More information about the Linuxppc-embedded mailing list