On Wed, Aug 05, 2015 at 03:11:40PM -0300, Fabio Estevam wrote: > Hi Eduardo, > > On Wed, Aug 5, 2015 at 3:02 PM, Eduardo Valentin <edubezval@xxxxxxxxx> wrote: > > > > Hello Fabio, > > > > On Wed, Aug 05, 2015 at 02:43:05PM -0300, Fabio Estevam wrote: > >> Hi Eduardo, > >> > >> On Wed, Aug 5, 2015 at 2:23 PM, Eduardo Valentin <edubezval@xxxxxxxxx> wrote: > >> > In current implementation, reading the value of an output gpio > >> > always return 0. The reason is because when a gpio is configured > >> > >> Have you tried setting the SION bit for the pad? > > > > No, I haven't. From the bit description, it looks like it does a > > different thing of what we would achieve with this patch. The SION bit > > is a overwrite to the pad configuration. That is, the pin will be INPUT > > always. > > > > We don't want to force it to be input. We simply want to be able to read > > the value of an output GPIO. That is achievable by reading a different > > register. In case the GPIO is configured as output, the GPIO block > > documentation states its value can be read from GPIO_PSR. > > This approach works fine, as the GPIO will be output and we can still > > read its value. > > Setting the SION bit allows you to do exactly that. Please see: > http://lists.infradead.org/pipermail/linux-arm-kernel/2014-July/271774.html OK. Then, what is the recommendation? Do we set this by default in the driver code or this is left for DTS pinmux configuration? To me seams like a bug in the gpio driver still, as the possibility to read the value of an output gpio is missing/inconsistent. > > Regards, > > Fabio Estevam
Attachment:
signature.asc
Description: Digital signature