linux/arch/arm
Adriana Kobylak 2e356d6de4 ARM: dts: aspeed: rainier,everest: Move reserved memory regions
[ Upstream commit e184d42a6e ]

Move the reserved regions to account for a decrease in DRAM when ECC is
enabled. ECC takes 1/9th of memory.

Running on HW with ECC off, u-boot prints:
DRAM:  already initialized, 1008 MiB (capacity:1024 MiB, VGA:16 MiB, ECC:off)

And with ECC on, u-boot prints:
DRAM:  already initialized, 896 MiB (capacity:1024 MiB, VGA:16 MiB, ECC:on, ECC size:896 MiB)

This implies that MCR54 is configured for ECC to be bounded at the
bottom of a 16MiB VGA memory region:

1024MiB - 16MiB (VGA) = 1008MiB
1008MiB / 9 (for ECC) = 112MiB
1008MiB - 112MiB = 896MiB (available DRAM)

The flash_memory region currently starts at offset 896MiB:
0xb8000000 (flash_memory offset) - 0x80000000 (base memory address) = 0x38000000 = 896MiB

This is the end of the available DRAM with ECC enabled and therefore it
needs to be moved.

Since the flash_memory is 64MiB in size and needs to be 64MiB aligned,
it can just be moved up by 64MiB and would sit right at the end of the
available DRAM buffer.

