u-boot/arch/arm
Icenowy Zheng a5ff6f5c72 sunxi: enable dual rank memory on R40
Previously we do not have proper dual rank memory detection on R40
(because we omitted PIR_QSGATE, which does not work on R40 with our
configuration), and dual rank memory is just simply disabled as early
R40 boards available (Banana Pi M2 Ultra and Berry) have single rank
memory.

As a board with dual rank memory (Forlinx OKA40i-C) is now known to us,
we need to have a way to do memory rank detection to support that board.

Add some routine to detect memory rank by trying to access the memory
in rank 1 and check for error status of the memory controller, and then
enable dual rank memory on R40.

Similar routine can be used to detect half DQ width (which is also
detected by PIR_QSGATE on other SoCs), but it's left unimplemented
because there's no known R40 board with half DQ width now.

Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
[Andre: Move R40 detect code call into sunxi_dram_init()]
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
2021-04-16 01:12:58 +01:00
..
cpu armv8: fsl-layerscape: spl: call spl_early_init() 2021-04-15 14:22:22 +05:30
dts board: sl28: add config to enable console output on SER0 2021-04-15 14:22:22 +05:30
include sunxi: support asymmetric dual rank DRAM on A64/R40 2021-04-16 01:12:58 +01:00
lib bootm: do not hang on failure 2021-04-12 17:17:11 -04:00
mach-aspeed common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
mach-at91 arm: Remove picosam9g45 board 2021-04-10 08:01:09 -04:00
mach-bcm283x reset: Remove addr parameter from reset_cpu() 2021-03-02 14:03:02 -05:00
mach-bcmstb
mach-cortina
mach-davinci reset: Remove addr parameter from reset_cpu() 2021-03-02 14:03:02 -05:00
mach-exynos reset: Remove addr parameter from reset_cpu() 2021-03-02 14:03:02 -05:00
mach-highbank
mach-imx arm: Remove mx6dlarm2 board 2021-04-10 08:03:55 -04:00
mach-integrator
mach-ipq40xx dm: treewide: Rename auto_alloc_size members to be shorter 2020-12-13 08:00:25 -07:00
mach-k3 reset: Remove addr parameter from reset_cpu() 2021-03-02 14:03:02 -05:00
mach-keystone reset: Remove addr parameter from reset_cpu() 2021-03-02 14:03:02 -05:00
mach-kirkwood drivers: ata: Remove mvsata_ide driver 2021-04-10 07:59:30 -04:00
mach-lpc32xx reset: Remove addr parameter from reset_cpu() 2021-03-02 14:03:02 -05:00
mach-mediatek board: mt7629: enable compression of u-boot to reduce the size of final image 2021-03-20 16:24:27 -04:00
mach-meson arm: meson: remove static ethernet link setup 2021-04-06 11:10:29 +02:00
mach-mvebu Prepare v2021.04-rc4 2021-03-15 12:15:38 -04:00
mach-nexell s5p4418_nanopi2: Drop dead code 2021-03-02 15:53:37 -05:00
mach-octeontx reset: Remove addr parameter from reset_cpu() 2021-03-02 14:03:02 -05:00
mach-octeontx2 reset: Remove addr parameter from reset_cpu() 2021-03-02 14:03:02 -05:00
mach-omap2 arm: Remove kc1 board 2021-04-10 08:01:24 -04:00
mach-orion5x reset: Remove addr parameter from reset_cpu() 2021-03-02 14:03:02 -05:00
mach-owl reset: Remove addr parameter from reset_cpu() 2021-03-02 14:03:02 -05:00
mach-qemu qemu: arm: Initialise virtio devices in board_late_init 2020-12-31 14:41:31 +01:00
mach-rmobile arm: mach-rmobile: Add CPU info support for RZ/G2 2021-04-13 23:36:25 +02:00
mach-rockchip rockchip: rk3368: move STACK_R_ADDR address and into Kconfig 2021-03-30 16:53:00 +08:00
mach-s5pc1xx
mach-snapdragon common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
mach-socfpga arm: socfpga: smc: Add function to get usercode 2021-04-08 17:29:13 +08:00
mach-sti
mach-stm32 board: Add rt-thread art-pi board support 2021-04-09 11:53:00 +02:00
mach-stm32mp Add rt-thread art-pi board support based on STM32H750 SoC 2021-04-09 13:10:59 -04:00
mach-sunxi sunxi: enable dual rank memory on R40 2021-04-16 01:12:58 +01:00
mach-tegra Tegra: remove e2220-1170 board 2021-04-12 17:17:11 -04:00
mach-u8500
mach-uniphier reset: Remove addr parameter from reset_cpu() 2021-03-02 14:03:02 -05:00
mach-versal common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
mach-versatile
mach-zynq reset: Remove addr parameter from reset_cpu() 2021-03-02 14:03:02 -05:00
mach-zynqmp Xilinx changes for v2021.04-rc3 2021-02-23 10:45:55 -05:00
mach-zynqmp-r5 reset: Remove addr parameter from reset_cpu() 2021-03-02 14:03:02 -05:00
thumb1/include/asm/proc-armv
config.mk Makefile: Rename ALL-y to INPUTS-y 2020-07-28 19:30:39 -06:00
Kconfig board: sl28: enable DM_SERIAL 2021-04-15 14:22:22 +05:30
Kconfig.debug
Makefile arm: octeontx2: Add support for OcteonTX2 SoC platforms 2020-08-25 08:01:16 +02:00