9
0
Fork 0
Commit Graph

3014 Commits

Author SHA1 Message Date
Sascha Hauer 2078438662 Add multi images support
This adds the make infrastructure to build multiple SoC or
board specific images from a single barebox binary.

The basic idea is that we no longer have a single pbl, but instead
multiple pbls, one per image if necessary. Each pbl is defined
by its entry function so that each pbl can do exactly what a given
board needs. Additionally the pbls together with a self extracting
barebox binary can be encapsulated in specific image formats.

squashed in build fixes from Lucas Stach for make version >= 3.82:

Split Multimage Makefile rule in explicit and implicit parts

Fixes build with make version >=3.82

Frome the make 3.82 NEWS file:
* WARNING: Backward-incompatibility!
  In previous versions of make it was acceptable to list one or more explicit
  targets followed by one or more pattern targets in the same rule and it
  worked "as expected".  However, this was not documented as acceptable and if
  you listed any explicit targets AFTER the pattern targets, the entire rule
  would be mis-parsed.  This release removes this ability completely: make
  will generate an error message if you mix explicit and pattern targets in
  the same rule.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Lucas Stach <dev@lynxeye.de>
2013-07-01 10:13:12 +02:00
Sascha Hauer e1bbf6be90 ARM: Add image end section
In the upcoming multi image build process we will cat images together.
To find the concatenated image we need to reliably find the end of the
current binary. This adds a dummy section at the end of a pbl binary.
Its only purpose is to mark the end of the image. The multi image
patches will add something to this section so that it doesn't get
discarded by the linker.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-06-26 23:43:19 +02:00
Sascha Hauer 22159db6b0 ARM: build dtbs depending on CONFIG_OFTREE
The upcoming multi image support will need devicetree binary
blobs even when there is no builtin dtb. Instead of depending
on CONFIG_BUILTIN_DTB depend on CONFIG_OFTREE and let this option
select DTC.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-06-26 23:42:47 +02:00
Sascha Hauer cde9fcb8cb ARM: pbl: move linker script to lib
Since the pbl linker script can be reused by the upcoming multi image
build process move it to a common place. Also remove ENTRY() from the
linker script and instead add the -e option to the linker. This makes
the entrypoint configurable.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-06-26 18:21:10 +02:00
Sascha Hauer dc7d63b3cc ARM: split barebox_arm_head in two separate functions
This adds a new function __barebox_arm_head() which defines an
the regular barebox ARM header, but which jumps to the end of
the function so that this can be embedded into another function.
barebox_arm_head() now just uses it and jumps to barebox_arm_reset_vector
just like it did before.

This makes it possible to define board specific entry points.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-06-26 18:21:03 +02:00
Sascha Hauer 74ea37084b ARM: dts: Add .S files as secondary target
Oherwise they get removed during build and trigger a rebuild of
the image.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-06-26 18:20:58 +02:00
Sascha Hauer 76571ed68d ARM: Allow to pass a devicetree via boarddata
Addionally to having a builtin DTB provide the possibility for
the board to provide a dtb via boarddata.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-06-26 18:20:53 +02:00
Jan Weitzel d10f26a5ff OMAP4: fix omap4_bootsource regression
commit d7a913469c breaks boot source detection
for pcm049. The tracing vectors shows all tested boot sources, so order is
important. By not returning but overwriting src we effectively reversed the
order if more than one flag is set.

Signed-off-by: Jan Weitzel <j.weitzel@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-06-23 21:29:45 +02:00
Alexander Shiyan 0339fe1d37 ARM: pcm038: Fix partition size definitions
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-06-11 17:25:17 +02:00
Jan Weitzel 48e8496950 OMAP4: Use default clock source for mcbsp
In omap4_enable_all_clocks we not only enable the mcbsp clocks, but also
change the source from ABE_24M_FCLK to 24M_FCLK. Revert this and default
to the reset state.

Signed-off-by: Jan Weitzel <j.weitzel@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-06-08 15:12:56 +02:00
Markus Niebel 699bcc9416 ARM: i.MX53: tqma53: update flash_header
Integrate errata fixes for SDCTL settings.

