Commit graph

14274 commits

Author SHA1 Message Date
Lucas Stach
b731a61ab5 arm: bootm: be more clever about kernel spacing
When the kernel load address is chosen by the user/image we need
to check if the kernel needs to relocate itself before decompression.
If that's the case the spacing behind the kernel must allow for this
relocation without overwriting anything placed behind the kernel.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2016-03-01 07:32:13 +01:00
Lucas Stach
a324fb5ace arm: bootm: unify kernel load address calculation
Instead of having the same logic for uImage and zImage types duplicated
in the code, split it out into a separate function. This does not change
the behavior of the calculation.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2016-03-01 07:32:13 +01:00
Sascha Hauer
c702745997 dts: update to v4.5-rc5
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2016-02-29 08:10:52 +01:00
Sascha Hauer
0bfe40ba77 dts: update to v4.5-rc4
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2016-02-29 08:10:43 +01:00
Sascha Hauer
25ed1e9b08 dts: update to v4.5-rc3
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2016-02-29 08:10:35 +01:00
Sascha Hauer
246266c205 serial: imx: Support DTE mode
Based on Kernel commit 20ff2fe60a: serial: imx: add support for DTE mode

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2016-02-26 07:54:15 +01:00
Peter Mamonov
d7d0c7a0bb input: usb keyboard: fix CTRL+ combinations
Signed-off-by: Peter Mamonov <pmamonov@gmail.com>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Trent Piepho <tpiepho@kymetacorp.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2016-02-26 07:52:17 +01:00
Antony Pavlov
380a2a5dbe MIPS: black-swift: pbl: use more lowlevel init code from U-Boot_mod
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Reviewed-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2016-02-26 07:51:07 +01:00
Antony Pavlov
7b702216db MIPS: tplink-mr3020: pbl: use more lowlevel init code from U-Boot_mod
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Reviewed-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2016-02-26 07:51:03 +01:00
Antony Pavlov
41e4334fcc MIPS: ath79: pbl: import hornet_1_1_war routine from U-Boot_mod
U-Boot_mod is a popular bootloader for Atheros AR93xx chips,
please see https://github.com/pepe2k/u-boot_mod for details.

It's reasonable to import some lowlevel AR9331 initialization
code from U-Boot_mod.

AR9331 (Hornet) 1.1 currently needs an additional
reset at 1st boot. This patch imports necessary code
from u-boot_mod/u-boot/cpu/mips/start_bootstrap.S.

Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Reviewed-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2016-02-26 07:50:57 +01:00
Antony Pavlov
8dc07d4792 MIPS: ath79: pbl: import AR9331 CP0 init routine from U-Boot_mod
U-Boot_mod is a popular bootloader for Atheros AR93xx chips,
please see https://github.com/pepe2k/u-boot_mod for details.

It's reasonable to import some lowlevel AR9331 initialization
code from U-Boot_mod.

This patch imports AR9331 MIPS24K coprocessor0 initialization
code from u-boot_mod/u-boot/cpu/mips/start_bootstrap.S.

Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Reviewed-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2016-02-26 07:50:42 +01:00
Sascha Hauer
fc5af2afc5 bootm: Fix booting uImages
This fixes:
0a37e22d (bootm: use names instead of numbers for image parts)

This commit switches to strings for the image numbers for better FIT
image support (which uses names instead of numbers). These strings
may be NULL when no image number is given. They are used uninitialzed
in several places. Introduce a wrapper function to convert the string
into a number. Check for NULL here in which case we return 0 which
is the correct value.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2016-02-25 13:29:05 +01:00
Antony Pavlov
f36700bc6c MIPS: dts: ar9331.dtsi: fix whitespace
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2016-02-25 09:50:48 +01:00
Alexander Kurz
c8db6508d8 Kconfig: avoid tabs in help text
Tabs in kconfig help text will create unwanted indention artefacs when
the help text is scrolled horizontally. Replacing tabs with spaces.

Signed-off-by: Alexander Kurz <akurz@blala.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2016-02-25 09:45:05 +01:00
Alexander Kurz
f4594878f5 edb9302 eth: provide proper phy config
The evaluation boards EDB9302 and  Olimex-CS-E9302 both use a
KS8721BL transceiver in default strapping which is phy_addr=1

