u-boot/arch/arm/include/asm
Otavio Salvador 7773fd1969 imx: Easy enabling of SION per-pin using MUX_MODE_SION helper macro
The macro allows easy setting in per-pin, as for example:

,----
| imx_iomux_v3_setup_pad(MX6_PAD_NANDF_D1__GPIO_2_1 | MUX_MODE_SION);
`----

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>
Acked-by: Stefano Babic <sbabic@denx.de>
2014-01-03 15:44:05 +01:00
..
arch-a320 Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
arch-am33xx Merge branch 'iu-boot/master' into 'u-boot-arm/master' 2013-11-09 22:59:47 +01:00
arch-arm720t Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
arch-armada100 Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
arch-armv7 Merge branch 'u-boot/master' into u-boot-arm/master 2013-07-25 17:57:46 +02:00
arch-at91 at91: add defines for reset type 2013-11-04 20:32:39 +01:00
arch-bcm2835 Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
arch-davinci am33xx, davinci: Create and use <asm/davinci_rtc.h> 2013-11-01 15:30:22 -04:00
arch-ep93xx Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
arch-exynos DWMMC: SMDK5420: Disable SMU for eMMC 2013-10-31 09:55:33 +02:00
arch-imx mxc: Define architecture identifier 2012-09-01 14:58:30 +02:00
arch-ixp Coding Style cleanup: remove trailing white space 2013-10-14 16:06:53 -04:00
arch-kirkwood Merge branch 'master' of git://git.denx.de/u-boot-i2c 2013-07-24 09:50:24 -04:00
arch-ks8695 Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
arch-lpc32xx config: remove platform CONFIG_SYS_HZ definition part 2/2 2013-11-04 11:06:16 -05:00
arch-mb86r0x Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
arch-mx5 usb: ehci-mx5: Use 'bool' instead of 'unsigned char' 2013-08-26 21:56:34 +02:00
arch-mx6 mx6: soc: Disable VDDPU regulator 2014-01-02 17:16:51 +01:00
arch-mx25 Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
arch-mx27 mx27: add missing constant for mx27 2013-09-10 19:12:55 +02:00
arch-mx31 Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
arch-mx35 Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
arch-mxs ARM: mxs: Setup stack in JTAG mode 2013-10-17 09:44:20 +02:00
arch-nomadik Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
arch-omap3 Merge branch 'u-boot-ti/master' into 'u-boot-arm/master' 2013-09-04 14:06:56 +02:00
arch-omap4 ARM: omap4-panda: Add MAC address creation for panda 2013-10-14 16:06:53 -04:00
arch-omap5 Merge branch 'iu-boot/master' into 'u-boot-arm/master' 2013-11-09 22:59:47 +01:00
arch-orion5x Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
arch-pantheon Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
arch-pxa include: delete include/linux/config.h 2013-11-08 15:25:13 -05:00
arch-rmobile Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
arch-s3c24x0 include: delete include/linux/config.h 2013-11-08 15:25:13 -05:00
arch-s5pc1xx arm:mmc:goni/exynos: Fix wrong mmc base register devices offset. 2013-09-11 10:52:10 +09:00
arch-sa1100 Move architecture-specific includes to arch/$ARCH/include/asm 2010-04-13 09:13:12 +02:00
arch-socfpga socfpga: Adding System Manager driver 2013-10-07 19:32:21 +02:00
arch-spear Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
arch-tegra usb: new board-specific USB init interface 2013-10-20 23:42:40 +02:00
arch-tegra20 Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
arch-tegra30 Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
arch-tegra114 ARM: Tegra: USB: EHCI: Add support for Tegra30/Tegra114 2013-07-11 14:15:15 -07:00
arch-tnetv107x Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
arch-u8500 Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
arch-vf610 Merge branch 'master' of git://git.denx.de/u-boot-i2c 2013-07-24 09:50:24 -04:00
arch-zynq Merge 'u-boot-microblaze/zynq' into (u-boot-arm/master' 2013-09-03 14:01:02 +02:00
imx-common imx: Easy enabling of SION per-pin using MUX_MODE_SION helper macro 2014-01-03 15:44:05 +01:00
proc-armv include: delete include/linux/config.h 2013-11-08 15:25:13 -05:00
armv7.h ARM: extend non-secure switch to also go into HYP mode 2013-10-03 21:28:55 +02:00
assembler.h arm: Use optimized memcpy and memset from linux 2011-04-27 19:38:07 +02:00
atomic.h include: delete include/linux/config.h 2013-11-08 15:25:13 -05:00
bitops.h arm: add __ilog2 function 2011-07-16 13:00:11 +02:00
bootm.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
byteorder.h Move architecture-specific includes to arch/$ARCH/include/asm 2010-04-13 09:13:12 +02:00
cache.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
config.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
davinci_rtc.h am33xx, davinci: Create and use <asm/davinci_rtc.h> 2013-11-01 15:30:22 -04:00
dma-mapping.h arm: dma_alloc_coherent: malloc() -> memalign() 2013-09-14 12:08:00 +02:00
ehci-omap.h usb: new board-specific USB init interface 2013-10-20 23:42:40 +02:00
emif.h ARM: DRA7xx: EMIF: Change settings required for EVM board 2013-06-10 08:43:10 -04:00
errno.h Move architecture-specific includes to arch/$ARCH/include/asm 2010-04-13 09:13:12 +02:00
gic.h ARM: add SMP support for non-secure switch 2013-10-03 21:28:51 +02:00
global_data.h ARM: use r9 for gd 2013-09-23 18:00:02 +02:00
gpio.h gpio: Replace ARM gpio.h with the common API in include/asm-generic 2012-01-09 20:10:32 -06:00
hardware.h Move architecture-specific includes to arch/$ARCH/include/asm 2010-04-13 09:13:12 +02:00
io.h ARM: fix write*() I/O accessors 2011-02-21 08:30:55 +01:00
linkage.h arm: adapt asm/linkage.h from Linux 2012-05-15 08:31:26 +02:00
mach-types.h arm: Remove support for smdk6400 2013-04-12 07:55:08 +02:00
macro.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
memory.h include: delete include/linux/config.h 2013-11-08 15:25:13 -05:00
omap_boot.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
omap_common.h usb: dra7xx: Add support for dra7xx xhci USB host 2013-10-20 23:42:41 +02:00
omap_gpio.h SPDX-License-Identifier: fixing some problematic GPL-2.0 files 2013-08-19 15:34:13 -04:00
omap_gpmc.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
omap_mmc.h omap_hsmmc: add driver check for write protection 2013-03-08 16:41:13 -05:00
omap_musb.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
pl310.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
posix_types.h Move architecture-specific includes to arch/$ARCH/include/asm 2010-04-13 09:13:12 +02:00
processor.h Move architecture-specific includes to arch/$ARCH/include/asm 2010-04-13 09:13:12 +02:00
ptrace.h Move architecture-specific includes to arch/$ARCH/include/asm 2010-04-13 09:13:12 +02:00
sections.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
setup.h arm bootm: Allow to pass board specified atags 2012-10-30 15:28:05 -07:00
sizes.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
spl.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
string.h arm: Use optimized memcpy and memset from linux 2011-04-27 19:38:07 +02:00
system.h ARM: mmu: Set domain permissions to client access 2013-03-28 09:10:58 +01:00
types.h Move architecture-specific includes to arch/$ARCH/include/asm 2010-04-13 09:13:12 +02:00
u-boot-arm.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
u-boot.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
unaligned.h Move architecture-specific includes to arch/$ARCH/include/asm 2010-04-13 09:13:12 +02:00
utils.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00