u-boot/arch/arm
Stephan Gerhold 03585d52fc board: stemmy: Parse atags to get available memory
At the moment the "stemmy" board attempts to detect the RAM size with
a simple memory test (get_ram_size()). Unfortunately, this does not work
correctly for devices with 768 MiB RAM (e.g. Samsung Galaxy Ace 2
(GT-I8160), "codina"). Reading/writing memory after the 768 MiB RAM
succeeds but actually overwrites some earlier parts of the memory.

For U-Boot this does not result in any major problems, but on Linux
this will eventually lead to strange crashes because of the memory
corruption.

Since the "stemmy" U-Boot port is designed to be chainloaded from
the original Samsung bootloader, the most reliable way to get the
available amount of RAM is to look at the ATAGS passed by the Samsung
bootloader. Fortunately, the header used to generate ATAGS in U-Boot
(asm/setup.h) can also be easily used to parse them.

Also clarify and simplify stemmy.h a bit to make it more clear where
some of the magic values in there are actually coming from.

Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
2021-07-14 16:48:11 -04:00
..
cpu arm: armv8: Fix warning about redeclaring global functions as weak 2021-07-09 12:15:41 -04:00
dts ARM: dts: uniphier: Add support for Akebi96 2021-07-14 16:48:10 -04:00
include mmc: sunxi: Increase MMIO FIFO read performance 2021-07-10 01:22:09 +01:00
lib arm: bootm: Disable LMB reservation for command line and board info on arm64 2021-07-09 12:15:41 -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 at91rm9200ek boards 2021-07-07 22:22:42 -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 ARM: make gd a function call for LTO and set via set_gd() 2021-05-24 14:21:30 -04:00
mach-highbank
mach-imx mx7d: Add Storopack's SMEGW01 board 2021-06-09 13:34:38 +02: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 arm: mach-k3: j721e_init: Force early probe of clk-k3 driver 2021-06-11 16:34:52 +05:30
mach-keystone common: fit: Update board_fit_image_post_process() to pass fit and node_offset 2021-06-11 16:34:52 +05:30
mach-kirkwood Revert "arm: Remove nsa310s board" 2021-07-07 22:55:41 -04:00
mach-lpc32xx arm: lpc32xx: add EA LPC3250 DevKitv2 board support 2021-07-06 14:12:14 -04: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 arm: a37xx: pci: Fix a3700_fdt_fix_pcie_regions() function 2021-06-04 11:32:41 +02:00
mach-nexell treewide: Convert macro and uses of __section(foo) to __section("foo") 2021-05-24 14:21:30 -04: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: omap3: fix LTO for DM3730 (and possibly other omap3 boards) 2021-05-24 14:21:30 -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 Merge branch 'next' of https://source.denx.de/u-boot/custodians/u-boot-sh into next 2021-06-28 18:32:07 -04:00
mach-rockchip board: rockchip: Add rk3568 evb support 2021-06-18 14:36:24 +08:00
mach-s5pc1xx
mach-snapdragon arm: mach-snapdragon: pinctrl: Place pin_name in .data section 2021-07-14 16:48:01 -04:00
mach-socfpga common: fit: Update board_fit_image_post_process() to pass fit and node_offset 2021-06-11 16:34:52 +05:30
mach-sti
mach-stm32 board: Add rt-thread art-pi board support 2021-04-09 11:53:00 +02:00
mach-stm32mp stm32mp: stm32prog: handle dfu error 2021-06-18 10:09:41 +02:00
mach-sunxi mmc: sunxi: Enable "new timing mode" on all new SoCs 2021-07-10 01:22:09 +01:00
mach-tegra ARM: fix LTO for seaboard 2021-05-24 14:21:30 -04:00
mach-u8500 board: stemmy: Parse atags to get available memory 2021-07-14 16:48:11 -04:00
mach-uniphier reset: Remove addr parameter from reset_cpu() 2021-03-02 14:03:02 -05:00
mach-versal arm64: versal: Remove gd reference 2021-04-23 08:49:19 +02:00
mach-versatile
mach-zynq reset: Remove addr parameter from reset_cpu() 2021-03-02 14:03:02 -05:00
mach-zynqmp arm64: zynqmp: Add support for 64bit addresses in its 2021-06-23 09:48:35 +02: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 ARM: don't use --gc-sections with LTO when using private libgcc 2021-05-24 14:21:30 -04:00
Kconfig arm: Remove spear600 boards and the rest of SPEAr support 2021-07-07 22:22:42 -04:00
Kconfig.debug
Makefile arm: octeontx2: Add support for OcteonTX2 SoC platforms 2020-08-25 08:01:16 +02:00