Commit graph

385 commits

Author SHA1 Message Date
Steffen Trumtrar
093dd1e7be scripts: socfpga: add coccinelle magic
Use coccinelle to cleanup the imported u-boot code some more.
This will remove:
	- debugging macros (TCL_RPT, BFM_STAGE, ALTERA_ASSERT)
	- empty if/else/for blocks resulting from macro deletion
	- some unused functions (scc_mgr_xxx)

Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2015-03-02 07:43:25 +01:00
Steffen Trumtrar
e9cd1542cc scripts: add socfpga preloader-files importer
Add script to automatically import and fixup the autogenerated handoff files
into the board folder.

Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2015-03-02 07:43:25 +01:00
Lucas Stach
603ba8c1ba scripts: fix warning generated by glibc 2.20
Defining only _BSD_SOURCE is deprecated with version 2.20 of
glibc. It has been replaced by _DEFAULT_SOURCE. The manpage says
that code which wants to work in the same way on both old and new
versions of glibc should simply define both symbols.

Also move the definition up in fix_size as those feature flags
should be defined before including any standard headers.

Signed-off-by: Lucas Stach <dev@lynxeye.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2015-03-02 07:32:01 +01:00
Sascha Hauer
35405138c8 Merge branch 'for-next/socfpga' 2015-02-04 19:09:16 +01:00
Sascha Hauer
ce961e3412 Merge branch 'for-next/misc' 2015-02-04 19:09:15 +01:00
Wadim Egorov
f0f6a7477b Fix spelling: pathes -> paths
Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2015-01-28 10:02:56 +01:00
Antony Pavlov
ad3c55fbf2 scripts/checkpatch.pl: don't search for CREDITS when checking top_of_kernel_tree()
The CREDITS file is removed in the commit

    commit 6570288f2d
    Author: Masahiro Yamada <yamada.m@jp.panasonic.com>
    Date:   Tue Jan 13 14:27:07 2015 +0900

        Remove the CREDITS file

But checkpatch.pl still trying to check it presence.
There is not such CREDITS file and checkpatch.pl exits with
'Must be run from the top-level dir. of a kernel tree' message.

Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2015-01-20 07:57:19 +01:00
Jean-Christophe PLAGNIOL-VILLARD
616b343493 kconfig/menu.c:590: fix warning: ‘jump’ may be used uninitialized in this function [-Wmaybe-uninitialized]
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2015-01-13 08:47:30 +01:00
Markus Pargmann
4e6ab1a1fa scripts: socfpga sequencer extraction tool
This script extracts the socfpga sequencer from a generated u-boot
automagically. The resulting changes of the barebox tree should be
enough to compile with the new sequencer.

Signed-off-by: Markus Pargmann <mpa@pengutronix.de>
Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2015-01-13 08:42:16 +01:00
Sascha Hauer
27114b30bc scripts: Add mxs-usb-loader tool
This is directly taken from the rockbox projects sbloader tool,
just renamed to mxs-usb-loader to avoid confusion with bareboxes
several different image tools.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2015-01-05 11:30:59 +01:00
Sascha Hauer
2b50a12c1e scripts: Add mxsboot tool
Copied from U-Boot v2014.10 and changed to use getopt instead
of handcrafted parsing.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2015-01-05 11:30:59 +01:00
Sascha Hauer
d19dff8f15 scripts: add mxsimage tool
This is copied from U-Boot v2014.10 and modified for use with
barebox:

- Add a main() function to make it a standalone tool
- Add option to pass in the prepare stage and bootloader
  image as options. If the config file contains @PREP@ or
  @BOOTLOADER@ the string will be replaced with the actual
  image file passed via the -p and -b options.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2015-01-05 11:30:59 +01:00
Sascha Hauer
d3933bd350 Merge branch 'for-next/marvell' 2014-12-08 14:53:59 +01:00
Sascha Hauer
4b59e92dc7 Merge branch 'for-next/kconfig' 2014-12-08 14:53:59 +01:00
Sascha Hauer
18895514dc kconfig: update to v3.18-rc6
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-11-27 15:42:07 +01:00
Sascha Hauer
3a0e9bfd0a scripts/Makefile.host: Update to Linux-3.18-rc6
Needed for new Kconfig.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-11-27 15:42:07 +01:00
Masahiro Yamada
22b3745f97 kbuild: handle multi-objs dependency appropriately
The comment in scripts/Makefile.build says as follows:

  We would rather have a list of rules like
        foo.o: $(foo-objs)
  but that's not so easy, so we rather make all composite objects depend
  on the set of all their parts

This commit makes it possible!

For example, assume a Makefile like this

  obj-m = foo.o bar.o
  foo-objs := foo1.o foo2.o
  bar-objs := bar1.o bar2.o

Without this patch, foo.o depends on all of
foo1.o foo2.o bar1.o bar2.o.
It looks funny that foo.o is regenerated when bar1.c is updated.

Now we can handle the dependency of foo.o and bar.o separately.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Signed-off-by: Michal Marek <mmarek@suse.cz>
2014-11-27 15:42:07 +01:00
Sascha Hauer
ee2a559afd imx-usb-loader: Add i.MX6sx support
Not much to do here, only add the Product ID.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-11-27 11:25:23 +01:00
Uwe Kleine-König
ef8a47a6e7 scripts: kwboot: fix detection of timeout
In function kwboot_xm_sendblock() the loop that implements retrying to
send a boot block might be quit if kwboot_tty_send or kwboot_tty_recv
return a failure. In this case the value of the variable c that is
expected to hold the response byte is uninitialized and most likely
still holds an ACK from the previous call to kwboot_xm_sendblock().

So the right thing to do is not to clobber rc if it's already != 0.

