When reading a page from nand prefetch the next page afterwards to
keep the controller busy. This way we can improve sequential reading
from NAND which is the common case for barebox.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
The internal SRAM buffer of the i.MX NAND controller does not
allow byte accesses. We use the memcpy32 function to handle this.
If we have assembler optimized string functions we can do better
because they won't do byte accesses when source and target are word
aligned.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
v2: Do not exit from all scripts but only the current one
This fixes the case:
barebox:/ cat /test
if [ 0 = 0 ]; then
exit 1
fi
barebox:/ /test
barebox:/ echo $?
0
barebox:/
Also, remove code to not allow exit from main shell. The for(;;) loop
in common/startup.c will bring us back anyway.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
I found the wrong symlink and activated the spell-checker while I was here.
Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This allows the iomux to reconfigure these pins which are opendrain at
power on and thus can't drive the LCD.
Signed-off-by: Eric Benard <eric@eukrea.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Barebox crashes during startup, because the SDRAM controller has not been
initialized.
Signed-off-by: Jaccon Bastiaansen <jaccon.bastiaansen@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
The PLL setup occasionally fails when the setup code runs
from SDRAM, so copy a little assembler helper function to
SRAM and execute it there.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
edb93xx SDRAM initialization: Issue a precharge all command before forcing the
precharge of all SDRAM banks. Write to the SDRAM in order to force a precharge,
reading causes the edb93xx boards to hang
Signed-off-by: Matthias Kaehlcke <matthias@kaehlcke.net>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This patch updates the definitions of the __raw_read and __raw_write
functions so that "sparse" doesn't complain.
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
The tags for the command line parameters are not used, so let's remove them:
- CMDLINE_TAG
- SETUP_MEMORY_TAGS
- INITRD_TAG
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
If the DEBUG macro is defined the compiler complains about a missing
'ipu_base' variable.
Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Previous code ran the edb9302(a) boards with the PLL same settings as the
edb9301, at 166MHz core and 66MHz system bus clock. In difference to the edb9301
board the edb9302(a) is equipped with an EP9302 processor, which can be clocked
at higher rates than the EP9301. Therefore we can configure the edb9302(a) with
the same PLL settings as the other non-edb9301 boards, namely at 200MHz for
the core and 100MHz for the system bus clock.
Signed-off-by: Matthias Kaehlcke <matthias@kaehlcke.net>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Before programming the SDRAM mode registers, mode register update mode must be
selected by setting the MRS bit and clearing INIT in GlConfig
Signed-off-by: Matthias Kaehlcke <matthias@kaehlcke.net>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
EP93xx: The system controller register definition doesn't take into account a 4
byte gap between ChipId and SysCfg, in consequence all accesses to syscon registers
ahead of ChipId fail. Fix this by inserting a filler field
Signed-off-by: Matthias Kaehlcke <matthias@kaehlcke.net>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
edb93xx: The purpose of early_udelay() is to provide delay functionality in the
early board setup, when the stack isn't set up yet. With some compiler versions
the current implementation makes use of the stack and ends up crashing. Fix this
by removing an explicit division from early_udelay()
Signed-off-by: Matthias Kaehlcke <matthias@kaehlcke.net>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
edb93xx: according to the datasheet UART1 needs to be enabled explicitly
Signed-off-by: Matthias Kaehlcke <matthias@kaehlcke.net>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This file has no useful things for others than the driver,
so move it next to the driver and remove the corresponding
include from other files.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
ep93xx eth driver: Remove unnecessary parentheses in definition of the constants
MII_ADDRESS_MAX and MII_REGISTER_MAX
Signed-off-by: Matthias Kaehlcke <matthias@kaehlcke.net>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
ep93xx eth driver: Define ep93xx_eth_send_packet() and ep93xx_eth_rcv_packet()
before ep93xx_eth_probe(), and eliminate their prototype declarations
Signed-off-by: Matthias Kaehlcke <matthias@kaehlcke.net>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>