440gx GPIO

Ed Goforth egoforth at gmail.com
Wed Feb 15 04:10:15 EST 2006


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.

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

Thanks,
Ed



More information about the Linuxppc-embedded mailing list