Signed-off-by: Alexander Kurz <akurz@blala.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2016-02-25 09:42:48 +01:00
Alexander Kurz
a7932a35da EP93xx eth: allow passing of phy config via platform data
Passing phy configuration to the ep93xx_eth driver was not supported yet
and will be added with this patch. When no pdata is passed, the probably
broken default of phy_addr = 0 will be used to maintain compatibility
with the previous implementation.

Signed-off-by: Alexander Kurz <akurz@blala.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2016-02-25 09:42:29 +01:00
Antony Pavlov
2bea4f8768 commands: magicvar: make locally used magicvar_find() static
The patch fixes this compiler's warning:

    commands/magicvar.c:27:22: warning: no previous prototype for 'magicvar_find' [-Wmissing-prototypes]
     struct magicvar_dyn *magicvar_find(const char *name)
                          ^

Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2016-02-24 19:23:41 +01:00
Alexander Kurz
5bd9561e53 net ep93xx mii: do not supress MII preamble transmission
PHY like the ks8721bl used on the edb9302 and similar evaluation boards
will initially not respond to the ep93xx_phy_read/write functions when
the MII-preamble is supressed. The supression is switched on by default
and must be switched off by clearing bit 8, see also EP93xx Users guide.
Removing the orphaned MII_SUPPRESS_PREAMBLE config option, note:
setting MII_SUPPRESS_PREAMBLE would actually enable the preamble transmission.

Signed-off-by: Alexander Kurz <akurz@blala.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2016-02-24 19:23:40 +01:00
Peter Mamonov
051b39f683 input: usb keyboard: fix BACKSPACE
Signed-off-by: Peter Mamonov <pmamonov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2016-02-23 08:46:57 +01:00
Sascha Hauer
e8993bc545 Documentation: fastboot: fastboot erase is implemented
fastboot erase was implemented from the start, remove note stating
that it's not implemented.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2016-02-23 08:42:08 +01:00
Markus Pargmann
8be7ba7c61 Documentation: Update USB fastboot section
Add some documentation about fastboot 'flash' command and some useful
example how to use it to boot an initrd.

Signed-off-by: Markus Pargmann <mpa@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2016-02-23 08:39:11 +01:00
Antony Pavlov
b4d8ee6876 fs: fat: fix copy-paste typo
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2016-02-23 08:35:35 +01:00
Sascha Hauer
fe7855bb4f driver: Introduce dev_request_mem_resource
dev_request_mem_region returns a void * which shall be checked with
IS_ERR(), but in some cases the valid pointer returned clashes with
error values. This is especially the case on some Atmel SoCs.

This introduces dev_request_mem_resource which returns a struct resource
instead which in any case can be checked with IS_ERR(). It's the drivers
responsibility then to get the IOMEM pointer from the resource.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2016-02-23 08:15:57 +01:00
Sascha Hauer
8ee5479a28 driver: Fix return check of dev_request_mem_region
dev_request_mem_region returns an ERR_PTR, fix places which check for a
NULL pointer instead. This patch has been generated with this semantic
patch, written by me and improved by Andrey Smirnov:

// <smpl>
@@
expression e;
expression e1;
@@
e = dev_request_mem_region(...);
...
-if (!e)
-	return e1;
+if (IS_ERR(e))
+	return PTR_ERR(e);

@ rule1 @
expression e;
@@
e = dev_request_mem_region(...);

@@
expression rule1.e;
identifier ret, label;
constant errno;
@@
if (!e) {
	...
(
-	ret = -errno;
+	ret = PTR_ERR(e);
	...
	goto label;
|
-	return -errno;
+	return PTR_ERR(e);
)
}

@depends on rule1@
expression rule1.e;
@@
-	if (e == NULL)
+	if (IS_ERR(e))
{
...
}
// </smpl>

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
2016-02-23 08:14:16 +01:00
Sascha Hauer
4c24879f6a regulator: fixed: Init gpio properly
gpio has to be initialized with an invalid gpio number. 0 is a valid
number and it will be requested and used by the driver.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2016-02-23 08:05:39 +01:00
Stefan Christ
53eff047f9 mtd: core: check offset in mtd_block_markbad
Check if the given offset is valid for the mtd device. Print an error
message if not to inform the user in the command 'nand'.

