Subject: Re: GPIO @ MPC5200

From: Andre Schwarz <[email-masked]>
Date: Fri, 04 Jul 2008 17:10:46 +0200

Grant Likely schrieb:
> On Fri, Jul 04, 2008 at 11:57:14AM +0200, Andre Schwarz wrote:
>   
>> Sascha, Grant,
>>
>> I'm running on 2.6.26-rc6 with an MPC5200B based system.
>>
>> Looks like some (for me) crucial GPIO are touched during boot.
>> Is this possible ?
>>
>> Of course I have compiled in GPIO-Lib and specified the GPIOs in the dts.
>> But no access yet - I'd like to preserve the setup from u-boot...
>>     
>
> The GPIO driver only writes to the GPIO registers when a driver actually
> requests to use them.  At probe time, the gpio drivers read the current
> values from the GPIO registers, so current config should be preserved.
>
> However, the gpiochip_dir hook explicitly sets the output value when it
> is called.  It may be that when you are claiming the GPIO line it is
> getting set with a default (and wrong) value.
>
> Another possibility; have you verified that it is the GPIO regs getting
> clobbered?  Or is port_config getting changed on you?  Which GPIO pins?
>
> g.
>   

The pin in question is PSC2_4, i.e. a wake-up GPIO.
It is configured as push-pull output and driven high.

Since it has an external pull-down resistor I can't say if it is driven
low or re-configured as an input ...

I removed GPIO Lib and the problem is gone.
I'm not yet using it anyway under linux - they're mainly for system
configuration (setting up muxes etc.).

I'll dig into it when I have some time.

thanks,
Andre

MATRIX VISION GmbH, Talstraße 16, DE-71570 Oppenweiler  - Registergericht: Amtsgericht Stuttgart, HRB 271090
Geschäftsführer: Gerhard Thullner, Werner Armingeon, Uwe Furtner