| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
With the recent v5.8-rc1 device tree sync, we can drop everything but
the barebox-specific parts from the barebox device tree.
The rest now comes from the upstream device tree.
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Roland already fixed the vexpress-v2p-ca9:
> Upstream DTS commit 62a5017bf825c9e4d317 ("ARM: dts: vexpress: specify
> AFS partition") [1] introduced an empty node at /smb@4000000
> /motherboard/flash@0,00000000/partitions, which is preferred by the OF
> partitions parser over the single partition nodes. In the same commit,
> upstream set the compatible to "arm,arm-firmware-suite", which barebox
> does not know about. Adapt our fixed partition setup accordingly by
> wrapping all partitions in an extra "partitions" node with the correct
> compatible.
> [1]: https://git.kernel.org/linus/62a5017bf825c9e4d3176eb975a01c329a9f36
Do the same for the vexpress-v2p-ca15. While at it use the new label:
added along with 6940ba22c66a ("dts: update to v5.3-rc1"). This way we
aren't (build-)broken, when the upstream path changes in v5.8-rc1.
Fixes: 6940ba22c66ac1c71350 ("dts: update to v5.3-rc1")
Cc: Roland Hieber <r.hieber@pengutronix.de>
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There is no /smb@4000000 node upstream any longer as it was
renamed with the 8d158e1a4091 ("dts: update to v5.7-rc1") sync.
Adjust the barebox device tree accordingly. It's likely that this
resulted in barebox v2020.06.0 state, environment and update breakage on
the vexpress boards.
Cc: Roland Hieber <rhi@pengutronix.de>
Fixes: 8d158e1a4091 ("dts: update to v5.7-rc1")
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The spec[1] says that top level memory nodes `shall have device_type =
"memory"'. Since 8226f7f9 ("of: base: parse all available memory nodes"),
we parse only nodes with device_type = "memory", so we should add the
device_type property where ever it's missing. When the nodes were first
added, this wasn't an issue because the skeleton.dtsi defined a memory
skeleton with correct device_type, but this was removed upstream and
imported into barebox along with 1dc748b3 ("dts: update to v5.1-rc1").
Upstream device trees with a memory node were adapted to have
device_type = "memory" in-line. This wasn't the case for nodes defined
only within barebox. Rectify this now and rename the nodes to feature a
unit name as well to be aligned with the upstream trend.
[1]: https://github.com/devicetree-org/devicetree-specification/releases/download/v0.3/devicetree-specification-v0.3.pdf
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
| |
With the upstream migration to memory@BASE_ADDRESS naming scheme in the
device tree of some SoC families, we now have multiple overlapping memory
nodes in some of the barebox device trees. Rename the defunct overrides, so
they once again override the upstream nodes.
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There is no /soc/aips@50000000 node upstream any longer as it was
renamed with the 8d158e1a4091 ("dts: update to v5.7-rc1") sync.
Adjust the barebox device tree accordingly. It's likely that this
resulted in barebox v2020.06.0 USB connectivity breakage for the
i.MX50's second USB PHY.
Fixes: 8d158e1a4091 ("dts: update to v5.7-rc1")
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The rpi3b device tree specifies 1G of RAM in the memory node, but maps
the highest 16M of RAM's physical address range for peripheral use.
When support for device tree probing was first added for the rpi3b
in e8fab18835a1 ("ARM: rpi: switch to DT probe and multi-image build"),
it had a memory { } node overriding the kernel node size with 0, so the
size is computed later correctly.
1dc748b3b202 ("dts: update to v5.1-rc1") came and renamed the upstream
memory { } node to memory@0. So instead of overriding the old, we
now created a second dummy along with the broken node.
barebox did only parse the dummy, so it continued to limp along.
8226f7f90973 ("of: base: parse all available memory nodes") started
considering both nodes and rendered barebox v2020.05.0 unable to start
up on the rpi3b because of the conflict between RAM range and peripherals
like the bcm2835_mbox caused by parsing the broken memory node.
At least one board also was broken for the same reason[1], so a more
robust approach is in order. For nodes that lack a phandle, the
&{/path} syntax can be used instead. This has the benefit that should
the path disappear in future, a compile failure would result.
[1] 0d26ce1c11a1 ("ARM: Phytec phyFLEX i.MX6: delete wrong memory node")
Fixes: 1dc748b3b202 ("dts: update to v5.1-rc1")
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This adapts all files that were identifed by licensecheck
(https://salsa.debian.org/build-common-team/licensecheck.git) as
licensed under the GPL.
The advantage is that these specifiers are machine-parseable which helps
license conformance, e.g. for packaging barebox in Debian.
While touching these files also do some minor comment reformatting to
get some uniform layout.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Reviewed-by: Roland Hieber <rhi@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
devname is strdup'd few lines later, so remove the earlier strdup.
The pointer isn't stored anywhere persistent in between.
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
For easier code-sharing, the UBIFS code still uses the Kernel's
atomic accessors. Provide a sandbox <asm/atomic.h> header, so we
can compile-test UBI under sandbox.
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
For easier code-sharing, the UBIFS code still uses the Linux atomic
accessors. Make porting it to sandbox easier, by providing these
functions for all platforms.
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
With the DMA stubs in place, we can indicate HAS_DMA in good conscience.
Do so.
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
For compile-testing drivers that use DMA operations under sandbox,
we want stub implementations of these. Provide them.
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
For compile-testing drivers that use DMA operations under sandbox,
we want stub implementations of these. Provide them.
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
ARM <asm/io.h> defines the U-Boot style setbits/clrbits helpers.
Have sandbox follow suit to allow more drivers to be compile tested
there.
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
With the generic implementations in place in <asm-generic/bitio.h>, we can
drop the now-duplicate ARM definitions.
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If gcc supports multiple architectures, barebox uses only the default
when compiling for ARCH=sandbox, this is e.g. the case with compilers
that generate both 32- and 64-bit x86 executables.
There can be good reasons to force 32-bit though, e.g. to reduce memory
consumption while fuzzing or to temporarily avoid 32-to-64-bit warnings,
while running the static analyzer. Add an option for this.
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Now that we have an accurate CONFIG_64BIT describing sandbox bitness,
we don't need to assume everything except __x86_64__ as 32-bit.
This assumes that sizeof(long) == sizeof(void *), which is assumed
anyway throughout the code base.
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
All 64-bit architectures are supposed to define CONFIG_64BIT to support
the relevant 64-bit MMIO accessors. The sandbox architecture is a bit
of a special case, because barebox uses the toolchain default and
doesn't force a bitness. Add 64BIT as promptless symbol, which reflects
the pointer size of the target platform.
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
There are some issues with CONFIG_MMU=n in MIPS configuration
(e.g. qemu-malta_defconfig):
* "Cannot request SDRAM region for stack" error message on start;
* empty kseg1_ram0 region in the iomem command output.
The patch fixes the problems by forcing KSEG1 memory region usage
for CONFIG_MMU=n MIPS configurations.
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Found by searching drivers/ arch/ common/ and lib/ for
/^\s+[^."/\*\[\s\{\(A-Z][^\[\{\(]*=[^\{\(]+,$/
Because the comma has the lowest precedence in C,
this shouldn't result in any functional change.
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This devicetree isn't baseboard-specific, so keep it compatible at
SOM-level.
Signed-off-by: Robert Karszniewicz <r.karszniewicz@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Many architectures duplicate the same fixed type definitions
as in <asm-generic/int-ll64.h>.
Include <asm-generic/int-ll64.h> from <asm/types.h>, and remove
the duplicated code.
Note:
Linux commit 0c79a8e29b5f ("asm/types.h: Remove
include/asm-generic/int-l64.h") unified the kernel space
definition into int-ll64.h. Barebox also adopts int-ll64.
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
|\ \ \ |
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
<config.h> is per-board config file, which is only allowed for old
boards.
For new boards, the top Makefile creates an empty include/config.h
kvx does not have config.h, so #include <config.h> is useless.
Also, remove meaningless board-$(CONFIG_GENERIC).
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Acked-By: Clement Leger <cleger@kalray.eu>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
|\ \ \
| | |/
| |/| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Directory descending upward is ugly. Move it to the correct Makefile.
No functional change is intended because FSL_DDR{2,3} depend on
ARCH_MPC85XX.
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This reverts commit a83c97f2a4065ef7209f123b837fa5103f984c6a.
The dead code elimination with thin archive can cope with the same
symbol names. Revert the workaround.
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Starting v4.13, Linux always uses thin archive instead of relocatable
ELF to combine builtin objects.
The thin archive is basically a text file that only contains paths to
object files.
As Linux commit 98ced886dd79 mentioned, this has a lot of benefits:
- save disk space for builds
- speed-up building a little
- fix some issues when liking a giant executable (for example,
allyesconfig on ARM Linux)
- work better with dead code elimination
The last one is important for barebox because pbl highly relies on the
dead code elimination (-f{function,data}-sections and --gc-sections)
dropping symbols that are unreachable from the linker's entry point.
The dead code elimination does not work if the same symbol names are
used in the pevious incremental link mechanism because the same name
symbols all go into the same section.
Commit a83c97f2a406 ("ARM: socfpga: generate smaller images when
multiple boards are selected") worked around it by giving a dedicate
section to each of the same name symbols. This workaround can go away.
built-in.o was renamed to built-in.a since it is now an archive.
built-in-pbl.o was renamed to built-in.pbl.a for consistency.
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The embedded DTBs are compiled by the chain of pattern rules as follows:
%.dts -> %.dtb -> %.dtb.S -> %.dtb.o for barebox proper
%.dts -> %.dtb -> %.dtb.S -> %.dtb.pbl.o for pbl
Barebox introduced {obj,pbl,lwl}-dtb-y syntax to put the intermediate
files into extra-y. The purposes of doing so were:
[1] prevent GNU Make from deleting the intermediate files
[2] include .*.cmd files
In contrast, Linux does not use a special syntax for embedding DTBs
into the kernel.
For example, as you see in arch/sh/boot/dts/Makefile of Linux 5.6,
obj-y += <basename>.dtb.o
... just works.
This is because scripts/Kbuild.include specifies .SECONDARY to cater
to [1], and scripts/Makefile.build adds the intermediates to 'targets'
to deal with [2].
Barebox had already imported the same code from Linux, so you can use
obj-y instead of obj-dtb-y, like Linux.
pbl-dtb-y and lwl-dtb-y are barebox-specific cases, so I added the
%.dtb.pbl.o pattern to intermediate_targets.
Going forward, please use obj-y, pbl-y, or lwl-y.
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Currently, pbl objects are output to:
<directory-path>/pbl-<basename>.o
This commit changes as follows:
<directory-path>/<basename>.pbl.o
The motivation is not only to get rid of the ugly code introduced by
commit 257abdaa36c8 ("Do not rm the path from pbl-y target"), but also
to make it easier to remove obj-dtb-y, pbl-dtb-y, lwl-dtb-y syntax in
the next commit.
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
By default the HAB locks the Master Identifier (MID) to preconfigured
values. This is not a problem if Linux is running in the secure world,
however when running a secure world operating system such as OP-TEE, the
MID configuration should be done by the secure world operating system.
This causes no regressions for systems using no secure world operating
systems, since no MID value indicates that all normal/secure world
entities can access the peripherals supporting the MID.
Signed-off-by: Rouven Czerwinski <r.czerwinski@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
|/
|
|
|
|
| |
It helps debugging when pollers have a name, so give them one.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since Linux v5.1, the pinctrl driver can use the st,package property
if provided to validate whether the ball to be configured exists
on the package. The upstream device trees provide this property,
but if we'll want barebox to supply it instead, so we can use the same
barebox binary for different SoC variants.
Signed-off-by: Ahmad Fatoum <ahmad@a3f.at>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
BSEC_SMC_READ_SHADOW and BSEC_SMC_WRITE_SHADOW aren't fields, but
operations to apply on fields. Rename it accordingly and fix up instances
where it was used wrongly.
Signed-off-by: Ahmad Fatoum <ahmad@a3f.at>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
| |
| |
| |
| |
| |
| |
| |
| | |
To facilitate using the same barebox binary for multiple variants of the
STM32MP15x, have it fix up the CPU device tree nodes.
Signed-off-by: Ahmad Fatoum <ahmad@a3f.at>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Revision A was 0x1000 and B was 0x2000, so I assumed the next would
be revision C valued 0x3000. Alas, it's revision Z with 0x2001...
Change the code accordingly and add detection for the new 800Mhz
profiles.
Code taken from U-Boot commit
cf0818b477 ("stm32mp1: support of STM32MP15x Rev.Z") and
Patch[1] "stm32mp1: add 800 MHz profile support".
[1]: https://st-md-mailman.stormreply.com/pipermail/uboot-stm32/2020-February/002170.html
Signed-off-by: Ahmad Fatoum <ahmad@a3f.at>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
bsec_read_field returns a negative value on error, pass it along
signed. This doesn't matter now, because we ignore the error code, but
it's the correct thing to do.
Signed-off-by: Ahmad Fatoum <ahmad@a3f.at>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
|\ \ |
|
| |\ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When probing from the device tree use the device tree provided clock
lookups. So far we only used the clock lookups based on the physical
base address of the device, but these should go sooner or later.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Boards supporting device tree have to make sure OFTREE and OFDEVICE are
selected. Add a convenience option pulling in the right options and
select it from the boards.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
| |\ \ \ |
|
| |\ \ \ \ |
|
| |\ \ \ \ \
| | | |_|_|/
| | |/| | | |
|