u-boot/arch/arm/include/asm
Siarhei Siamashka 5bc88cc2be sunxi: Downclock AHB1 to 100MHz on Allwinner A64
Currently the AHB1 clock speed is configured as 200MHz by
the SPL, but this causes a subtle and hard to reproduce data
corruption in SRAM C (for example, this can't be easily
detected with a trivial memset/memcmp test).

For what it's worth, the Allwinner's BSP configures AHB1
as 200MHz, as can be verified by running the devmem2 tool
in the system running the Allwinner's kernel 3.10.x:

   0x1C20028: PLL_PERIPH0_CTRL_REG = 0x90041811
   0x1C20054: AHB1_APB1_CFG_REG    = 0x3180
   0x1C20058: APB2_CFG_REG         = 0x1000000
   0x1C2005C: AHB2_CFG_REG         = 0x1

However the FEL mode uses more conservative settings (100MHz
for AHB1):

   0x1C20028: PLL_PERIPH0_CTRL_REG = 0x90041811
   0x1C20054: AHB1_APB1_CFG_REG    = 0x3190
   0x1C20058: APB2_CFG_REG         = 0x1000000
   0x1C2005C: AHB2_CFG_REG         = 0x0

It is yet to be confirmed whether faster AHB1/AHB2 clock settings
can be used safely if we initialize the AXP803 PMIC instead of
using reset defaults. But in order to resolve the data corruption
problem right now, it's best to downclock AHB1 to a safe level.

Note that this issue only affects the SPL, which is not fully
supported on Allwinner A64 yet and it should not affect the boot0
usage (unless somebody can confirm SRAM C corruption with the
boot0 too).

Signed-off-by: Siarhei Siamashka <siarhei.siamashka@gmail.com>
Acked-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2016-06-10 13:03:30 +02:00
..
arch-am33xx arm, am335x: Enable Spread Spectrum for the MPU 2016-06-09 13:53:07 -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-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-layerscape: Add support of QorIQ LS1012A SoC 2016-06-03 14:12:50 -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 Merge branch 'master' of git://git.denx.de/u-boot-fsl-qoriq 2016-05-24 13:42:03 -04: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 ARM: omap-common: Add device type to CPU string 2016-05-27 15:41:37 -04:00
arch-omap4 omap4: Reboot mode support 2016-03-15 15:12:53 -04:00
arch-omap5 arm: omap: Introduce vcores_init function 2016-06-02 21:42:18 -04: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: rk3288: grf: Define GRF_SOC_CON1 and GRF_SOC_CON3 2016-05-27 09:00:48 -06:00
arch-s3c24x0 mtd: nand: s3c: Unify the register definition and naming 2014-11-26 23:21:43 -06: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 stm32f746-disco: enable flash support 2016-03-26 18:49:28 -04:00
arch-stv0991 stv0991: configure clock & pad muxing for qspi 2015-07-03 13:50:53 +05:30
arch-sunxi sunxi: Downclock AHB1 to 100MHz on Allwinner A64 2016-06-10 13:03:30 +02:00
arch-tegra mmc: tegra: add basic Tegra186 support 2016-05-31 11:22:59 -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 ARM: tegra: use DT bindings for GPIO naming 2016-05-31 09:53:56 -07: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: Add SPL support support 2016-05-24 11:15:01 +02:00
armv8 arm64: Remove non-full-va map code 2016-03-15 15:13:10 -04:00
imx-common dm: i2c: mxc_i2c: implement i2c_idle_bus 2016-03-28 09:22:58 +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/arm64: Move barrier instructions into separate header 2016-05-12 11:13:03 -04:00
armv7m.h Change e-mail address of Kamil Lulko 2015-12-05 18:22:32 -05: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/arm64: Move barrier instructions into separate header 2016-05-12 11:13:03 -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: support Thumb-1 with CONFIG_SYS_THUMB_BUILD 2015-11-10 15:03:48 +01: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 armv8: LS2080A: Consolidate LS2080A and LS2085A 2016-04-06 10:26:46 -07:00
gic.h arm64 patch: gicv3 support 2014-04-08 00:15:12 +02:00
global_data.h arm64: Remove non-full-va map code 2016-03-15 15:13:10 -04: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: add missing writes[bwql], reads[bwql]. 2016-04-10 17:18:41 +02:00
linkage.h arm: adapt asm/linkage.h from Linux 2012-05-15 08:31:26 +02:00
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 dra7xx: Enable USB_PHY3 32KHz clock 2016-06-02 21:42:15 -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
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: implement generic PSCI reset call for armv8 2016-05-27 15:39:46 -04: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: HYP/non-sec: allow relocation to secure RAM 2014-07-28 17:19:09 +02:00
setjmp.h arm: Introduce setjmp/longjmp 2016-06-06 13:39:15 -04:00
setup.h arm bootm: Allow to pass board specified atags 2012-10-30 15:28:05 -07:00
spl.h spl: define BOOT_DEVICE_USB 2016-02-14 16:36:13 +09:00
string.h
system.h arm: implement generic PSCI reset call for armv8 2016-05-27 15:39:46 -04:00
types.h ARM: asm: types: Introduce DMA_ADDR_T_64BIT 2016-03-27 09:13:03 -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