
On Tue, Oct 1, 2013 at 5:33 AM, Stefano Babic sbabic@denx.de wrote:
Hi Otavio,
On 30/09/2013 00:15, Otavio Salvador wrote:
The IOMUX_CONFIG_SION allows for reading PAD value from PSR register.
The following quote from the datasheet:
,---- | ... | 28.4.2.2 GPIO Write Mode | The programming sequence for driving output signals should be as follows: | 1. Configure IOMUX to select GPIO mode (Via IOMUXC), also enable SION if need | to read loopback pad value through PSR | 2. Configure GPIO direction register to output (GPIO_GDIR[GDIR] set to 1b). | 3. Write value to data register (GPIO_DR). | ... `----
This fixes the gpio_get_value to properly work when a GPIO is set for output and has no conflicts.
Thanks for Benoît Thébaudeau benoit.thebaudeau@advansee.com, Fabio Estevam fabio.estevam@freescale.com and Eric Bénard eric@eukrea.com for helping to properly trace this down.
Signed-off-by: Otavio Salvador otavio@ossystems.com.br
I come later in the discussion, but I see you all have found the solution ;-).
I suggest you add in the commit message that this patch is only for i.MX6 (if you do not plan to extend it to the other i.MXes...), so that we can track that the same must be done also for the other SOCs.
I think this is clear from the commit prefix.
I am under heavy load now and I cannot check their datasheet to verify if they all need this or not.
If someone does not does it, I can take a look for sure.