The environment on the QSB is configured via devicetree, but in
the code there's also a /dev/env0 registered which is unused. Remove
it.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Otherwise the write would be skipped if we are already running on the main CPU
cluster. In practice this means that a second stage barebox will reuse the DT
of the first stage, instead of using it's own.
Signed-off-by: Lucas Stach <dev@lynxeye.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
The roofs is mounted from nand when booting from spi. The VID header offset
was set fix to 2048. This is not needed any more. Removed it like it was done
for nand.
Signed-off-by: Teresa Gámez <t.gamez@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
We double the partition size for barebox-env and oftree to be
more robust against bad block issues.
Signed-off-by: Teresa Gámez <t.gamez@phytec.de>
Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
We double the partition size for barebox-env and oftree to be
more robust against bad block issues.
Signed-off-by: Teresa Gámez <t.gamez@phytec.de>
Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
The main idea behind this patch is to avoid redundant board code.
Because of the module similarities of all am335x based phytec boards, we can
merge its code.
The phytec-som-am335x merges the code of all am335x based phytec SOMs.
So we will have only one "board" in the barebox for phyCORE, phyFLEX.
Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Some console parameters where faulty named bootargs.base. Which does
not have any effect. Removed them where possible and renamed the others
to linux.bootargs.console.
Signed-off-by: Teresa Gámez <t.gamez@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Add support for the Altera SoCFPGA Development Kit.
The setup is based on the GHRD from Altera.
Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Fixes:
In function `gpio0_poweroff_probe': undefined reference to `poller_register'
Signed-off-by: Lucas Stach <dev@lynxeye.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
I stumbled across this option a few times already and always found it
to be at least confusing when and why it should be enabled.
Since commit b7451329b5 (ARM: OMAP3: invalidate L2 cache using ROM API)
it is actually unused and only adds confusion. Better remove it.
Signed-off-by: Lucas Stach <dev@lynxeye.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
PIE is a form of dynamic linking and thus inherently incompatible
with -static. It worked ok as the current behavior of ld.bfd is
to not respect -static if -pie has been specified.
ld.gold and future versions of ld.bfd will fail to link if both
of those incompatible switches are specified at the same time.
Signed-off-by: Lucas Stach <dev@lynxeye.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Sometimes it's useful to test if a memory operation works or
aborts. This adds data_abort_mask() to ignore data aborts and
data_abort_unmask() to enable them again. This is used in the
next step for the 'md' command so that illegal addresses just
show 'xxxxxxxx' instead of crashing the system.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
So users can pass in device memory pointers without provoking
warnings.
Signed-off-by: Lucas Stach <dev@lynxeye.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This was broken in 558d72dc51 (ARM Samsung: fix booting from NAND with
pbl). '_text' is TEXT_BASE when building without pbl and (TEXT_BASE -
SZ_2M) when building with pbl, so this works in both cases.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This patch switches the SAMA5D4EK development board to the newer environment method.
This patch depends on "mtd partition handling updates" patch series from Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Doug Brainard <dbrainard@brainardinsight.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Using a dedicated variable makes it easier to change the console= parameter
without affecting other values. Also the linux.bootargs.console variable is
already used by common/console.c. Using the same variable in the environment
avoids giving duplicate console= twice to the kernel
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Suggested-by: Teresa Gámez <t.gamez@phytec.de>
This is not necessary since for OMAP and i.MX the console= parameter is
initialized by the serial driver.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Suggested-by: Teresa Gámez <t.gamez@phytec.de>
the uart4 is on the extention header
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
GXemul supports MIPS Malta but with some limitations.
The most notable problems:
* PCI-enabled barebox just hangs under GXemul;
* by default gxemul uses 5Kc processor,
so we have to force MIPS32R1 processor usage.
To fix these problems the special gxemul-malta_defconfig
is introduced and the board's documentation is updated.
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
qemu-malta.dts uses clock-frequency = <1843200>,
but debug_ll.h for Malta uses another value.
This patch fixes this inconsistency.
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
As the at91sam9n12 series includes at91sam9n12, at91sam9cn11,
at91sam9cn12. So, add subtype to distinguish them.
Signed-off-by: Bo Shen <voice.shen@atmel.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Here is Franck Jullien's comment (see
http://lists.infradead.org/pipermail/barebox/2015-February/022259.html):
> Until now, the official openrisc toolchain was called or32.
> However, the new one (and maintained one) is called or1k. So we need
> to change "elf32-or32" to "elf32-or1k" in barebox.lds.S.
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Cc: Franck Jullien <franck.jullien@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Added a new compatible type for am335x phytec SOMs
"phytec,am335x-som"
Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
To support different module variants, this patch splits the phyFLEX DT
in dts and dtsi.
And we are also adding a DT for the MLO, which has all bootable devices
disabled. The bootsource is checked in the board file and only the needed
device is enabled and registered.
Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Here is checkpatch.pl log:
WARNING: space prohibited between function name and open parenthesis '('
#134: FILE: arch/arm/mach-bcm2835/core.c:75:
+void __noreturn reset_cpu (unsigned long addr)
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
increase the mbox timeout as it take more time to retreive the mac
fix led register too
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
this will allow to handle IP power automatically and not at board level
Mainline kernel need this as they do not have the regulator driver support
as some IP such as USB are not power on at boot
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
as the name is very long, return ps1 to the next line
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
The created device name for atmel udc is at91_udc while not
at91_udc0.
Signed-off-by: Bo Shen <voice.shen@atmel.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Add support for the Intel XScale PXA255 development system platform.
Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Add support for the PXA25X SoC family, the oldest of the PXA serie.
Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Instead of introducing new functions each time a new power supply
situation is to be added, this patch adds parameters to mx28_power_init.
Right now there are three parameters:
- has_battery - true when this board has a battery.
- use_battery_input - true when this board is supplied from the
battery input, but has a DC source instead of a real battery
- use_5v_input - true when this board can use the 5V input
The third one is introduced with this patch and allow to boot a board from 5v
(USB) source only. The main necessary change this needs is that the DC-DC
converter must always be sourced from DCDC_4P2 (DROPOUT_CTRL field of
HW_POWER_DCDC4P2)
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
For Blackfin, C symbols are prefixed with '_'.
If CONFIG_CMD_MAGICVAR is enabled for Blackfin, the following error occurs:
commands/built-in.o: In function `do_magicvar':
commands/magicvar.c:(.text+0x3326): undefined reference to `__barebox_magicvar_start'
commands/magicvar.c:(.text+0x332a): undefined reference to `__barebox_magicvar_end'
commands/magicvar.c:(.text+0x332e): undefined reference to `__barebox_magicvar_start'
commands/magicvar.c:(.text+0x3332): undefined reference to `__barebox_magicvar_end'
make: *** [barebox] Error 1
Add '_' to __barebox_magicvar_start and __barebox_magicvar_end,
like the other symbols in this linker script.
Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Since include/linux/linkage.h includes <asm/linkage.h>, the basic
coding style we should follow is:
- <linux/linkage.h> should contain default macro defines
- <asm/linkage.h> can define arch-specific macros and override the
default ones in <linux/linkage.h>
The arch/blackfin/include/asm/linkage.h has redundant defines that
are already defined in <linux/linkage.h>.
Replace it with the one imported from Linux 3.19-rc6.
Generally, <asm/linkage.h> should not be included directly.
Fix two files to include <linux/linkage.h> instead.
Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
The relocated_to_adr does not clear the .bss section.
It is done by the setup_c routine.
Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
We do not have to build an unneeded file to create the built-in.o.
Just add a dummy string to "obj-".
(dummy.c does not need to exist.)
Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
These comments are wrong. Anyway, they do not carry useful
information. Delete.
Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
The parameters ECC Strength, BadBlockMarkerByte and BadBlockMarkerStartBit in
the FCB structure depends on the nand chip's pagesize and oobsize. Instead of
hardcoding these values into the imx6 bbu handler calculate these values on the
fly. Therefore we export the necessary functions from the nand_mxs driver to
use them in the bbu handler.
Signed-off-by: Stefan Christ <s.christ@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Add the missing has_pmecc parameter for sama5d4 based boards.
Signed-off-by: Bo Shen <voice.shen@atmel.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Add partitions oftree and kernel on SPI NOR and increase size of barebox and
barebox-environment partition.
Signed-off-by: Stefan Christ <s.christ@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
The i.MX6 NAND update handler sets all bytes of OOB data to 0x00 in pages that
contain the FCB structure currently. So the first and second byte which is
used as the manufacturers bad block marker is in the 'bad block' state. A scan
for factory bad blocks will detect these blocks as bad while they are still ok.
The barebox issues a scan for factory bad blocks to rebuild the bad block table
if the NAND is brand new or the last four blocks of flash are erased.
To fix this problem set the first two bytes of OOB data to 0xFF explicitly.
There is a potential chance that the bbu handler will mark a real bad block as
factory good. That's not a problem for the ROM Loader, because the FCB is
protected by a checksum and the hamming_13_8 encoding. Additionally the current
implementation of the bbu handler does not check the bad block table or the
factory bad block marker before writing the FCB at the first page of the first
and second block.
Signed-off-by: Stefan Christ <s.christ@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
NAND chip used on phyFLEX-i.MX6 with 4GB NAND (MT29F32G08AFACAWP) has
512k eraseblock size.
Align NAND partitions by 512k to fix erase fails.
Also increase barebox-environment and oftree partitions to be two
eraseblocks. This will ensure safety in case of bad block.
Signed-off-by: Dmitry Lavnikevich <d.lavnikevich@sam-solutions.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Add support phyFLEX-i.MX6 SOM with 1GB on one ram bank
Signed-off-by: Christian Hemp <c.hemp@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
The ocotp device is completely SoC internal, no need to register
it from boards. Register it from SoC code instead.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
When a device tree is present the SoC internal devices come from
it, so do not register them as platform devices.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
mxs_power_init_4p2_params and mxs_power_init_4p2_regulator are used
only once, so inline the code.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
The brownout setting can be at maximum 7*25mV below the voltage
setting of the regulator. Set it to the minimum Voltage which is
1325mV.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
On the SAMA5D33 and SAMA5D35 the GMAC PHY ID is 1 while not 7.
So, let the GMAC auto detect phy id, or else hard code to 7,
it can not work on these two boards.
Signed-off-by: Bo Shen <voice.shen@atmel.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
On the SAMA5D35 the EMAC phy addr is 1 while not 0. So, let
the EMAC auto detect phy addr, or else hard code to 0, the
ethernet can not work on SAMA5D35 board.
Signed-off-by: Bo Shen <voice.shen@atmel.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
As the 1-wire and LED d2 use the same pin (PE25) on the EK board.
So, make LED enable only when the 1-wire is disabled.
Signed-off-by: Bo Shen <voice.shen@atmel.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This switches the imx28evk to new environment and updates the
defconfig file for tons of new features.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This switches the imx28evk to multiimage support and adds the
lowlevel initialization to make the bootlets unnecessary.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Add USB host support for all phycore-som based boards.
Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Add the first pxa3xx board, zylonite. Zylonite is the Marvell System
Development Platform.
Several version are available, based on either :
- PXA300
- PXA310
- PXA320
This version was only tested on a PXA310 based board, and uses :
- the ethernet controller
- the nand controller
These drivers seem to be common to all zylonite boards.
Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Add the pxa3xx architecture, for pxa300, pxa310 and pxa320 SoCs.
This includes :
- the registers
- the cpu type
- the reset source handling
- a minimal set of clocks
- pin control definitions
In this last case, the big mfp-pxaxxx.h files were dropped, forcing
board developers to use MFP_LPM_* macros cunningly.
Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Move reset_source detection and poweroff to pxa2xx.c, to prepare the
incoming pxa3xx reset_source detection.
Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Add code so that when booting from different SDHCI controllers barebox
would correctly set up where to look for bootloader environment.
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Add code to explicitly check for success of of_device_enable_path()
when selecting which media is expected to contain barebox environment.
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Separate SoM(designator PFLA02) specific and base board(designator
PBAB0x) code into two distinct functions. PHYTEC default environment
for PHYFLEX references peripherals that may or may not be used on
custom baseboards used with SoMs. Move the code appending it into a
separate function that would have effect only for boards explicitly
claiming compatibility with PHYTEC baseboards.
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Correct the function and board name for sama5d4 xplained board.
Signed-off-by: Bo Shen <voice.shen@atmel.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
ENTRY_FUNCTION() references __barebox_arm_head(),
so <asm/barebox-arm-head.h> should be included from barebox-arm.h
to avoid implicit declaration warning/error.
ENTRY_FUNCTION() uses __naked, so <linux/compiler.h> should also be
included.
Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This allows "make ARCH=... defconfig".
Fox example, you can type "make defconfig" instead of
"make sandbox_defconfig".
Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
The definition of "comma" exists in scripts/Kbuild.include.
We should not double it.
Note:
This was already fixed in Linux Kernel too.
See commit 226422d08c33 of Linux Kernel.
Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This patch imports the sequencer code from uboot using the new script
scripts/socfpga_get_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>
Use the new socfpga_mem_calibration function. This is a sideeffect of
the new script to import generated sequencer code. The return value of
the function is 1 if the calibration succeeds, 0 otherwise.
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>
Altera's U-Boot tree has following commit
FogBugz #159721: Enhance Arria V MPU clock to 1050MHz
It writes to the two undocumented registers
CLKMGR_ALTERAGRP_MPUCLK
and
CLKMGR_ALTERAGRP_MAINCLK
to setup the SoC for higher clocks.
Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This file originates in Linux. Linux has it under include/linux/
directory since commit dccd2304cc90.
Let's move it to the same place as well in barebox.
This commit was generated by the following commands:
find -name '*.[chS]' | xargs sed -i -e 's:<sizes.h>:<linux/sizes.h>:'
git mv include/sizes.h include/linux/
Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Currently, MIPS is the only architecture that needs
include/generated/asm-offsets.h, but we have got ./Kbuild file now.
It is a good reason to move asm-offsets.h rule from arch/mips/Makefile
to ./Kbuild and add dummy asm-offsets.c for the other architectures.
asm-offsets.h would be useful for all the architectures.
This commit does not implement include/generated/bounds.h,
but if necessary, it is easy to implement it.
Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
broken since
commit ed6e965824
Author: Sascha Hauer <s.hauer@pengutronix.de>
resource: Let dev_request_mem_region return an error pointer
Introduce dev_request_mem_region_err_null
only used on platform like at91 where the resource address conflicts
with errno PTR.
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
useful to use it for testing on qemu
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
since
commit 54bccadddd
Author: Raphaël Poggi <poggi.raph@gmail.com>
mtd: atmel_nand: retrieve ecc_mode from pdata
break most of the non atmel AT91 boards that did not provide a ecc_mode
params in the nand pdata
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Acked-by: Raphaël Poggi <poggi.raph@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Booting a beaglebone black from eMMC is broken since:
commit 0d6392de4a
Author: Sascha Hauer <s.hauer@pengutronix.de>
Date: Thu Jun 5 12:09:07 2014 +0200
ARM: AM335x: Beaglebone: Use stripped down devicetree for MLO
The stripped down device tree does not have the eMMC device node which
the beaglebone black needs for booting. Add this node to the common dts
file, but keep it disabled. It gets enabled later with a call to
am33xx_of_register_bootdevice() when the system is booted from eMMC.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
We already have arch/arm/mach-versatile/include/mach/debug_ll.h
but HAS_DEBUG_LL is missed.
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
- Boot from NOR
- enable UBI
- use PBL
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
- Enable multi-image support to generate bootstream, sd-card and 2nd stage
images.
- Handle pin-mux in lowlevel.c only.
- Use fine-tuned memory setup from u-boot.
Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
The EMI pins are documented in the reference manual as using value 0 for both
1.8V and 2.5V. Value 1 is reserved.
Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
- enable multiimage support to generate bootstream, sd-card and 2nd
stage images
- Enable new defaultenv support
- Enable more features
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
The Freescale MXS SoCs have a multi staged boot process which needs
different images composed out of different binaries. The ROM executes
a so called bootstream which contains multiple executables. The first
one is executed in SRAM and the purpose of this binary is to setup
the internal PMIC and the SDRAM. The second image is usually the
bootloader itself. In case of barebox the bootstream is composed
out of the self extracting barebox image (pblx) and the prepare
stage for setting up the SDRAM.
The bootstream image itself is useful for USB boot, but for booting from
SD cards or NAND a BCB header has to be prepended to the image. In case
of SD boot the image has the .mxssd file extension in barebox.
Since the bootstream images are encrypted they are not suitable for
2nd stage execution. For this purpose the 2nd stage images are generated.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
U-Boot has code to replace the infamous Freescale bootlet code.
This patch adds this for barebox with some changes:
- Separate it more into mx23/mx28 functions instead of mxs functions
with #ifdefs for the actual SoC
- Add mx2x_power_init_battery_input() power entry point for boards
which have a regulated input on the battery pin to supply the board.
- Export more functions to be more flexible when boards need non standard
setup.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
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>
Now that we have printf support in the PBL we can use it right
after setup_c(). Add some debug messages to the early PBL code
to make it more clear what is happening there.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
pr_debug can now be used right after setup_c(), so add some debug
messages to the early startup code to make it a bit more clear what
is happening there.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
A lot of the arm build (especially PBL stuff) depends on section
garbage collection to be enabled. If it is disabled a lot of targets fail
to link properly. If module support is enabled garbage collection was
disabled on the premise that we throw away too many function which may be
needed in later modules.
The proper way to keep the functions around for use in modules, which
already works, is to annotate them with EXPORT_SYMBOL.
As module support is still marked as experimental I think it's reasonable
to expect users to make sure all symbols that are used by their modules
are properly annotated.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Only build it at the correct obj or pbl stage where
the entry is needed.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Provide the necessary types and defines used in this header.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This reverts commit 4b17d73c7d, as it is incomplete and partially
broken. ARCH_IMX_EXTERNAL_BOOT_NAND does not depend on MTD, it just uses
some defines from the mtd/nand header, but does not actually depend on MTD
being compiled in.
For the other two cases there is a more complete fix merged with commit
57b584d748 that also enables the needed MTD write support.
Fixes:
(MACH_TX25 && MACH_PCA100 && MACH_PCM038) selects ARCH_IMX_EXTERNAL_BOOT_NAND
which has unmet direct dependencies (ARCH_IMX && MTD)
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
The corresponding code doesn't use the lr register (neither explicitly
nor implicitly by the bl instruction), so there is no gain in using r2
here.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
A part of the existing comments was incomplete or missleading.
Adding the register name to mcr/mrc instructions helps finding the
corresponding documentation in the manuals.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Architecturally the cache contents are undefined so it might well
contain stale data at reset. So better be save than sorry.
I verifyed that the added instructions are defined for both, ARMv6 and
ARMv7, using the ARM Architecture Reference Manual, ARMv7-A and ARMv7-R
edition (ARM DDI 0406C.c). For the already existing mcr instruction see
the newly added comment.
This patch also unifies handling of ARMv6 and ARMv7, the isb instruction
can also be done on the latter via mcr which simplifies the code a bit.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
We do not have a root partition in spi flash any more.
Adapt comment.
Signed-off-by: Teresa Gámez <t.gamez@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Adds a command to drop back into the calling EFI process.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This allows to actually reset the system from barebox
instead of dropping back into the EFI firmware.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
The current iocsr-config-cyclone5.c is actually board specific, although the
file name suggests otherwise.
As the file was generated for the SoCkit, move it there and add a new one
for the socrates.
Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Distil common code pattern for Phytec entry functions into a macro and
use it instead. This way a new board derivateve that differs only in device
tree file can be added with just one line.
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Distil different startup functions into a generic one, different
behavioral aspects of which can be influenced by its parameters.
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Some drivers need clk_set_rate. To be able to link with these
drivers enabled provide a clk_set_rate stub.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
CPU_ARM946E is selected by boards, so letting it depend on !MMU
leads to broken dependencies. Let MMU depend on !CPU_ARM946E instead.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Don't try to attach mac to device if there is no net support selected.
Fixes:
undefined reference to `dev_add_param_mac' in both iim and ocotp drivers.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Enable support for the i.MX6sx sabresdb and the KaRo Tx6x.
The sabresdb needs regulator support, so enable this aswell.
Also enable usbserial support.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>