[PATCH] ARM: dts: i.MX27: Configure GPIOs as "input" by default

Lothar Waßmann LW at KARO-electronics.de
Wed Dec 4 06:15:08 EST 2013


Hi,

Alexander Shiyan wrote:
> > > > > > > > On Sat, Nov 30, 2013 at 11:03:20AM +0400, Alexander Shiyan wrote:
> > > > > > > > > This patch changes the default direction for pins used
> > > > > > > > > as GPIO to "input". This prevents a short circuit on the
> > > > > > > > > configuration stage when GPIO-pin is connected to the
> > > > > > > > > other output pin.
> > > > > > > > 
> > > > > > > > Markus,
> > > > > > > > 
> > > > > > > > Does it make sense to you?
> > > > > > > 
> > > > > > > I am not sure if this really happens. However, it does make sense and I
> > > > > > > can't see any disadvantages in changing the default GPIO mux direction to
> > > > > > > input.
> > > > > > > 
> > > > > > What happens, if the bootloader already set up a pin as output and
> > > > > > linux later does the pinconfig stuff?
> > > > > > If the pin is reconfigured as input then, this may produce an unwanted
> > > > > > glitch on the pin. IMO the pinconfig driver should not touch the pin
> > > > > > direction, but leave it to the gpio driver to set that up. 
> > > > > 
> > > > > Such pin can be overridden by board DTS.
> > > > > 
> > > > So, which pins will be configured with the default direction?
> > > > If pins are not stated in DT they should be not configured at all, I
> > > > suppose.
> > > 
> > > Yes. We talk about GPIOs defined in DTS.
> > > Just one example: We have one GPIO pin connected to switch between ground
> > > and resistor to pullup (gpio-key driver). When pinctrl driver will initialize pin for the
> > > driver (before gpio_direction_input() in the driver), direction will be set to output
> > > and this may cause short circuit.
> > > 
> > The pin direction should be determined by the GPIO driver, not the
> 
> Direction determined by driver that use this GPIO pin,
> setup this direction should be by GPIO driver.
> 
> > pinctrl driver. Pins that have been set up correctly by the bootloader
> > must not change their direction when the pinctrl driver reconfigures
> > the pins!
> 
> Yes. But this is another topic for discussion, it does not concern with this patch.
> 
If the pin direction is not being determined by the pinctrl driver the
patch to change the default direction would not be necessary.

Otherwise this patch would try to exorcise the devil with the help of
beelzebub.

A short between to outputs is to be prevented as well as a temporary
reconfiguration of an output pin to input.


Lothar Waßmann
-- 
___________________________________________________________

Ka-Ro electronics GmbH | Pascalstraße 22 | D - 52076 Aachen
Phone: +49 2408 1402-0 | Fax: +49 2408 1402-10
Geschäftsführer: Matthias Kaussen
Handelsregistereintrag: Amtsgericht Aachen, HRB 4996

www.karo-electronics.de | info at karo-electronics.de
___________________________________________________________



More information about the linux-arm-kernel mailing list