29 Nov, 2016
1 commit
-
Juno uses a 1:1 mapping between CPU and PCI addresses for IO. First,
that will trip devices that cannot use more than 16 bits of addresses
for IO, second it is un-necessary as the system can handle zero-based
PCI addresses just fine.Change the mapping to start IO bus addresses from zero.
Signed-off-by: Liviu Dudau
07 Oct, 2016
1 commit
-
Commit f225d39d3093 ("vexpress: Check TC2 firmware support before defaulting
to nonsec booting") added support to check if the firmware on TC2 is
configured appropriately before booting in nonsec/hyp mode.However when booting in non-secure/hyp mode, CCI control must be done in
secure firmware and can't be done in non-secure/hyp mode. In order to
ensure that, this patch disables the cci slave port inteface so that it
is not accessed at all.Cc: Jon Medhurst
Acked-by: Marc Zyngier
Signed-off-by: Sudeep Holla
Acked-by: Jon Medhurst
Tested-by: Jon Medhurst
16 Aug, 2016
1 commit
-
The firmware on TC2 needs to be configured appropriately before booting
in nonsec mode will work as expected, so test for this and fall back to
sec mode if required.Signed-off-by: Jon Medhurst
Reviewed-by: Ryan Harkin
Tested-by: Ryan Harkin
16 Jul, 2016
1 commit
-
Introduce virtual and physical addresses in the mapping table. This change
have no impact on existing boards because they all use idential mapping.Signed-off-by: York Sun
16 Mar, 2016
1 commit
-
There's no good excuse for running with caches disabled on AArch64,
so let's just move the vexpress64 target to enable the MMU and run
with caches on.Signed-off-by: Alexander Graf
22 Nov, 2015
3 commits
-
This patch makes the 2nd DRAM bank available on Juno only and not on
other vexpress64 targets, eg. the FVP models.The commit below added a 2nd bank of NOR flash for Juno, but also for
all vexpress64 targets:commit 2d0cee1ca2b9d977fa3214896bb2e30cfec77059
Author: Liviu Dudau
Date: Mon Oct 19 11:08:31 2015 +0100vexpress64: Juno: Declare all 8GB of RAM and make them visible to the kernel.
Juno comes with 8GB RAM, but U-Boot only passes 2GB to the kernel.
Declare a secondary memory bank and set the sizes correctly.Signed-off-by: Liviu Dudau
Reviewed-by: Linus Walleij
Reviewed-by: Ryan Harkin
Tested-by: Ryan HarkinUnfortunately, I only fully tested on Juno R0, R1 and the FVP Foundation
model. Whilst FVP Base AEMV8 models run U-Boot OK, they fail to boot
the kernel.Signed-off-by: Ryan Harkin
Acked-by: Liviu Dudau
Reviewed-by: Linus Walleij -
Only compile in PCIe support if the board really uses it. Provide
a __weak stub for the init function if e.g. FVP is being built.Signed-off-by: Ryan Harkin
Acked-by: Linus Walleij -
On a Juno r1 the PCI controller init routine outputs the rather boring
ATR entry information.
Do this only with DEBUG defined to avoid cluttering the user's
terminal.Signed-off-by: Andre Przywara
Acked-by: Ryan Harkin
20 Oct, 2015
2 commits
-
Juno R1 has an XpressRICH3 PCIe host bridge that needs to be initialised
in order for the Linux kernel to be able to enumerate the bus. Add
support code here that enables the host bridge, trains the links and
sets up the Address Translation Tables.Signed-off-by: Liviu Dudau
Tested-by: Ryan Harkin
[trini: Always declare vexpress64_pcie_init and continue handling logic
inside the function]
Signed-off-by: Tom Rini -
Juno comes with 8GB RAM, but U-Boot only passes 2GB to the kernel.
Declare a secondary memory bank and set the sizes correctly.Signed-off-by: Liviu Dudau
Reviewed-by: Linus Walleij
Reviewed-by: Ryan Harkin
Tested-by: Ryan Harkin
12 Oct, 2015
1 commit
-
Create an additional FVP configuration to boot images pre-loaded into
DRAM.Sometimes it's preferential to boot the model by loading the files
directly into DRAM via model parameters, rather than using
SemiHosting.An example of model parmaters that are used to pre-load the files
into DRAM:
--data cluster0.cpu0=Image@0x80080000 \
--data cluster0.cpu0=fvp-base-gicv2-psci.dtb@0x83000000 \
--data cluster0.cpu0=uInitrd@0x84000000Signed-off-by: Ryan Harkin
Reviewed-by: Linus Walleij
[trini: Update board/armltd/vexpress64/Kconfig logic]
Signed-off-by: Tom Rini
11 Oct, 2015
1 commit
-
The FVP and Juno settings were identical, but duplicated, so I removed
the duplication with this patch.Signed-off-by: Ryan Harkin
Reviewed-by: Linus Walleij
[trini: Adjust logic to keep if/endif in the file]
Signed-off-by: Tom Rini
12 Sep, 2015
1 commit
-
This board has not been converted to generic board by the deadline.
Remove it.Signed-off-by: Simon Glass
13 Aug, 2015
1 commit
-
This switches the Integrator boards over to using the device model
for its serial ports.Cc: Masahiro Yamada
Signed-off-by: Linus Walleij
14 May, 2015
1 commit
-
CONFIG_ARMV7_VIRT depends on CONFIG_ARMV7_NONSEC, thus doesn't need to
be taken into account additionally. CONFIG_ARMV7_PSCI is only set on
boards that support CONFIG_ARMV7_NONSEC, and it only works on those.CC: Tang Yuantian
CC: York Sun
CC: Steve Rae
CC: Andre Przywara
Signed-off-by: Jan Kiszka
Tested-by: Alison Wang
Signed-off-by: Tom Warren
23 Apr, 2015
3 commits
-
This assignment conflicts with code that add flags with
gd->flags |= FOO prior to the execution of this function.
Seems like a historical artifact and creates bugs with
early alloc().Cc: Masahiro Yamada
Signed-off-by: Linus Walleij
Acked-by: Simon Glass -
The board/SoC select menu in arch/arm/Kconfig is still cluttered.
Add ARCH_INTEGRATOR into arch/arm/Kconfig and move the board select
under arch/arm/mach-integrator.Signed-off-by: Masahiro Yamada
Cc: Linus Walleij -
Commit d8bafe1310487ba0e0785997726b4792072178d3
"ARMv8: enable DM in vexpress64 board" only enabled DM
for the simulated vexpress64 board (FVP) with the
hardcoded clock value for the simulated board, causing
a console regression on the Juno board which was using
a different clock setting.Fix this by enabling DM for all vexpress64 boards,
defining the clock frequency per-board, deleting the
static array of PL01x ports from the config file and
relying solely on the port defined in the boardfile
using platform data.Cc: David Feng
Signed-off-by: Linus Walleij
03 Apr, 2015
1 commit
-
Conflicts:
board/armltd/vexpress64/vexpress64.cSigned-off-by: Tom Rini
29 Mar, 2015
2 commits
-
This variant that is neither FVP / Base Model or Juno Versatile
Express 64bit is confusing. Get rid of it unless someone can
point out what machine that really is. Seems to be an evolutional
artifact in the config base.Signed-off-by: Linus Walleij
-
This removes the kludgy late board init from the FVP simulator
version of Versatile Express 64bit (ARMv8), and replace it with
a default boot command using the new smhload command to load
the files using semihosting. Tested on the Foundation Model.Signed-off-by: Linus Walleij
27 Mar, 2015
1 commit
-
Signed-off-by: David Feng
24 Mar, 2015
1 commit
-
Various files are needlessly rebuilt every time due to the version and
build time changing. As version.h is not actually needed, remove the
include.Signed-off-by: Rob Herring
Cc: Albert Aribaud
Cc: Stefano Babic
Cc: Minkyu Kang
Cc: Marek Vasut
Cc: Tom Warren
Cc: Michal Simek
Cc: Macpaul Lin
Cc: Wolfgang Denk
Cc: York Sun
Cc: Stefan Roese
Cc: Nobuhiro Iwamatsu
Cc: Simon Glass
Cc: Philippe Reynes
Cc: Eric Jarrige
Cc: "David Müller"
Cc: Phil Edworthy
Cc: Robert Baldyga
Cc: Torsten Koschorrek
Cc: Anatolij Gustschin
Reviewed-by: Linus Walleij
Reviewed-by: Łukasz Majewski
09 Mar, 2015
1 commit
-
While the Freescale ARMv8 board LS2085A will enter U-Boot both
on a master and a secondary (slave) CPU, this is not the common
behaviour on ARMv8 platforms. The norm is that U-Boot is entered
from the master CPU only, while the other CPUs are kept in
WFI (wait for interrupt) state.The code determining which CPU we are running on is using the
MPIDR register, but the definition of that register varies with
platform to some extent, and handling multi-cluster platforms
(such as the Juno) will become cumbersome. It is better to only
enable the multiple entry code on machines that actually need
it and disable it by default.Make the single entry default and add a special
ARMV8_MULTIENTRY KConfig option to be used by the
platforms that need multientry and set it for the LS2085A.
Delete all use of the CPU_RELEASE_ADDR from the Vexpress64
boards as it is just totally unused and misleading, and
make it conditional in the generic start.S code.This makes the Juno platform start U-Boot properly.
Signed-off-by: Linus Walleij
06 Mar, 2015
1 commit
-
This configures the Juno board to enable ethernet using the
SMSC9118 ethernet controller found in the board. Tested by
TFTP-booting a kernel over ethernet.Signed-off-by: Linus Walleij
30 Jan, 2015
2 commits
-
The Juno Development Platform is a physical Versatile Express
device with some differences from the emulated semihosting
models. The main difference is that the system is split in
a SoC and an FPGA where the SoC hosts the serial ports at
totally different adresses.Signed-off-by: Linus Walleij
-
The Versatile Express ARMv8 semihosted FVP platform is still
using the legacy CONFIG_SYS_EXTRA_OPTIONS method to configure
some compile-time flags. Get rid of this and create a Kconfig
entry for the FVP model, and a selectable bool for the
semihosting library.The FVP subboard is now modeled as a target choice so we can
eventually choose between different ARMv8 versatile express
boards (FVP, base model, Juno...) this way. All dependent
symbols are updated to reflect this.The 64bit Versatile Express board symbols are renamed
VEXPRESS64 so we have some chance to see what is actually
going on. Tested on the FVP fast model.Acked-by: Steve Rae
Signed-off-by: Linus Walleij
29 Dec, 2014
1 commit
-
As agreed with Steve Rae I'm taking over maintenance of the
semihosted, emulated FVP/foundation model Versatile Express
64 bit board variant.Signed-off-by: Linus Walleij
Acked-by: Steve Rae
29 Oct, 2014
1 commit
-
This commit introduces a Kconfig symbol for each ARM CPU:
CPU_ARM720T, CPU_ARM920T, CPU_ARM926EJS, CPU_ARM946ES, CPU_ARM1136,
CPU_ARM1176, CPU_V7, CPU_PXA, CPU_SA1100.
Also, it adds the CPU feature Kconfig symbol HAS_VBAR which is selected
for CPU_ARM1176 and CPU_V7.For each target, the corresponding CPU is selected and the definition of
SYS_CPU in the corresponding Kconfig file is removed.Also, it removes redundant "string" type in some Kconfig files.
Signed-off-by: Georges Savoundararadj
Acked-by: Albert ARIBAUD
Cc: Masahiro Yamada
25 Sep, 2014
2 commits
-
Since commit ddaf5c8f3030050fcd356a1e49e3ee8f8f52c6d4
(patman: RunPipe() should not pipe stdout/stderr unless asked),
Patman spits lots of "Invalid MAINTAINERS address: '-'"
error messages for patches with global changes.
It takes too long for Patman to process them.Anyway, "M: -" does not carry any important information.
Rather, it is just like a place holder in case of assigning
a new board maintainer. Let's comment out.This commit can be reproduced by the following command:
find . -name MAINTAINERS | xargs sed -i -e '/^M:[[:blank:]]*-$/s/^/#/'
Signed-off-by: Masahiro Yamada
-
The "S: Orphan" in MAINTAINERS means that the maintainer in the
"M:" field is unreachable (i.e. the email address is not working).
(Refer to the definition of "Orphan" adopted in U-Boot
in the log of commit 31f1b654b2f395b69faa5d0d3c1eb0803923bd3b,
"boards.cfg: move boards with invalid emails to Orphan")For patch files adding global changes, scripts/get_maintainer.pl
adds bunch of such invalid email addresses, which results in
tons of annoying bounce emails.This commit can be reproduced by the following command:
find . -name MAINTAINERS | xargs sed -i -e '
/^M:[[:blank:]]/ {
N
/S:[[:blank:]]Orphan/s/^/#/
}
'Signed-off-by: Masahiro Yamada
Acked-by: Simon Glass
17 Sep, 2014
2 commits
-
Signed-off-by: Masahiro Yamada
-
We do not have to distinguish CONFIG_TARGET_VEXPRESS_AEMV8A_SEMI
from CONFIG_TARGET_VEXPRESS_AEMV8A. Rename the former to the latter.Signed-off-by: Masahiro Yamada
Reviewed-by: Steve Rae
Cc: David Feng
14 Sep, 2014
1 commit
-
Now the types of CONFIG_SYS_{ARCH, CPU, SOC, VENDOR, BOARD, CONFIG_NAME}
are specified in arch/Kconfig.We can delete the ones in arch and board Kconfig files.
This commit can be easily reproduced by the following command:
find . -name Kconfig -a ! -path ./arch/Kconfig | xargs sed -i -e '
/config[[:space:]]SYS_\(ARCH\|CPU\|SOC\|\VENDOR\|BOARD\|CONFIG_NAME\)/ {
N
s/\n[[:space:]]*string//
}
'Signed-off-by: Masahiro Yamada
31 Aug, 2014
1 commit
-
Move Versatile-specific settings to versatile/Kconfig.
Signed-off-by: Masahiro Yamada
30 Aug, 2014
1 commit
-
The email address of Matt Waddel is no longer working.
Signed-off-by: Masahiro Yamada
Cc: Marc Zyngier
Cc: Mark Rutland
Cc: Catalin Marinas
Cc: Alexei Fedorov
30 Jul, 2014
2 commits
-
We have switched to Kconfig and the boards.cfg file is going to
be removed. We have to retrieve the board status and maintainers
information from it.The MAINTAINERS format as in Linux Kernel would be nice
because we can crib the scripts/get_maintainer.pl script.After some discussion, we chose to put a MAINTAINERS file under each
board directory, not the top-level one because we want to collect
relevant information for a board into a single place.TODO:
Modify get_maintainer.pl to scan multiple MAINTAINERS files.Signed-off-by: Masahiro Yamada
Suggested-by: Tom Rini
Acked-by: Simon Glass -
This commit adds:
- arch/${ARCH}/Kconfig
provide a menu to select target boards
- board/${VENDOR}/${BOARD}/Kconfig or board/${BOARD}/Kconfig
set CONFIG macros to the appropriate values for each board
- configs/${TARGET_BOARD}_defconfig
default setting of each board(This commit was automatically generated by a conversion script
based on boards.cfg)In Linux Kernel, defconfig files are located under
arch/${ARCH}/configs/ directory.
It works in Linux Kernel since ARCH is always given from the
command line for cross compile.But in U-Boot, ARCH is not given from the command line.
Which means we cannot know ARCH until the board configuration is done.
That is why all the "*_defconfig" files should be gathered into a
single directory ./configs/.Signed-off-by: Masahiro Yamada
Acked-by: Simon Glass
03 Jul, 2014
1 commit
-
The armv8 ARM Trusted Firmware (ATF) can be used to load various ATF
images and u-boot, and does this for virtual platforms by using
semihosting. This commit extends this idea by allowing u-boot to also
use semihosting to load the kernel/ramdisk/dtb. This eliminates the need
for a bootwrapper and produces a more realistic boot sequence with
virtual models.Though the semihosting code is quite generic, support for armv7 in
fastmodel is less useful due to the wide range of available silicon
and the lack of a free armv7 fastmodel, so this change contains an
untested armv7 placeholder for the service trap opcode.Please refer to doc/README.semihosting for a more detailed description
of semihosting and how it is used with the armv8 virtual platforms.Signed-off-by: Darwin Rambo
Cc: trini@ti.com
Cc: fenghua@phytium.com.cn
Cc: bhupesh.sharma@freescale.com
27 Feb, 2014
1 commit
-
Remove the last uses of symbol offsets in ARM U-Boot.
Remove some needless uses of _TEXT_BASE.
Remove all _TEXT_BASE definitions.Signed-off-by: Albert ARIBAUD