The result of this patch in my current scenario is that kwboot dies with

	xmodem: Connection timed out

when the SoC stops replying instead of continuing to try sending the
remaining blocks which results in select() blocking for one second for
each block.

Fixes: 0535713bbf ("scripts: add kwboot tool")
Signed-off-by: Uwe Kleine-König <uwe@kleine-koenig.org>
--
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Gregory CLEMENT <gregory.clement@free-electrons.com>
Cc: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Cc: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>

I also tried to increase the timeout, but without success :-(. Will test
a different USB-to-RS232 adapter ...
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-11-17 08:52:52 +01:00
Sascha Hauer
592d35a47c Merge branch 'for-next/xz' 2014-11-05 15:47:39 +01:00
Sascha Hauer
ccb2816477 Add xz decompression support
This adds xz decompression support from the kernel. Both compressing
the barebox binary with xz and decompressing xz files on the commandline
is supported.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-11-04 12:18:55 +01:00
Masahiro Yamada
08df1282f4 scripts: add mailmapper, a tool to create/update mailmap file
This tool helps to create/update the mailmap file.

It runs 'git shortlog' internally and searches differently spelled author
names which share the same email address. The author name with the most
commits is asuumed to be a canonical real name. If the number of commits
from the cananonical name is equal to or greater than 'MIN_COMMITS' (=50),
the entry for the cananical name will be output. ('MIN_COMMITS' is used
here because we do not want to create a fat mailmap by adding every author
with only a few commits.)

If there exists a mailmap file specified by the mailmap.file configuration
options or '.mailmap' at the toplevel of the repository, it is used as
a base file.

The base file and the newly added entries are merged together and sorted
alphabetically (but the comment block is kept untouched), and then printed
to standard output.

 Usage
 -----

  scripts/mailmapper

prints the mailmapping to standard output.

  scripts/mailmapper > tmp; mv tmp .mailmap

will be useful for updating '.mailmap' file.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-10-17 11:10:00 +02:00
Sascha Hauer
8c746628fe Merge branch 'for-next/misc' 2014-10-02 08:54:42 +02:00
Sascha Hauer
2a2a8b9052 Merge branch 'for-next/imx' 2014-10-02 08:54:41 +02:00
Sascha Hauer
ad428bcb5d scripts: mk-am3xxx-spi-image: fix wrong assumptions about SPI images
We assumed that there is a special image format for SPI. This is not
the case. The AM33xx can boot either images generated with omap_signGP
or raw images which only have the image size and load address in front
of the image. Whether these images are booted from SPI or another
boot medium doesn't matter. The only special thing about SPI is that
the image is in big endian format.

- renames mk-am3xxx-spi-image.c to mk-omap-image.c as the image format
  is not only supported by AM3xxx but also by the OMAP SoCs
- removes the option to specify the SoC
- introduces -s to build a big endian image
- detects if an image already is an image generated with omap_signGP

So the behaviour is like this:

raw image -> mk-omap-image -> prepend size/address -> image for SD/MMC
raw image -> mk-omap-image -s -> prepend size/address, big endian swap -> image for SPI
CH image -> mk-omap-image -> nothing, input == output
CH image -> mk-omap-image -s -> big endian swap -> image for SPI

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-09-26 09:57:18 +02:00
Eric Bénard
690e392027 imx-image: handle i.MX35 special case
From the i.MX35 user manual :
Since MLC NAND Flash devices do not guarantee error-free boot blocks,
the i.MX35 boot code requires that the first 4 Kbytes of boot code be
duplicated in a subsequent block to serve as a second copy option.

Actually imx-image puts the image at 4k but it seems that the i.MX35
bootrom copies only from 8k as it expects that there is a copy of the
first 0-4k in 4k-8k (and is supposed to use this copy if there is an
ECC error in the first 4k) as we can see in the following lines :

barebox@Eukrea CPUIMX35:/  md -s /dev/nand0 0x0
00000000: ea0003fe eafffffe eafffffe eafffffe                ................
00000010: eafffffe eafffffe eafffffe eafffffe                ................
00000020: 65726162 00786f62 00000000 00000000
barebox.........

=-> header is @ 0 in flash

barebox@Eukrea CPUIMX35:/  md -s /dev/nand0 0x1000
00001000: 56341200 00000000 0001eda1 00000000                ..4V............
00001010: 00000000 00000000 00000000
00000000                ................

=-> so we have data @ 0x1000 in flash

barebox@Eukrea CPUIMX35:/  md 0x87f00000
87f00000: 00000000 00000000 00000000 00000000                ................
87f00010: 00000000 00000000 00000000
00000000                ................

=-> but we don't find this data in RAM

barebox@Eukrea CPUIMX35:/  md -s /dev/nand0 0x2000
00002000: ea000012 eafffffe eafffffe eafffffe                ................
00002010: eafffffe eafffffe eafffffe eafffffe                ................
00002020: 65726162 00786f62 00000000 00034272
barebox.....rB..

=-> so we have the image @ 0x2000 in flash

barebox@Eukrea CPUIMX35:/  md 0x87f01000
87f01000: ea000871 eafffffe eafffffe eafffffe                q...............
87f01010: eafffffe eafffffe eafffffe eafffffe                ................
87f01020: 65726162 00786f62 87f02000 0003b520                barebox.. .. ...

=-> and we find it in RAM

Signed-off-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-09-25 08:13:24 +02:00
Sascha Hauer
072a7964a3 imx-image: Handle check commands correctly
The length of two subsequent check commands was incorrectly calculated.
The check commands have a fixed length anyway, so program a fixed length
in the check command and skip the code from check_last_dcd.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-09-19 07:44:37 +02:00
Sascha Hauer
f83a3e39f5 imx-usb-loader: Skip unknown tags
Instead of bailing out skip unknown tags. These tags are usually
doing operations to poll for a certain register state. The correct
solution is to implement this register polling, but for now delay
execution for a while and assume the register has the correct
state afterwards.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-09-19 07:44:37 +02:00
Sascha Hauer
03be149952 Add some .gitignore files
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-09-12 11:59:24 +02:00
Antony Pavlov
767cd01fac checkpatch.pl: check for the FSF mailing address
This check code is imported from Linux v3.16 checkpatch.pl.

Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-09-12 07:38:37 +02:00
Philipp Zabel
c61c813e77 Fix barebox metadata
Patch 97e81f2d78 (Add support for metadata in barebox images)
writes the wrong length for the model tag in the barebox metadata.
Fix this to use the correct value.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-09-04 14:43:58 +02:00
Andreas Pretzsch
710d97bcec scripts: gitignore: update based on Makefile
Create up-to-date list of hostprogs and targetprogs based on Makefile.
Have this list sorted like the targets in the Makefile to ease maintenance.
Also move some leftovers from root .gitignore over here.

Signed-off-by: Andreas Pretzsch <apr@cn-eng.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-09-01 14:24:52 +02:00
Antony Pavlov
5473a6a7f9 scripts: add bareboximd{,-target} to .gitignore
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-09-01 14:24:51 +02:00
Lucas Stach
75359aaafc scripts: imx-image: add input validation to mw
Stop and print a helpful message if we encounter an
illegal token while parsing the DCD config, instead
of silently swallowing the error and pushing random
stuff into the DCD.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-09-01 14:24:51 +02:00
Lucas Stach
9b707a1fa3 Makefile.lib: imxcfg: fix include path
MACH is not defined in this context, also it's very
unlikely that we will use the imximg tool with an other
arch than IMX, so just hardcode the path.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-09-01 14:24:51 +02:00
Sascha Hauer
5b7b7ee5d9 Merge branch 'for-next/metadata'
Conflicts:
	arch/arm/dts/Makefile
	common/Makefile
	lib/Makefile
2014-08-07 06:15:16 +02:00
Sascha Hauer
50d10b224e Merge branch 'for-next/env' 2014-08-07 06:14:58 +02:00
Sascha Hauer
97e81f2d78 Add support for metadata in barebox images
It's often useful to get some information about a barebox image
before starting or flashing it. This patch introduces barebox
Image MetaData (IMD). When enabled a barebox image will contain
a list of tags containing the desired information. We have tags
for:

- the barebox release (2014.07.0-00160-g035de50-dirty)
- the build timestamp (#741 Mon Jul 28 15:08:54 CEST 2014)
- the board model the image is intended for
- the device tree toplevel compatible property

Also there is an additional generic key-value store which stores
parameters for which no dedicated tag exists. In this patch it
is used for the memory size an image supports.

Since there is no fixed offset in a barebox image which can be
used for storing the information, the metadata is stored somewhere
in the image and found by iterating over the image. This works
for most image types, but obviously not for SoC images which are
encoded or encrypted in some way.

There is a 'imd' tool compiled from the same sources for barebox,
for the compile host and for the target, so the metadata information
is available whereever needed.

For device tree boards the model and of_compatible tags are automatically
generated.

Example output of the imd tool for a Phytec phyFLEX image:

build: #889 Wed Jul 30 16:08:54 CEST 2014
release: 2014.07.0-00167-g6b2070d-dirty
parameter: memsize=1024
of_compatible: phytec,imx6x-pbab01 phytec,imx6dl-pfla02 fsl,imx6dl
model: Phytec phyFLEX-i.MX6 Duallite Carrier-Board

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-08-07 06:13:52 +02:00
Sascha Hauer
7b0d00c465 make: Use shell script to generate .dtb.S files
Using shell in make to generate an assembly file is not very
readable and extendable. Add an external shell script instead.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-08-07 06:13:52 +02:00
Sascha Hauer
0a1167029d dtc: compile fdtget
We need fdtget in subsequent patches, so compile it.
Unfortunately this is not straight forward. fdtget needs libfdt,
but the Kernel Build System is not prepared for compiling
libraries for the host or binaries from files in multiple directories.
This patch moves the libfdt files to the dtc toplevel directory and
compiles fdtget as a binary from multiple source files but from
the same directory.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-08-07 06:13:52 +02:00
Sascha Hauer
fb60ba388b make: build device trees with obj-dtb-y and pbl-dtb-y
To build an object file from a device tree currently we currently
have to add them to the Makefile twice, once to dtb-y and once to
obj-y. This patch introduces obj-dtb-y and pbl-dtb-y to directly
compile a device tree object file for inclusion in the barebox binary
or the pbl respectively.
The now unneeded dtb-y targets are removed.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-08-07 06:13:52 +02:00
Antony Pavlov
f708453459 ARM: add Canon A1100 ROM image generation
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-08-01 15:40:41 +02:00
Juergen Borleis
e805b7dcb0 saveenv: provide a zeroed/empty/ignore environment
If an external environment storage should be used in very rare and special cases,
the intentional behaviour should be to ignore the external environment and always
fall back to the built-in environment. By storing an empty "to be ignored" environment
into the external environment a confusing error message about invalid CRC sums will go
away and still the built-in environment is used.
With this new option we can force the intentional behaviour.

Signed-off-by: Juergen Borleis <jbe@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-08-01 08:24:00 +02:00
Juergen Borleis
72ce27f8e0 envfs: change API to be able to forward special flags into the envfs superblock
In order to be able to mark an stored envfs image with special features
(intentional ignore for example), we now can feed forward these flags.
By forwarding a '0' for the flags nothing changes because the envfs superblock
was already allocated with xzalloc.

Signed-off-by: Juergen Borleis <jbe@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-08-01 08:24:00 +02:00
Antony Pavlov
2671c30c25 scripts/checkpatch.pl: don't search for Doxyfile when checking top_of_kernel_tree()
Doxygen documentation is removed in the commit

  commit 98360be0fe
  Author: Sascha Hauer <s.hauer@pengutronix.de>
  Date:   Tue Jun 17 10:27:03 2014 +0200

      Documentation: remove doxygen documentation

But checkpatch.pl still trying to check 'Doxyfile' presence.
There is not such 'Doxyfile' and checkpatch.pl exits with
'Must be run from the top-level dir. of a kernel tree' message.

Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-07-22 22:07:29 +02:00
Sascha Hauer
8f184314dd kconfig: Fix compiler warning
gcc-4.9 is too silly to recognize that *jump cannot be used
uninitialized and issues a warning. Explicitly initialize
*jump to avoid the warning.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-07-05 13:33:25 +02:00
Sascha Hauer
efa4d684d8 Merge branch 'for-next/misc'
Conflicts:
	arch/arm/boards/chumby_falconwing/falconwing.c
	arch/arm/boards/imx233-olinuxino/imx23-olinuxino.c
	arch/x86/mach-x86.dox
	scripts/setupmbr/setupmbr.c
2014-07-04 17:27:06 +02:00
Sascha Hauer
b48241aabb scripts/setupmbr: remove doxygen docs
This text is now in Documentation/boards/x86.rst.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-07-03 09:08:05 +02:00
Lucas Stach
a78452fd2d scripts: tegra: add gitignore
Keep the git status area clean of generated binaries.

Signed-off-by: Lucas Stach <dev@lynxeye.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-07-01 08:39:37 +02:00
Robert P. J. Day
ac705a462f Fix misspellings of "persistant" -> "persistent" in various places
Fix misspellings of "persistent", including the renaming of a function
to "register_persistant_environment".

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-06-30 08:16:00 +02:00
Sascha Hauer
98360be0fe Documentation: remove doxygen documentation
The doxygen documentation is long outdated. Remove it. It will
be replaced with sphinx based documentation later.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-06-26 10:09:52 +02:00
Sascha Hauer
bbc70303c7 kernel-install: fix return value check for getline
getline returns the number of characters read, so check for
ret < 0 instead of ret.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-06-26 09:44:47 +02:00
Sascha Hauer
ad9f56888f Merge branch 'for-next/tegra' 2014-06-04 21:04:28 +02:00
Lucas Stach
4f84368972 Makefile.lib: add rule to built Tegra BCTs
Signed-off-by: Lucas Stach <dev@lynxeye.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-05-15 14:19:25 +02:00
Lucas Stach
faae9deff3 tegra: cbootimage: remove noisy output
Our build is quiet by default, so don't allow cbootimage
to spam our logs.

Signed-off-by: Lucas Stach <dev@lynxeye.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-05-15 14:19:25 +02:00
Lucas Stach
ce41c53bf3 scripts: tegra: import cbootimage
Needed to built the BCTs and bootable images.

Version 1.2 from https://github.com/NVIDIA/cbootimage.git

Signed-off-by: Lucas Stach <dev@lynxeye.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-05-15 14:19:25 +02:00
Jan Luebbe
2bea297d30 ARM: AM3xxx: Add support for building AM33xx spi images
mk-am35xx-spi-image can only build AM35xx images. Rename
the tool to mk-am3xxx-spi-image and add support for the AM33xx.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-05-15 12:45:02 +02:00
Sascha Hauer
d27b97820c Merge branch 'for-next/dts' 2014-05-05 11:05:50 +02:00
Sascha Hauer
4905948695 genenv: fix tempdir creation when target is a relative path
when $target is a path relative to $objtree the script fails.
This is because we cd to $basedir and then copy to $tempdir which
then is no longer valid. Fix this by converting $tempdir to an
absolute path first.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Tested-by: Christoph Fritz <chf.fritz@googlemail.com>
2014-04-29 07:57:24 +02:00
Sascha Hauer
5d0362c5d3 dts: Use dt-bindings from kernel
barebox used to have its own include/dt-bindings with files copied
from the corresponding kernel files. Use upstream dt-bindings directly
instead.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-04-28 14:18:25 +02:00
Silvio Fricke
0af79fbb67 make: fix searchpath of generated autoconf.h
If barebox is builded out-of-tree we don't find the autogenerated
autoconf.h because we search in the srctree.

With this patch we don't get this error message:

cc1: fatal error: /[...]/barebox/include/generated/autoconf.h: No such file or directory

Signed-off-by: Silvio Fricke <silvio.fricke@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-04-23 12:14:21 +02:00
Lucas Stach
4d5ad7c9c6 imx-image: don't leak file handle
Signed-off-by: Lucas Stach <dev@lynxeye.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-04-23 09:05:52 +02:00
Lucas Stach
9c63e92baa treewide: fix signedness mixups in printf format specifiers
This most likely doesn't fix any real bugs, but it's the
right thing to do and reduces the noise level with static
checkers.

Signed-off-by: Lucas Stach <dev@lynxeye.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-04-23 09:05:51 +02:00
Vicente Bergas
06ac5fbe6c OMAP4_USBboot: Change output text formatting
The basic console used for USBboot has two different formattings,
one for text coming from the host and another for text coming from
the target.
This change makes both formattings readable regardless of the
console background color.

Signed-off-by: Vicente Bergas <vicencb@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-03-24 07:48:38 +01:00
Sascha Hauer
a8a08f88cc Merge branch 'for-next/misc'
Conflicts:
	common/environment.c
2014-03-07 09:25:09 +01:00
Sascha Hauer
2331b1d8e8 Merge branch 'for-next/marvell'
Conflicts:
	arch/arm/dts/Makefile
2014-03-07 09:25:02 +01:00
Sascha Hauer
9c2aa61703 Merge branch 'for-next/imx-image'
Conflicts:
	arch/arm/dts/Makefile
2014-03-07 09:24:46 +01:00
Sascha Hauer
24ae621e17 defaultenv: Add boot option for DFU
DFU is for device firmware upgrade, but for development purposes it's
sometmes useful to just start a kernel vie DFU. This adds a boot option
for doing this and also the corresponding counterpart on the host. With
this it's possible to boot a system with:

scripts/dfuboot.sh -k linuximage -d dtb -c "root=ubi0:root ubi.mtd=ubi rootfstype=ubifs ignore_loglevel"

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-28 08:14:14 +01:00
Sascha Hauer
068f213bb3 make: Add bbenv-y target to generate default environment files
This adds a target to generate environment files from directories.
These are compiled into the barebox binary.

use it as:

bbenv-$(CONFIG_SOMETHING) += my-environment

The directory containing the files to compile into the binary
should be named my-environment.

This can be accessed in C code later as:

extern unsigned char __bbenv_my_environment_start[];
extern unsigned char __bbenv_my_environment_end[];

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-21 17:06:01 +01:00
Sascha Hauer
9f6a42ac54 make: Add wildcard rules for compressed files
To simplify generating compressed files.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-18 10:42:13 +01:00
Sascha Hauer
658af1caf3 defaultenv: simplify env dependencies
Finding out whether to rebuild the environment is a difficult task
since we have to track all files in a directory. Instead of trying
this, just rebuild the environment during every build and only if
it differs to the last one overwrite the target. This way make
only sees a change when the environment is changed.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-18 10:42:07 +01:00
Alexander Shiyan
f62f3affa8 scripts/kwboot: Remove redundant assignment
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-17 08:06:11 +01:00
Sascha Hauer
de20596e17 ARM: i.MX: Add include directories to imximage target
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-13 11:34:29 +01:00
Alexander Shiyan
2bc655f5f5 scripts/kwbimage: Fix resource leak in image_create_payload()
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-04 08:21:07 +01:00
Alexander Shiyan
84f715cb8c scripts/kwbimage: Fix resource leak in image_create()
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-04 08:21:06 +01:00
Sascha Hauer
601bf0fcc6 Merge branch 'for-next/misc' 2014-02-03 09:55:54 +01:00
Sascha Hauer
c224cd3161 Merge branch 'for-next/imx'
Conflicts:
	arch/arm/boards/dmo-mx6-realq7/lowlevel.c
2014-02-03 09:55:13 +01:00
Alexander Shiyan
8462cd6c32 Make generated variables static
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-03 08:58:22 +01:00
Sascha Hauer
e3ed260db7 scripts: fix_size: check magic
Instead of passing the offset to the fix_size tool check the image to
fixup for a valid header so that only recognized files are fixed up.
This makes the usage of this tool safer.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-01-31 18:51:49 +01:00
Alexander Shiyan
9ef62b72ef scripts: imx-usb-loader: Fix memory leak
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-01-29 21:38:10 +01:00
Michael Grzeschik
c54cb78978 scripts: kwbimage: fix imagebuild on 32bit host system
We have to use strtoul to run the tool working on 32bit systems.
Otherwise it will generate signed numbers for strings representing
values with the 32nd bit set.

Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
Acked-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-01-27 09:13:12 +01:00
Alexander Aring
64e87ad730 scripts: add kernel-install-target to gitignore
Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-12-09 09:30:31 +01:00
Sascha Hauer
fd096d9216 Merge branch 'for-next/x86' 2013-12-06 08:23:27 +01:00
Sascha Hauer
6d7fae1e97 Merge branch 'for-next/omap-devicetree-prepare' 2013-12-06 08:23:27 +01:00
Sascha Hauer
e9ea6eeaab Merge branch 'for-next/misc'
Conflicts:
	scripts/Makefile
2013-12-06 08:23:24 +01:00
Sascha Hauer
0cb6f2c19e Merge branch 'for-next/imx' 2013-12-06 08:22:48 +01:00
Michael Grzeschik
1e7f2bd25c scripts: bareboxcrc32 as host and target userspacetool
This patch adds the crc32 command to be build
as host and optionally as target tool.

Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-12-04 17:17:06 +01:00
Sascha Hauer
b4184e34bf scripts: imx-image: Add i.MX25 support
The i.MX25 works like the i.MX51, just add the SoC magic and the USB product
id.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-11-27 13:55:41 +01:00
Sascha Hauer
2155ed411e Make: introduce obj-pbl-y
For compiling object files both in the regular binary and the pbl.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-11-25 08:43:44 +01:00
Alexander Aring
fbc6f5b36a scripts: fix kernel-install-target config
Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-11-20 07:21:06 +01:00
Sebastian Hesselbarth
6b5874f706 scripts: kwbimage: fix mis-sized payload
Image payload size should always be a multiple of 4 bytes. This fixes
mis-sized image payload by allocating payload buffer as multiple of 4
but load true filesize into the payload buffer.

Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-11-18 10:53:17 +01:00
Sebastian Hesselbarth
4f3570c470 scripts: kwboot: fix missing soh initialization
Xmodem blocks should start with SOH but kwboot never sets the first
block byte. This fixes kwboot's Xmodem block initialization and sets
first block byte to SOH.

Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-11-18 10:53:11 +01:00
Alexander Shiyan
ddc2269a5d Makefile: Align "DTB" string to others
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-11-11 08:58:01 +01:00
Alexander Shiyan
2bd891b0ae scripts: Add fix_size & kernel-install to .gitignore
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-11-11 08:58:01 +01:00
Thomas Petazzoni
df756884a3 scripts/setupmbr: fix documentation
The documentation says setupmbr should be used with the image named
'barebox', but it should instead be done with the 'barebox.bin'
image. Attempting to use setupmbr on the ELF barebox image simply
fails:

$ ./scripts/setupmbr/setupmbr -s 32 -m ./barebox -d disk.img
No MBR signature found
barebox image seems not valid: Bad MBR signature

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-11-11 08:53:43 +01:00
Alexander Shiyan
a84fbbe655 imx-usb-loader: Fix signed/unsigned arguments for printf
"%i" in format string requires a signed integer.
"%d" in format string requires a signed integer.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-11-11 08:52:05 +01:00
Sascha Hauer
c3a0d67f77 kernel-install: Add missing error messages
In some cases kernel-install can fail without printing anything. Add
error messages for these cases.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-11-05 08:38:05 +01:00
Sascha Hauer
61cf2b51bc add kernel-install tool for bootloader Spec
This adds a tool for installing kernels according to the bootloader
spec. systemd already has a similar tool, but it is limited to installing
kernels on the currently running system. The barebox kernel-install
tool instead can also be used to install kernels on removable media on a
development host for cross development. It is compiled in two variants,
as 'kernel-install' for the host and as 'kernel-install-target' using
$CROSS_COMPILE.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-10-14 15:28:06 +02:00
Sascha Hauer
904298deb0 Merge branch 'for-next/socfpga'
Conflicts:
	scripts/Makefile
2013-10-07 08:02:24 +02:00
Sascha Hauer
a293dc2753 Merge branch 'for-next/omap' 2013-10-07 08:00:39 +02:00
Sascha Hauer
ce8f489122 scripts/bareboxenv: Make locally used functions static
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-09-30 07:45:31 +02:00
Sascha Hauer
0b342aca51 scripts/omap_signGP: add getopt
Instead of using positional arguments add proper getopt support.
This also adds a help text.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-09-27 16:24:37 +02:00
Sascha Hauer
ac6d924301 scripts: Move omap4_usbboot to its own directory
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-09-27 14:12:01 +02:00
Sascha Hauer
b5f99965b6 scripts/Makefile: implement targetprogs-y
using obj-y for targetprogs only works until only a single program
is compiled. Adding the second one will end up in the linker trying
to link both together.

Add targetprogs-y to fix this.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-09-27 14:11:22 +02:00
Sascha Hauer
371c36da48 scripts/Makefile: cleanup
Sort so that we have the object files on top, sorted by hostprogs-y and
then subdir-y.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-09-27 11:14:52 +02:00
Sascha Hauer
947d79651e scripts: Add Altera SoCFPGA mkimage support
The Altera SoCFPGAs expect a simple header for their first stage
loaders. This adds a tool to generate images for the SoCFPGAs. The
header is either embedded into the image or optionally prepended
to the image. In this case code is added to jump over the image
header.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-09-23 08:40:32 +02:00
Jean-Christophe PLAGNIOL-VILLARD
48eb76b554 add fix size tools
this will allow to write the size of barebox at an offset of the binary

this is needed for ARM when using relocated binary

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-09-18 09:17:13 +02:00
Sascha Hauer
ec102f635b Merge branch 'for-next/mvebu' 2013-09-05 10:38:46 +02:00
Sascha Hauer
e147a7e2bb Merge branch 'for-next/misc' 2013-09-05 10:38:31 +02:00
Darren Garnier
e6b4e599b7 small tweeks to build system for compatibility on MacOS X
Signed-off-by: Darren Garnier <dgarnier@reinrag.net>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-09-03 20:22:26 +02:00
Sascha Hauer
dbd47524f4 ARM: mvebu: introduce multi image support
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-08-16 08:45:37 +02:00
Sascha Hauer
d3924e4fe5 imx-image: Align image size
Several boot modes on i.MX can't cope with partial pages or
non word aligned image lengths, so align the size to 4k.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-08-15 14:53:17 +02:00
Sascha Hauer
9ebb0554cd Merge branch 'for-next/misc' 2013-08-05 12:49:58 +02:00
Sascha Hauer
b1aae799f9 Merge branch 'for-next/lz4' 2013-08-05 12:49:46 +02:00
Sascha Hauer
88c0f38e19 scripts: run imxcfg files through cpp
To allow defines and includes.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-07-22 16:17:06 +02:00
Sascha Hauer
cf7c8f37d6 scripts: imx-image: allow semicolon as command delimiter
When we want to pass the imxcfg files through cpp we also want to
allow defines which define multiple commands. For this to work we
have to use an additional command delimiter as we can't pass '\n'
though cpp. Use ';' for this.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-07-22 16:17:01 +02:00
张忠山
c6d4b14ad9 create directory for dir/file.o
kbuild: create directory for dir/file.o

When add a obj with dir to obj-y, like this

    obj-y += dir/file.o

The $(obj)/dir not created, this patch fix this.

When try to add a file(which in a subdir) to my board's obj-y, the build
progress crashed.

For example, I use at91rm9200ek board, and in kernel dir run:

  mkdir objtree
  make O=objtree at91rm9200_defconfig
  mkdir arch/arm/mach-at91/dir
  touch arch/arm/mach-at91/dir/file.c

and edit arch/arm/mach-at91/dir/file.c to add some code.
then edit arch/arm/mach-at91/Makefile, change the following line:

  obj-$(CONFIG_MACH_AT91RM9200EK) += board-rm9200ek.o

to:

  obj-$(CONFIG_MACH_AT91RM9200EK) += board-rm9200ek.o dir/file.o

Now build it:

  make O=objtree

Then the error appears:
  ...
  CC      arch/arm/mach-at91/board-rm9200dk.o
  CC      arch/arm/mach-at91/board-rm9200ek.o
  CC      arch/arm/mach-at91/dir/file.o
  linux-2.6/arch/arm/mach-at91/dir/file.c:5:
    fatal error: opening dependency file
    arch/arm/mach-at91/dir/.file.o.d: No such file or directory

Check the objtree:
  LANG=en ls objtree/arch/arm/mach-at91/dir
  ls: cannot access objtree/arch/arm/mach-at91/dir: No such file or directory

It's apparently that the target dir not created for file.o

Check kbuild source code. It seems that kbuild create dirs for that in
$(obj-dirs).  But if the dir need not to create a built-in.o, It should
never in  $(obj-dirs).

So I make this patch to make sure It in  $(obj-dirs)

Signed-off-by: 张忠山 <zzs213@126.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-07-22 08:38:01 +02:00
Kyungsik Lee
cdc837f4d9 lib: Add support for LZ4-compressed kernel
This patch adds support for extracting LZ4-compressed kernel images,
as well as LZ4-compressed ramdisk images in the kernel boot process.

This depends on the patch below
decompressor: Add LZ4 decompressor module

Signed-off-by: Kyungsik Lee <kyungsik.lee@lge.com>
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-07-16 08:24:30 +02:00
Sascha Hauer
a884920c51 ARM: generate imx dcd.S files as *.dcd.S
The compiled in dcd images generate an intermediate assembly file. Instead
of generating them as *.S generate them as *.dcd.S to better identify them
as generated files. These are then added to .gitignore.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-07-10 14:29:06 +02:00
Sascha Hauer
939c2173a3 Merge branch 'for-next/multi-image' 2013-07-01 10:14:40 +02:00
Sascha Hauer
35faccbb1c Merge branch 'for-next/kconfig-update' 2013-07-01 09:37:28 +02:00
Sascha Hauer
82915c3a6a imx-image: fix path to imx-image binary
$(obj) doesn't necessarily contain the toplevel object path. Use
$(objtree) for this.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-06-26 23:43:19 +02:00
Sascha Hauer
61373caa29 imx-usb-loader: Add i.MX6 Solo/DualLite support
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-06-25 16:01:39 +02:00
Sascha Hauer
34870a5ec7 kconfig: sync to linux v3.10-rc6
This brings us some new features like directly jumping to search results.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-06-21 08:51:19 +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
134a788ac5 scripts: Add imx-usb-loader tool
This adds host tools for i.MX to generate the i.MX internal
flash header format and a tool to upload these images to an
i.MX SoC via USB.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-31 08:31:41 +02:00
Sascha Hauer
fa49b39bb4 pbl: Fix typo in make causing pbl files to be rebuilt
We had pbl_cc__o_c instead of pbl_cc_o_c. This caused all pbl object
files to be rebuilt everytime due to missing .cmd file.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-25 15:11:08 +02:00
Sascha Hauer
c08215ada6 kbuild: always run gcc -E on *.dts, remove cmd_dtc_cpp
Based on the same Linux commit from Stephen Warren:

commit b40b25fff8205dd18124d8fc87b2c9c57f269b5f
Author: Stephen Warren <swarren@nvidia.com>
Date:   Wed Mar 6 10:58:37 2013 -0700

    kbuild: always run gcc -E on *.dts, remove cmd_dtc_cpp

    Replace cmd_dtc with cmd_dtc_cpp, and delete the latter.

    Previously, a special file extension (.dtsp) was required to trigger
    the C pre-processor to run on device tree files. This was ugly. Now that
    previous changes have enhanced cmd_dtc_cpp to collect dependency
    information from both gcc -E and dtc, we can transparently run the pre-
    processor on all device tree files, irrespective of whether they
    use /include/ or #include syntax to include *.dtsi.

    Signed-off-by: Stephen Warren <swarren@nvidia.com>
    Acked-by: Rob Herring <rob.herring@calxeda.com>

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-20 15:53:06 +02:00
Sascha Hauer
c478aa16b1 scripts: fixdep: update from v3.10-rc1
This brings us the following which we need for dtb file generation.

  commit 2ab8a99661f4ce052bbad064237c441371df8751
  Author: Stephen Warren <swarren@nvidia.com>
  Date:   Wed Mar 6 10:27:45 2013 -0700

      kbuild: fixdep: support concatenated dep files

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-20 15:53:06 +02:00
Thomas Petazzoni
3b40d183eb scripts/kwbimage: add support for NAND ECC and page size header fields
The v0 header, used on Kirkwood, has some fields to indicate the type
of the NAND ECC, and the page size of the NAND. This commit adds
support for such fields, which are needed to support the Kirkwood
Guruplug platform.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-17 07:40:09 +02:00
Thomas Petazzoni
e041f86013 scripts/kwbimage: make image_boot_mode_id() return -1 on failure
The function image_boot_mode_id() converts the name of a boot media
into the corresponding Marvell specific code. However, 0 that we
currently used to indicate that the boot media name wasn't found,
could potentially be a valid value. So instead we use -1 to indicate a
failure.

This is also done in preparation to the introduction of
image_nand_ecc_mode_id(), which will convert a NAND ECC mode name into
the corresponding identifier. And in this case 0 is a valid identifier
of a NAND ECC mode, so we cannot use it to indicate a failure. Since
we want image_boot_mode_id() and image_nand_ecc_mode_id() to have a
consistent behavior, we change the former in this commit. The latter
is introduced in the next commit.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-17 07:40:05 +02:00
Thomas Petazzoni
25547d663c scripts/kwbimage: simplify the v1 image creation
We now assume that at most one binary header can be added, so we no
longer need to loop for all configuration options to find the binary
blobs. We simply find the binary blob configuration option in
'binarye' and use that when we need to generate the corresponding
header.

Also, just like we did for the v0 image creation, use
image_find_option() to find the value of the different options needed
to create the main header.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-17 07:40:01 +02:00
Thomas Petazzoni
e91abe2ec4 scripts/kwbimage: make the v0 image creation more flexible
Until now, the v0 image creation function was expecting the
configuration parameters to be ordered with first the configuration
parameters affecting the main header, then the DATA configuration
parameters that affect the extended header, then the payload.

However, with the recently added ability to override the destination
address or execution address, the configuration options corresponding
to those values may now appear at the end of the configuration
options. This commit allows to handle that by making the image
creation more flexible:

 - The configuration options for the main header are just searched
   amongst all options, the first match is used.

 - When building the extension header with the DATA options, all DATA
   options from the configuration file are used, in the order in which
   they appear in the kwbimage.cfg file.

This will for example allow a kwbimage.cfg for a v0 image to not
specify any destination or execution address, and simply override it
from the command line.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-17 07:39:56 +02:00
Thomas Petazzoni
d60819c626 scripts/kwbimage: add a few sanity checks
This commit uses the newly introduced image_count_options() function
to:

 - See if there is any DATA option that require the creation of an
   extended header for v0 header.

 - Verify that no more than one payload has been provided when
   creating a v0 header.

 - Verify that no more than one binary payload has been provided when
   creating a v1 header. Technically speaking, it is possible to
   support several payloads, but in real life, only one gets used, so
   we will only support that to make the code simpler for now. It can
   always be extended later on if needed.

 - Verify that no more than one payload has been provided when
   creating a v1 header.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-17 07:39:51 +02:00
Thomas Petazzoni
87f6faa450 scripts/kwbimage: add a new function image_count_options()
This function returns the number of configuration elements that match
a given type. Will be used to do some sanity checking of the number of
options.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-17 07:39:39 +02:00
Sebastian Hesselbarth
87f486c7f1 scripts: kwboot: add support for Marvell Dove
Marvell Dove SoC also has an UART bootmode to upload payload after
powerup. In contrast to Kirkwood and Armada 370/XP, Dove does not
respond to a special sequence sent on UART0 but requires to be
booted into UART bootmode by bootstraps. This is usually done by
pressing a push button that will set bootstraps accordingly.

This patch adds a new option, documentation and corresponding prompts
to support the above requirements. Also a left-over option ('-p')
is removed.

Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-14 07:10:13 +02:00
Sebastian Hesselbarth
2f4fcf1569 scripts: kwbimage: add references to Marvell Dove SoC
This adds some references to Marvell Dove as it is also supported by
kwbimage.

Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-14 07:09:30 +02:00
Thomas Petazzoni
0535713bbf scripts: add kwboot tool
This tool is used with Marvell EBU SoC to trigger the UART boot mode
provided by the SoC BootROM, and push the bootloader image to the
target using the Xmodem protocol.

It has been taken from the U-Boot source code, with minor
modifications to make it work with Armada 370/XP platforms.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-11 17:23:36 +02:00
Thomas Petazzoni
a2a728c416 scripts: new kwbimage manipulation tool for Marvell SoC boot images
The Marvell EBU SoCs (Kirkwood, Armada 370, Armada XP) have a BootROM
that understand a specific image format, composed of a main header,
several extension headers and a paylod. This image can be booted from
NAND, SPI, SATA, UART, NOR, etc.

This patch adds a tool that allows to extract the components and
configuration of existing images, and to create new images.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-11 17:22:55 +02:00
Sascha Hauer
c8af035b41 Merge branch 'for-next/misc' 2013-05-06 09:30:28 +02:00
Thomas Petazzoni
9e809ef431 scripts: allow lines longer than 80 cols with printf() in checkpatch
The checkpatch.pl script is also used to validate user-space code in
the scripts/ directory, so it should allow printf() lines to be longer
than 80 columns.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-06 09:20:29 +02:00
Sascha Hauer
8474cc900f dtc: remove autogenerated modules.order
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-04-11 16:35:24 +02:00
Sascha Hauer
0a637bcc3c Merge branch 'for-next/zynq'
Conflicts:
	arch/arm/Makefile
2013-04-04 23:23:19 +02:00
Sascha Hauer
c4da77611c Merge branch 'for-next/oftree' 2013-04-04 14:20:32 +02:00
Lucas Stach
90ab1ee199 dtc: add .gitignore for generated files
Signed-off-by: Lucas Stach <dev@lynxeye.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-04-03 14:18:42 +02:00
Steffen Trumtrar
26121ef51d ARM: zynq: add zynq fsbl checksum script
The bootrom only reads an image if the correct checksum is present in the
header. The calculation is pretty simple:
sum over all words from 0x20 to 0x44
Two of this words are the image length. That is why the checksum can not be
calculated until barebox_image_size is known.
The easiest solution is a program that has to be run after make.

Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-03-27 09:23:49 +01:00
Sascha Hauer
e6ec5937e3 Makefile.lib: Add dtc support
Add rules to generate dtb files from dts/dtsi files,
optionally run the source files through the preprocessor.
Also add a rule to generate object files to include in
the barbox binary.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-03-12 18:43:31 +01:00
Sascha Hauer
e748e6c601 scripts: Add dtc
This adds the devicetree compiler to barebox. This is taken
without changes from Linux v3.8

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-03-12 18:43:25 +01:00
Sascha Hauer
d5c0d3ee9c Make: update setlocalversion from the kernel
This syncs the localversion generation with the kernel.

At least one effect is that a barebox built from a tar archive no
longer marks itself as dirty. Also it moves some stuff from a scary
Makefile to a not-so-scary shell script.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-03-09 20:14:15 +01:00