Signed-off-by: Markus Niebel <Markus.Niebel@tqs.de>
Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-06-08 15:06:43 +02:00
Markus Niebel 0b2735aad3 ARM: i.MX53: tqma53: move RAM setting to submenu
Signed-off-by: Markus Niebel <Markus.Niebel@tqs.de>
Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-06-08 15:06:43 +02:00
Markus Niebel 841a8a213a ARM: i.MX53: tqma53: fix board name in Kconfig
Signed-off-by: Markus Niebel <Markus.Niebel@tqs.de>
Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-06-08 15:06:43 +02:00
Philipp Zabel fb2b3e2cd4 ARM i.MX6: Fix bootsource detection
This patch fixes boot_mode detection for non-internal boot and
bootsource detection for i2c boot. Further, the bootsouce_instance
is now determined for spi, i2c, and mmc/sd boot.

Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-06-08 15:04:10 +02:00
Antony Pavlov ebefdd4e0d MIPS: rzx50_defconfig: use UART1 for low-level debug
By default CONFIG_JZ4750D_DEBUG_LL_UART0 is selected.
This can confuse the Ritmix RZX50 user as the board
has only UART1 connected.

Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-06-04 07:18:42 +02:00
Antony Pavlov 1beb91a723 MIPS: rzx50: pbl: use debug_ll
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-06-04 07:18:42 +02:00
Antony Pavlov bf26aa0002 MIPS: unify ns16550 debug_ll support code
This commit moves the C debug_ll code from
the MIPS <debug_ll_ns16550.h> header file to
the MIPS <asm/debug_ll_ns16550.h> header file,
so the C code and the asm code can use the same
register address macros.

Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-06-04 07:18:42 +02:00
Antony Pavlov e79e946723 MIPS: malta: prepare for new debug_ll
Set fake DEBUG_LL_UART_DIVISOR to use <asm/debug_ll_ns16550.h>.

Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-06-04 07:18:42 +02:00
Antony Pavlov fcffb0d2c6 MIPS: rzx50: prepare for new debug_ll
Set DEBUG_LL_UART_DIVISOR to use <asm/debug_ll_ns16550.h>.

The JZ4755 uses 24 MHz as the main reference frequency (EXCLK).
The UART controller can work on full EXCLK or on EXCLK/2.
Just now we use EXCLK/2 legacy clock setup made by U-Boot.
So set UART controller base frequency to 12 MHz.

Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-06-04 07:18:42 +02:00
Sascha Hauer 7925ab2d72 Merge branch 'for-next/tegra' 2013-06-02 16:28:34 +02:00
Sascha Hauer 07bdbf9c6d Merge branch 'for-next/ppc' 2013-06-02 16:28:34 +02:00
Sascha Hauer c73638daf5 Merge branch 'for-next/omap' 2013-06-02 16:28:34 +02:00
Sascha Hauer 5f56c35060 Merge branch 'for-next/of' 2013-06-02 16:28:34 +02:00
Sascha Hauer e57a8119d1 Merge branch 'for-next/mxs' 2013-06-02 16:28:34 +02:00
Sascha Hauer 08f2dda59f Merge branch 'for-next/mips'
Conflicts:
	include/of.h
2013-06-02 16:28:31 +02:00
Sascha Hauer 8f9044927d Merge branch 'for-next/mci'
Conflicts:
	include/driver.h
2013-06-02 16:28:21 +02:00
Sascha Hauer 89fd7e44db Merge branch 'for-next/marvell'
Conflicts:
	arch/arm/Makefile
2013-06-02 16:28:04 +02:00
Sascha Hauer 064fdcec9f Merge branch 'for-next/imx-oftree'
Conflicts:
	arch/arm/boards/freescale-mx51-pdk/board.c
2013-06-02 12:36:38 +02:00
Sascha Hauer f56b064fa3 Merge branch 'for-next/imx'
Conflicts:
	arch/arm/Makefile
