u-boot-brain/arch/arm/include/asm
Tom Rini a78cd86132 ARM: Rework and correct barrier definitions
As part of testing booting Linux kernels on Rockchip devices, it was
discovered by Ziyuan Xu and Sandy Patterson that we had multiple and for
some cases incomplete isb definitions.  This was causing a failure to
boot of the Linux kernel.

In order to solve this problem as well as cover any corner cases that we
may also have had a number of changes are made in order to consolidate
things.  First, <asm/barriers.h> now becomes the source of isb/dsb/dmb
definitions.  This however introduces another complexity.  Due to
needing to build SPL for 32bit tegra with -march=armv4 we need to borrow
the __LINUX_ARM_ARCH__ logic from the Linux Kernel in a more complete
form.  Move this from arch/arm/lib/Makefile to arch/arm/Makefile and add
a comment about it.  Now that we can always know what the target CPU is
capable off we can get always do the correct thing for the barrier.  The
final part of this is that need to be consistent everywhere and call
isb()/dsb()/dmb() and NOT call ISB/DSB/DMB in some cases and the
function names in others.

Reviewed-by: Stephen Warren <swarren@nvidia.com>
Tested-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Ziyuan Xu <xzy.xu@rock-chips.com>
Acked-by: Sandy Patterson <apatterson@sightlogix.com>
Reported-by: Ziyuan Xu <xzy.xu@rock-chips.com>
Reported-by: Sandy Patterson <apatterson@sightlogix.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
2016-08-05 07:23:57 -04:00
..
arch-am33xx armv7: make gpmc_cfg const 2016-07-22 14:46:00 -04:00
arch-armada100 ARM: remove CONFIG_ARM926EJS defines 2014-11-20 11:28:25 -05:00
arch-armv7 ARMv7: Factor out reusable timer_wait from sunxi/psci_sun7i.S 2015-07-20 11:44:38 -07:00
arch-bcm235xx arm: bcm235xx: implement the boot0 hook code 2016-06-24 17:24:37 -04:00
arch-bcm281xx arm/arm64: implement a boot header capability 2016-06-06 13:39:19 -04:00
arch-bcmcygnus configs: Re-sync with cmd/Kconfig 2016-04-25 15:09:47 -04:00
arch-bcmnsp arm: add Cygnus and NSP boards 2014-08-30 07:46:40 -04:00
arch-ep93xx arm: ep9315: Return back Cirrus Logic EDB9315A board support 2014-07-04 23:45:48 +02:00
arch-fsl-layerscape armv8: fsl_lsch2: Add LS1046A SoC support 2016-07-26 09:02:23 -07:00
arch-hi6220 driver: gpio: hikey: Fix pointer conversion warnings for hikey 2015-11-12 15:58:59 -05:00
arch-imx mx7: Distinguish between dual and solo versions 2016-03-09 12:50:39 +01:00
arch-lpc32xx arm: lpc32xx: switch SPL builds to driver model 2016-01-13 21:05:22 -05:00
arch-ls102xa ARMv7: PSCI: ls102xa: move secure text section into OCRAM 2016-07-26 09:03:00 -07:00
arch-meson arm: meson: implement calls to secure monitor 2016-05-27 15:39:47 -04:00
arch-mvebu spi: kirkwood_spi: Add support for multiple chip-selects on MVEBU 2016-04-06 15:38:56 +02:00
arch-mx5 imx: cpu: move common chip revision id's 2015-10-30 15:20:56 +01:00
arch-mx6 Merge branch 'master' of git://git.denx.de/u-boot-fsl-qoriq 2016-05-24 13:42:03 -04:00
arch-mx7 Merge branch 'master' of git://git.denx.de/u-boot-fsl-qoriq 2016-05-24 13:42:03 -04:00
arch-mx25 imx: cpu: move common chip revision id's 2015-10-30 15:20:56 +01:00
arch-mx27 mx27: 16-bit wide watchdog registers 2016-03-25 14:03:28 +01:00
arch-mx31 imx-common: consolidate macros and prototypes into sys_proto.h 2015-09-02 15:29:14 +02:00
arch-mx35 imx-common: consolidate macros and prototypes into sys_proto.h 2015-09-02 15:29:14 +02:00
arch-mxs ARM: mxs: allow boards to select DC-DC switching clock source 2016-01-03 15:56:36 +01:00
arch-omap3 armv7: armv7: introduce set_gpmc_cs0 2016-07-22 14:46:11 -04:00
arch-omap4 omap4: i2c: correct register offset for sync register 2016-07-26 08:39:10 +02:00
arch-omap5 omap5/dra7: i2c: correct register offset for sync register 2016-07-26 08:39:23 +02:00
arch-orion5x edminiv2: switch to SPL 2015-02-25 07:59:50 +01:00
arch-pxa arm: pxa: use common timer functions 2015-08-24 20:30:37 +02:00
arch-rmobile Add more SPDX-License-Identifier tags 2016-01-19 08:31:21 -05:00
arch-rockchip rockchip: Add a way to obtain the main clock device 2016-07-25 20:46:45 -06:00
arch-s3c24x0 mtd: nand: s3c: Unify the register definition and naming 2014-11-26 23:21:43 -06:00
arch-s32v234 armv8: s32v234: Introduce basic support for s32v234evb 2016-06-13 08:56:35 -04:00
arch-sa1100
arch-spear arm: spear: Add command to switch between 1-bit HW ECC and SW BCH4 2015-09-11 17:15:14 -04:00
arch-stm32f1 gpio: stm32_gpio: move base addresses to the soc file 2016-02-24 18:42:50 -05:00
arch-stm32f4 stm32: stm32f4: move flash driver to mtd driver location 2016-03-26 18:49:28 -04:00
arch-stm32f7 Revert "stm32: Change USART port to USART6 for stm32f746 discovery board" 2016-07-21 15:38:13 -04:00
arch-stv0991 stv0991: configure clock & pad muxing for qspi 2015-07-03 13:50:53 +05:30
arch-sunxi sunxi: Add missing macros to configure the NAND controller clk 2016-07-24 20:36:28 -05:00
arch-tegra ARM: tegra: add IVC protocol implementation 2016-07-21 09:31:30 -07:00
arch-tegra20 ARM: tegra: use DT bindings for GPIO naming 2016-05-31 09:53:56 -07:00
arch-tegra30 ARM: tegra: use DT bindings for GPIO naming 2016-05-31 09:53:56 -07:00
arch-tegra114 Add more SPDX-License-Identifier tags 2016-01-19 08:31:21 -05:00
arch-tegra124 Various, unrelated tree-wide typo fixes. 2016-07-16 09:43:12 -04:00
arch-tegra186 ARM: tegra: add core Tegra186 support 2016-05-31 11:22:59 -07:00
arch-tegra210 ARM: tegra: use DT bindings for GPIO naming 2016-05-31 09:53:56 -07:00
arch-vf610 colibri-vf: Disable pull-up configuration in GPIO pin mux 2016-03-02 14:47:16 +01:00
arch-zynqmp ARM64: zynqmp: Remove get_uart_clk() 2016-07-22 14:04:41 +02:00
armv8 ARMv8/layerscape: Add FSL PPA support 2016-07-19 11:33:53 -07:00
imx-common imx-common: introduce simpler macros for runtime dection 2016-05-24 14:59:55 +02:00
iproc-common arm: add Cygnus and NSP boards 2014-08-30 07:46:40 -04:00
kona-common bcm281xx: add support for "USB OTG clock" 2014-12-29 16:31:23 -05:00
proc-armv ARM: add missing HYP mode constant 2014-07-28 17:06:35 +02:00
ti-common Fix to davinci_nand.h to place CEnCFG registers at correct 2016-06-06 13:39:12 -04:00
armv7.h ARM: Add an empty secure stack section 2016-07-15 15:54:57 +02:00
armv7m.h stm32: Add SDRAM support for stm32f746 discovery board 2016-07-14 18:22:43 -04:00
assembler.h arm: include: Import unified.h from Linux kernel 2016-06-02 21:21:43 -04:00
atomic.h arm, ubifs: fix gcc5.x compiler warning 2016-01-20 10:03:58 -05:00
barriers.h ARM: Rework and correct barrier definitions 2016-08-05 07:23:57 -04:00
bitops.h arm, ubifs: fix gcc5.x compiler warning 2016-01-20 10:03:58 -05:00
bootm.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
byteorder.h armv8: Use __aarch64__ rather than CONFIG_ARM64 in some cases 2014-01-10 10:10:23 +01:00
cache.h arm: Move check_cache_range() into a common place 2016-07-14 18:33:09 -04:00
config.h armv8/fsl_lsch3: Change arch to fsl-layerscape 2015-10-29 10:34:00 -07: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: asm: dma-mapping: added dma_free_coherent API 2015-04-14 05:48:09 +02:00
ehci-omap.h Add more SPDX-License-Identifier tags 2016-01-19 08:31:21 -05:00
emif.h ARM: DRA7: DDR: Enable SR in Power Management Control 2016-03-15 21:30:19 -04:00
errno.h
fsl_secure_boot.h SECURE_BOOT: Enable SD as a source for bootscript 2016-07-26 09:01:43 -07:00
gic.h arm64 patch: gicv3 support 2014-04-08 00:15:12 +02:00
global_data.h armv8: Add tlb_allocated to arch global data 2016-07-15 09:01:43 -07:00
gpio.h gpio: do not include <asm/arch/gpio.h> for UniPhier 2016-02-29 03:50:15 +09:00
hardware.h
io.h ARM: Rework and correct barrier definitions 2016-08-05 07:23:57 -04:00
linkage.h
mach-types.h arm: Remove snowball and u8500_href boards 2015-09-11 14:08:06 -04:00
macro.h Armv8: Initializing CNTVOFF_EL2 2015-04-16 11:27:15 +02:00
memory.h include: delete include/linux/config.h 2013-11-08 15:25:13 -05:00
omap_common.h arm: omap-common: add secure smc entry 2016-07-14 18:22:18 -04:00
omap_gpio.h gpio: omap: Drop 'method' parameter 2015-08-12 20:48:06 -04:00
omap_mmc.h omap_hsmmc: update struct hsmmc to accomodate base address from DT 2015-10-22 14:22:28 -04:00
omap_musb.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
omap_sec_common.h arm: omap-common: secure ROM signature verify API 2016-07-14 18:22:19 -04:00
pl310.h arm: socfpga: enable data/inst prefetch and shared override in the L2 2015-10-17 01:47:31 +02:00
posix_types.h armv8: Use __aarch64__ rather than CONFIG_ARM64 in some cases 2014-01-10 10:10:23 +01:00
processor.h Remove ${objtree}/include/asm/proc/ link 2014-06-11 16:27:05 -04:00
psci.h arm/PSCI: Fixed the backward compatiblity issue 2016-08-02 09:47:49 -07:00
ptrace.h Remove ${objtree}/include/asm/proc/ link 2014-06-11 16:27:05 -04:00
sections.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
secure.h ARM: Add secure section for initialized data 2016-07-15 15:54:58 +02:00
setjmp.h arm: Fix setjmp (again) 2016-07-08 17:16:38 -04:00
setup.h
spin_table.h arm64: add better and more generic spin-table support 2016-07-14 18:22:16 -04:00
spl.h spl: define BOOT_DEVICE_USB 2016-02-14 16:36:13 +09:00
string.h
system.h ARM: Rework and correct barrier definitions 2016-08-05 07:23:57 -04:00
types.h types.h: move and redefine resource_size_t 2016-07-14 18:22:24 -04:00
u-boot-arm.h common: Move dram_init() declaration to common location 2015-02-09 15:08:48 +01:00
u-boot.h arm: Drop old non-generic-board code 2015-09-28 10:48:24 -04:00
unaligned.h arm64: core support 2014-01-09 16:08:44 +01:00
unified.h arm: include: Import unified.h from Linux kernel 2016-06-02 21:21:43 -04:00
utils.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00