Signed-off-by: Stefan Christ <s.christ@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2016-02-23 07:56:28 +01:00
Sascha Hauer
68a5d9c0eb ARM: socfpga: terasic sockit: Make locally used sys_mgr_init_table static
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2016-02-18 16:40:40 +01:00
Markus Pargmann
24ff0ab0fa fastboot: Fix usage of ubiformat for UBI image transfers
Currently all fastboot flash commands with UBI images are handled by a
final call to 'ubiformat'. This only makes sense for flash commands
where the target file is a mtd device. If we just want to transfer a UBI
image we would expect a simple copy to the correct location.

This patch checks if the destination file is a MTD device by opening it
and calling an ioctl MEMGETINFO. Only for MTD devices, ubiformat is
called.

Signed-off-by: Markus Pargmann <mpa@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2016-02-18 16:10:11 +01:00
Markus Pargmann
7290110f1a bbu: Add function to check if an update handler exists
This adds a function to check for the existence of an update handler
based on the supplied bbu_data.

Signed-off-by: Markus Pargmann <mpa@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2016-02-18 16:10:11 +01:00
Markus Pargmann
473da9de5b bbu: Add barebox_update search by device
bbu_data includes a devicefile information. Add the possibility to make
an update based on the given devicefile. This is in addition to the
normal search for a barebox update handler by its name.

Signed-off-by: Markus Pargmann <mpa@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2016-02-18 16:10:11 +01:00
f1f8f5556a bootm: Free allocated fdt buffer in error path
It seems like there is a memory leak in an error path of
bootm_open_oftree_uimage() where the memory allocated for the fdt is not
released again.

Signed-off-by: Harald Welte <laforge@gnumonks.org>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2016-02-18 12:58:20 +01:00
2b480855e6 Print error message if of_state_fixup() fails
If of_state_fixup() fails for some reason, boot/bootm will fail, too

However, it is completely unclear where the error has happened, and to
the user it rather seems like the kernel device tree loaded from some
file was broken/corrupt, not that in fact some fixup routine was
failing.

Adding a meaningful error message can help debugging significantly.

Signed-off-by: Harald Welte <laforge@gnumonks.org>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2016-02-18 12:57:44 +01:00
a29f5e9d50 eeprom/at25: parse partitions from device tree
Unlike at24 (I2C), the at25 (spi) EEPROM driver doesn't check if the
device tree node contains partition definitions.  This means that one
for example cannot have bootstate partitions on an at25 EEPROM, while it
works on an at24 EEPROM.

This patch adds device tree based partition support to the at25 driver.

Signed-off-by: Harald Welte <laforge@gnumonks.org>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2016-02-18 12:20:31 +01:00
Antony Pavlov
66770e6a02 fs: ext4: make locally used ext4fs_get_indir_block() static
The patch fixes this compiler's warning:

      CC      fs/ext4/ext4_common.o
    fs/ext4/ext4_common.c:130:5: warning: no previous prototype for
    'ext4fs_get_indir_block' [-Wmissing-prototypes]
     int ext4fs_get_indir_block(struct ext2fs_node *node, struct
    ext4fs_indir_block *indir, int blkno)
         ^

Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2016-02-17 13:50:50 +01:00
Philipp Zabel
2b47e52795 process_escape_sequence: add support for \u
Expand the \u escape sequence to the user currently set in the
$global.user variable.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2016-02-17 13:50:45 +01:00
Philipp Zabel
2629cc9d46 Documentation: usb: fix otg mode parameter description
Replace ``device`` otg.mode option with the correct ``peripheral``.

Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2016-02-17 09:10:49 +01:00
Teresa Remmet
48921a46eb ARM: AM335x: Make use of ARM_USE_COMPRESSED_DTB
Use ARM_USE_COMPRESSED_DTB for all AM335x based board,
to reduce the image size even more.

Saves about 9kB in MLO image and 20kB in barebox image.

Signed-off-by: Teresa Remmet <t.remmet@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2016-02-17 08:20:59 +01:00
Teresa Remmet
49376db41d ARM: dts: beaglebone: Strip clocks in MLO device tree
Reduce even more size of beaglebone MLO device tree with stripping
the clocks.

