From: Andre Schwarz <hidden> Date: 2008-07-04 09:57:17
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...
regards,
Andre
MATRIX VISION GmbH, Talstraße 16, DE-71570 Oppenweiler - Registergericht: Amtsgericht Stuttgart, HRB 271090
Geschäftsführer: Gerhard Thullner, Werner Armingeon, Uwe Furtner
From: Grant Likely <hidden> Date: 2008-07-04 14:37:15
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.
From: Andre Schwarz <hidden> Date: 2008-07-04 15:10:50
Grant Likely schrieb:
On Fri, Jul 04, 2008 at 11:57:14AM +0200, Andre Schwarz wrote:
quoted
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
From: Grant Likely <hidden> Date: 2008-07-04 15:58:11
On Fri, Jul 04, 2008 at 05:10:46PM +0200, Andre Schwarz wrote:
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.
When you do, try adding "#define DEBUG" to the top of mpc52xx_gpio.c and
see what comes out of dmesg.
g.