All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v1 u-boot-marvell 0/5] MVEBU ARM64 improvments + another Turris Mox patch
@ 2020-04-08 17:25 Marek Behún
  2020-04-08 17:25 ` [PATCH v1 u-boot-marvell 1/5] arm64: mvebu: armada-8k: move dram init code Marek Behún
                   ` (5 more replies)
  0 siblings, 6 replies; 15+ messages in thread
From: Marek Behún @ 2020-04-08 17:25 UTC (permalink / raw)
  To: u-boot

Hi,

sorry for not sending these patches together with the others for Turris
Mox, but these make changes to generic arm64 mvebu code, so I thought it
would be better.

Currently U-Boot on Turris Mox discovers RAM size by calling
get_ram_size on the first gigabyte of memory. This is insufficient for
new prototypes with 2 GB and 4 GB RAM.

For the 2 GB variant it would be sufficient to simply call get_ram_size
on the first 2 GB of memory, but the 4 GB variant is more problematic,
because in order to support maximum usable RAM possible, ARM Trusted
Firmware can change the default address of PCIe regions and also the
DRAM memory windows are not consecutive.

This series adds code that looks at how ATF configured CPU Address
Decoder windows and accordingly changes mem_map regions for U-Boot's
virtual memory, and accordingly reports RAM size in dram_init and
RAM banks information in dram_init_banksize functions.

The first patch moves Armada-8k specific code into Armada-8k specific
directory.

The second patch adds that looks at the configuration of CPU Address
Decoder windows and does the above mentioned things.

The third patch removes dram_init and dram_init_banksize in Turris Mox
code so that the generic one which now works is used.

The fourth patch adds a function which fixes the PCIe ranges property
in the device-tree binary so that the driver will work even if ATF
changed the address of PCIe window.

The fifth patch calls this function on Turris Mox.

It would be nice if someone tested these on other A3700 boards, like
EspressoBIN.

Marek

Marek Beh?n (5):
  arm64: mvebu: armada-8k: move dram init code
  arm64: mvebu: a37xx: improve code determining memory info structures
  arm: mvebu: turris_mox: support devices with RAM > 1 GB
  arm64: mvebu: a37xx: add device-tree fixer for PCIe regions
  arm: mvebu: turris_mox: fix PCIe ranges in device tree

 arch/arm/mach-mvebu/arm64-common.c     |  51 +----
 arch/arm/mach-mvebu/armada3700/cpu.c   | 304 ++++++++++++++++++++++---
 arch/arm/mach-mvebu/armada8k/Makefile  |   3 +-
 arch/arm/mach-mvebu/armada8k/dram.c    |  52 +++++
 arch/arm/mach-mvebu/include/mach/cpu.h |  11 +
 board/CZ.NIC/turris_mox/turris_mox.c   |  27 +--
 configs/turris_mox_defconfig           |   2 +-
 7 files changed, 361 insertions(+), 89 deletions(-)
 create mode 100644 arch/arm/mach-mvebu/armada8k/dram.c

-- 
2.24.1

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2020-04-14  8:06 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-08 17:25 [PATCH v1 u-boot-marvell 0/5] MVEBU ARM64 improvments + another Turris Mox patch Marek Behún
2020-04-08 17:25 ` [PATCH v1 u-boot-marvell 1/5] arm64: mvebu: armada-8k: move dram init code Marek Behún
2020-04-14  7:58   ` Stefan Roese
2020-04-08 17:25 ` [PATCH v1 u-boot-marvell 2/5] arm64: mvebu: a37xx: improve code determining memory info structures Marek Behún
2020-04-14  8:02   ` Stefan Roese
2020-04-08 17:25 ` [PATCH v1 u-boot-marvell 3/5] arm: mvebu: turris_mox: support devices with RAM > 1 GB Marek Behún
2020-04-14  8:03   ` Stefan Roese
2020-04-08 17:25 ` [PATCH v1 u-boot-marvell 4/5] arm64: mvebu: a37xx: add device-tree fixer for PCIe regions Marek Behún
2020-04-09  8:09   ` Stefan Roese
2020-04-09 13:17     ` Marek Behun
2020-04-09 13:29     ` Marek Behun
2020-04-14  8:03   ` Stefan Roese
2020-04-08 17:25 ` [PATCH v1 u-boot-marvell 5/5] arm: mvebu: turris_mox: fix PCIe ranges in device tree Marek Behún
2020-04-14  8:04   ` Stefan Roese
2020-04-14  8:06 ` [PATCH v1 u-boot-marvell 0/5] MVEBU ARM64 improvments + another Turris Mox patch Stefan Roese

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.