Signed-off-by: Teresa Remmet <t.remmet@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2016-02-17 08:20:59 +01:00
Teresa Remmet
b522f515f8 ARM: boards: phytec-som-am335x: New RAM Timings for phyCORE-AM335x-R2
Add RAM timings for phyCORE-AM335x-R2 256MB RAM.

Signed-off-by: Teresa Remmet <t.remmet@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2016-02-17 08:20:59 +01:00
Arnd Beuscher
b8755c1362 ARM: board: phytec-som-am335x: RAM timings for phyCORE-AM335x-R2
Add RAM Timings for new phyCORE-AM335x-R2 SoM with
512MB (MT41K256M16TW107IT).

Signed-off-by: Arnd Beuscher <a.beuscher@phytec.de>
Sigend-off-by: Teresa Remmet <t.remmet@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2016-02-17 08:20:59 +01:00
Jan Remmet
9d8c6bbc7d ARM: dts: am335x-phytec: eeprom name
use eeprom as name like in the kernel. This is needed if you use the
state framework.
phycard: also fix index, it has address 0x54

Signed-off-by: Jan Remmet <j.remmet@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2016-02-17 08:20:59 +01:00
Teresa Remmet
1061650b26 ARM: am335x_defconfig: Enable watchdog support
Enable wdt driver and command.

Signed-off-by: Teresa Remmet <t.remmet@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2016-02-17 08:20:59 +01:00
Wadim Egorov
b93b636c83 ARM: am335x_defconfig: Enable NANDTEST command
Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2016-02-17 08:20:59 +01:00
Stefan Christ
233a2fbd9f ARM: imx6: physom: fix phyflex workaround on Dual and Solo
Since commit 764ae1647c ("ARM: i.MX: Add correct SoC type detection
for i.MX6") the definition of the function cpu_is_mx6q and cpu_is_mx6dl
has changed.  Before that change they match the SoM family Quad/Dual and
DualLite/Solo. After that change they are SoM specific. They match only
Quad and DualLite. There are extra functions cpu_is_mx6d and cpu_is_mx6s
for SoM Dual and Solo.

We have not seen any real world consequences of this problem yet.

Signed-off-by: Stefan Christ <s.christ@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2016-02-17 08:06:53 +01:00
Stefan Christ
41305f025e ARM: imx: clocksource: add new DT compatible
Since commit 0ff58575c9 ("dts: update to v4.5-rc1") the compatible
"fsl,imx6q-gpt" was removed from imx6dl.dtsi. Now there is only the
Solo/DualLite specific compatible "fsl,imx6dl-gpt".  Adapt the driver
for that change.

Signed-off-by: Stefan Christ <s.christ@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2016-02-17 08:06:53 +01:00
Stefan Christ
113e230d68 ARM: i.MX6: add function cpu_is_mx6s()
The cpu_is_mx6* function for the i.MX6 Solo was missing. All other
functions are already defined.

Signed-off-by: Stefan Christ <s.christ@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2016-02-17 08:06:53 +01:00
Lucas Stach
1a180cd3b6 bootm: parse initrd and oftree into correct struct members
The code parsing the oftree and initrd file names is clearly wrong,
leading to bootm not loading oftree or initrd files any more.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2016-02-15 07:32:35 +01:00
Lucas Stach
b80ff0f035 bootm: restore load DT message for plain oftree files
This message was dropped when reorganizing the DT loading code,
and it's really confusing to miss this.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2016-02-15 07:32:35 +01:00
Steffen Trumtrar
f8b1f83361 crypto: add i.MX6 CAAM support
Add the i.MX6 crypto core CAAM with support for the random number
generator.

The core itself works with jobrings in which descriptors can be
queued/dequeued for processing. Depending on descriptor type
the CAAM unit then either produces random numbers or decrypts/encrypts
data.

The code is based on the Linux v4.1 driver of the same name
without all the crypto/hashing components.

Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2016-02-15 07:30:45 +01:00
Steffen Trumtrar
377089849a ARM: imx6: add caam clks
Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2016-02-15 07:30:45 +01:00