2013-06-02 12:36:29 +02:00
Sascha Hauer e08e2faa04 Merge branch 'for-next/at91' 2013-06-02 12:25:35 +02:00
Sascha Hauer 70d793e1d6 Merge branch 'for-next/arm' 2013-06-02 12:25:35 +02:00
Sascha Hauer df1dcc057e Merge branch 'for-next/misc' 2013-06-02 12:24:56 +02:00
Antony Pavlov 68d80258ef MIPS: pbl: add low-level debug asm macros for ns16550
This patch adds macros for ns16550 port initialisation
and single char output. The macros can be used in
MIPS asm pbl code.

Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-06-02 11:24:21 +02:00
Antony Pavlov 3c90cbfa64 MIPS: XBurst: use mach-specific debug_ll setup
Ingenic JZ4755 SoC (JZ4750D family) has three UARTs.
So we can give to the user choose which one of them
to use for low level debug (debug_ll) output.

Also this commit adapts the only JZ4755 board
(Ritmix RZX50) for using the new debug_ll port
selection.

Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-06-02 11:24:21 +02:00
Masaki Muranaka bee7cd3da2 Avoid build error on "config SPI" is y
In case he configures with make ARCH=x85 menuconfig,
config SPI will be set to "y". And he will got an error on spi.h.

Signed-off-by: Masaki Muranaka <monaka@monami-ya.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-06-02 11:19:21 +02:00
Jan Weitzel 9897dec869 twl6030: Set WR_S for VMMC
After Reset VMMC goes to default VSEL. This is not a clean power cycle for
some SD cards.
Set flag WR_S for VMMC to avoid going to default VSEL.

Signed-off-by: Jan Weitzel <j.weitzel@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-31 09:03:18 +02:00
Oleksij Rempel b993cc4a22 MIPS: ar231x: add netgear-wg102
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-31 08:56:33 +02:00
Oleksij Rempel 59fe549733 MIPS: add Atheros ar531x family support
Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-31 08:56:33 +02:00
Alexander Shiyan 81118f1b7b ARM: Using unsigned specifiers for unsigned arguments for printf
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-31 08:53:51 +02:00
Renaud Barbier e0594d51a3 ppc: update I/O accessors
The I/O accessors in_bexx, out_bexx, in_lexx and out_lexx are updated
to the latest Linux version.

The patch is tested on a MPC8544 based board and solved I/O access
issues on I2C devices.

Signed-off-by: Renaud Barbier <renaud.barbier@ge.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-31 08:52:17 +02:00
Renaud Barbier b73be000f3 ppc io.h: fix indentation
To prepare for an update of the I/O functions to the latest Linux
version, the indentation is fixed.

Signed-off-by: Renaud Barbier <renaud.barbier@ge.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-31 08:52:17 +02:00
Antony Pavlov df308bd4bf MIPS: asm/mipsregs.h: remove unused stuff
In barebox we have no CONFIG_MIPS_MT_SMTC Kconfig option.
So remove the code under this macro.

Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-31 08:35:25 +02:00
Sascha Hauer 1906b87fe6 ARM: i.MX6 sabresd: Switch to devicetree probing
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-31 08:34:10 +02:00
Sascha Hauer 253d5133a4 ARM: i.MX6 sabrelite: switch to devicetree probing
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-31 08:34:06 +02:00
Sascha Hauer 6e6e7818c7 ARM: i.MX6: Add usdhc aliases
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-31 08:34:00 +02:00
Sascha Hauer 2ed46c2dda ARM: i.MX6: add imx31 compatible entry for GPT
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-31 08:33:54 +02:00
Sascha Hauer 620a2f6345 ARM: i.MX6: Add devicetree files
Diretly taken from Linux 3.10-rc3

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-31 08:33:49 +02:00
Sascha Hauer 6e22ff1b38 ARM: i.MX6: skip devices register when devicetree is present
When we have a devicetree, do not register the platform devices.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-31 08:33:45 +02:00
Sascha Hauer b62be26793 ARM: i.MX6: Fix CCM compatible node
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-31 08:33:41 +02:00
Sascha Hauer b381e781bf treewide include/: Add missing includes
This adds several missing includes to files under include/ which
we relied on being included implicitly.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-31 08:32:59 +02:00