The ramoops region currently follows the flash_memory, but it can be
moved to sit above flash_memory which would minimize the address-space
fragmentation.

Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
Reviewed-by: Andrew Jeffery <andrew@aj.id.au>
Link: https://lore.kernel.org/r/20220916195535.1020185-1-anoo@linux.ibm.com
Signed-off-by: Joel Stanley <joel@jms.id.au>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-12-31 13:32:56 +01:00
..
boot ARM: dts: aspeed: rainier,everest: Move reserved memory regions 2022-12-31 13:32:56 +01:00
common ARM/dma-mapping: remove dmabounce 2022-07-07 18:18:56 +02:00
configs - Yu Zhao's Multi-Gen LRU patches are here. They've been under test in 2022-10-10 17:53:04 -07:00
crypto crypto: Kconfig - simplify cipher entries 2022-08-26 18:50:43 +08:00
include ARM fixes for 6.1 2022-11-24 11:10:51 -08:00
kernel Random number generator fixes for Linux 6.1-rc1. 2022-10-16 15:27:07 -07:00
lib ARM: 9233/1: stacktrace: Skip frame pointer boundary check for call_with_stack() 2022-10-04 11:09:47 +01:00
mach-actions
mach-airoha
mach-alpine
mach-artpec
mach-asm9260
mach-aspeed ARM: aspeed: Kconfig: Fix indentation 2022-09-28 22:33:55 +02:00
mach-at91 ARM: at91: fix build for SAMA5D3 w/o L2 cache 2022-11-24 12:50:07 +02:00
mach-axxia
mach-bcm SPDX changes for 6.0-rc1 2022-08-04 12:12:54 -07:00
mach-berlin
mach-clps711x
mach-cns3xxx ARM: cns3xxx: add CONFIG_UNUSED_BOARD_FILES dependency 2022-07-22 14:18:52 +02:00
mach-davinci ARM: SoC code changes for 6.1 2022-10-06 11:22:25 -07:00
mach-digicolor
mach-dove ARM: make ARCH_MULTIPLATFORM user-visible 2022-08-30 11:18:09 +02:00
mach-ep93xx TTY/Serial driver update for 6.1-rc1 2022-10-07 16:36:24 -07:00
mach-exynos
mach-footbridge Merge branch 'arm-multiplatform-cleanup' of https://git.kernel.org/pub/scm/linux/kernel/git/soc/soc into arm/soc 2022-09-15 22:20:59 +02:00
mach-gemini
mach-highbank ARM/dma-mapping: use dma-direct unconditionally 2022-07-07 18:18:57 +02:00
mach-hisi genirq: GENERIC_IRQ_EFFECTIVE_AFF_MASK depends on SMP 2022-07-07 09:38:04 +01:00
mach-hpe
mach-imx ARM: Kconfig: clean up platform selection 2022-08-18 16:44:59 +02:00
mach-iop32x ARM: remove obsolete Makefile.boot infrastructure 2022-08-18 16:44:59 +02:00
mach-ixp4xx ARM: ixp4xx: fix typos in comments 2022-08-29 11:06:16 +02:00
mach-keystone
mach-lpc18xx ARM: remove obsolete Makefile.boot infrastructure 2022-08-18 16:44:59 +02:00
mach-lpc32xx ARM: remove obsolete Makefile.boot infrastructure 2022-08-18 16:44:59 +02:00
mach-mediatek
mach-meson
mach-milbeaut
mach-mmp ARM: mmp: fix timer_read delay 2022-12-31 13:31:54 +01:00
mach-moxart
mach-mstar
mach-mv78xx0 ARM: make ARCH_MULTIPLATFORM user-visible 2022-08-30 11:18:09 +02:00
mach-mvebu ARM: make ARCH_MULTIPLATFORM user-visible 2022-08-30 11:18:09 +02:00
mach-mxs ARM: mxs: fix memory leak in mxs_machine_init() 2022-11-19 09:40:36 +08:00
mach-nomadik
mach-npcm
mach-nspire ARM: Kconfig: clean up platform selection 2022-08-18 16:44:59 +02:00
mach-omap1 - Core Frameworks 2022-10-07 11:24:20 -07:00
mach-omap2 SPDX changes for 6.0-rc1 2022-08-04 12:12:54 -07:00
mach-orion5x ARM: make ARCH_MULTIPLATFORM user-visible 2022-08-30 11:18:09 +02:00
mach-oxnas
mach-pxa - Core Frameworks 2022-08-06 10:25:16 -07:00
mach-qcom ARM: mach-qcom: Add support for MSM8909 2022-07-18 18:06:08 -05:00
mach-rda
mach-realtek
mach-rockchip
mach-rpc ARM: Kconfig: clean up platform selection 2022-08-18 16:44:59 +02:00
mach-s3c USB/Thunderbolt changes for 6.1-rc1 2022-10-07 16:48:26 -07:00
mach-s5pv210
mach-sa1100 ARM: Kconfig: clean up platform selection 2022-08-18 16:44:59 +02:00
mach-shmobile ARM: shmobile: Drop selecting SOC_BUS 2022-09-18 14:51:10 +02:00
mach-socfpga
mach-spear ARM: spear6xx: Staticize few definitions 2022-10-10 10:38:33 +02:00
mach-sti
mach-stm32 ARM: remove obsolete Makefile.boot infrastructure 2022-08-18 16:44:59 +02:00
mach-sunplus ARM: sunplus: fix serial console kconfig and build problems 2022-09-23 14:20:00 +02:00
mach-sunxi
mach-tegra
mach-uniphier
mach-ux500
mach-versatile TTY/Serial driver update for 6.1-rc1 2022-10-07 16:36:24 -07:00
mach-vt8500 ARM: remove obsolete Makefile.boot infrastructure 2022-08-18 16:44:59 +02:00
mach-zynq cpufreq: zynq: Fix refcount leak in zynq_get_revision 2022-06-29 14:12:08 +02:00
mm ARM fixes for 6.1 2022-12-10 10:14:52 -08:00
net
nwfpe
plat-orion ARM: orion: fix include path 2022-09-23 21:55:54 +02:00
probes ARM: 9214/1: alignment: advance IT state after emulating Thumb instruction 2022-07-06 22:44:49 +01:00
tools
vdso
vfp
xen xen: don't require virtio with grants for non-PV guests 2022-08-01 07:43:03 +02:00
Kbuild
Kconfig - Yu Zhao's Multi-Gen LRU patches are here. They've been under test in 2022-10-10 17:53:04 -07:00
Kconfig-nommu
Kconfig.assembler
Kconfig.debug ARM: make ARCH_MULTIPLATFORM user-visible 2022-08-30 11:18:09 +02:00
Makefile Kbuild updates for v6.1 2022-10-10 12:00:45 -07:00