Generate kernel video bootargs for sabresd, based on a list of needed video
interfaces ("video_interfaces" U-Boot env-var). The order of initialization
and video settings can be fully customized.
Signed-off-by: Nikolay Dimitrov <picmaster@mail.bg>
iMX6: Change mmcroot to use fixed mmc block index for USDHC
Kernel changed to use fixed mmcblk index for USDHC, which is
mmcblk0 --> USDHC1
mmcblk1 --> USDHC2
mmcblk2 --> USDHC3
mmcblk3 --> USDHC4
Thus, change the default mmcroot in u-boot to fit the changes in kernel.
Fabio Estevam [Fri, 10 Jun 2016 12:46:13 +0000 (09:46 -0300)]
mx7dsabresd: Fix the boot of a NXP kernel
Booting a NXP kernel with mainline U-boot leads to the following kernel
crash:
caam: probe of 30900000.caam failed with error -11
Unable to handle kernel NULL pointer dereference at virtual address 00000004
pgd = 80004000
[00000004] *pgd=00000000
Internal error: Oops: 805 [#1] PREEMPT SMP ARM
This happens because NXP kernel expects MX7 to boot in secure mode,
so introduce mx7dsabresd_secure_defconfig that selects CONFIG_MX7_SEC
and allows booting a NXP provided kernel successfully.
Vanessa Maegima [Thu, 9 Jun 2016 18:28:33 +0000 (15:28 -0300)]
mx6sxsabresd: Avoid hardcoded RAM size
Instead of passing the total RAM size via PHYS_SDRAM_SIZE option,
we should better use imx_ddr_size() function, which automatically
determines the RAM size.
Vanessa Maegima [Thu, 9 Jun 2016 18:28:32 +0000 (15:28 -0300)]
mx6sxsabreauto: Avoid hardcoded RAM size
Instead of passing the total RAM size via PHYS_SDRAM_SIZE option,
we should better use imx_ddr_size() function, which automatically
determines the RAM size.
Vanessa Maegima [Thu, 9 Jun 2016 18:28:31 +0000 (15:28 -0300)]
mx6slevk: Avoid hardcoded RAM size
Instead of passing the total RAM size via PHYS_SDRAM_SIZE option,
we should better use imx_ddr_size() function, which automatically
determines the RAM size.
Vanessa Maegima [Wed, 8 Jun 2016 18:17:54 +0000 (15:17 -0300)]
mx6qsabreauto: Avoid hardcoded RAM size
Instead of passing the total RAM size via PHYS_SDRAM_SIZE option,
we should better use imx_ddr_size() function, which automatically
determines the RAM size.
Stefano Babic [Mon, 6 Jun 2016 09:17:33 +0000 (11:17 +0200)]
net: allow fix speed for FEC driver
Sometimes the MII is not used at all - for example,
when the controller is connected to a switch with
a fixed speed, and the MDC/MDIO signal are used
for something else.
Allow to set a fixed speed in the FEC driver
without relying on the autonegotiation.
Signed-off-by: Stefano Babic <sbabic@denx.de> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
ARM: board: cm-fx6: fix mmc for old revisions of utilite
Old revisions of Utilite (based on cm-fx6) do not have a dedicated
card detect pin. But the card is removable by the user and card
detection can be realized with polling (e.g. supported by Linux).
Add the broken-cd property to the mmc device tree instead of the
non-removable property to make card detection possible if polling
is supported.
Signed-off-by: Christopher Spinrath <christopher.spinrath@rwth-aachen.de> Acked-by: Nikita Kiryanov <nikita@compulab.co.il>
Petr Kulhavy [Sun, 12 Jun 2016 11:18:32 +0000 (13:18 +0200)]
imx_common: Return MMCSD_MODE_FS in spl_boot_mode() also for EXTFS
spl_boot_mode() returned MMCSD_MODE_RAW on MMC if CONFIG_SPL_EXT_SUPPORT
was configured. EXTFS is the default filesystem selected in imx6_spl.h
and the function should return MMCSD_MODE_FS instead.
Fix this and return MMCSD_MODE_FS instead in such cases.
Signed-off-by: Petr Kulhavy <brain@jikos.cz> CC: Stefano Babic <sbabic@denx.de> CC: Tim Harvey <tharvey@gateworks.com> CC: Fabio Estevam <Fabio.Estevam@freescale.com>
Peng Fan [Wed, 15 Jun 2016 06:18:39 +0000 (14:18 +0800)]
imx: mx6ulevk: change QSPI PAD DSE to 120ohm
The current pad DSE for QSPI is 60ohm. This setting cause
too strong drive to clock and data signals. Need to change
the DSE to 120ohm for better signal quality.
Ye Li [Wed, 15 Jun 2016 06:18:36 +0000 (14:18 +0800)]
mx7dsabresd: Fix LCD_PWR_EN output setting
LCD_PWR_EN controls the G pin of Q13 PMOS which needs low voltage to connect
D to S for outputting LCD 3.3V. If LCD_PWR_EN is high, we measured the LCD 3v3
is actually 1.2V.
Signed-off-by: Ye Li <ye.li@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com> Cc: Stefano Babic <sbabic@denx.de> Cc: Fabio Estevam <fabio.estevam@nxp.com> Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
Heiko Schocher [Tue, 7 Jun 2016 06:55:45 +0000 (08:55 +0200)]
siemens,am33x: add draco etamin board
In the draco CPU board family, etamin is a new variant
with bigger flash and more RAM. Due to new flash that
uses larger pages (4K) some changes are necessary because
it impacts the MTD partition layout and the ubi mount
parameters.
Signed-off-by: Samuel Egli <samuel.egli@siemens.com> Signed-off-by: Heiko Schocher <hs@denx.de>
[trini: Move BOOTDELAY into defconfig, just always be 3 now] Signed-off-by: Tom Rini <trini@konsulko.com>
Heiko Schocher [Tue, 7 Jun 2016 06:55:44 +0000 (08:55 +0200)]
dfu, nand, ubi: fix erasing after write finish
writting to ubi nand partitions need after write ends an erase
of the remaining sectors. This fail, if dfu write size was not
a multiple of erasesize, example log:
Heiko Schocher [Tue, 7 Jun 2016 06:55:41 +0000 (08:55 +0200)]
nand: add nand mtd concat support
add for nand devices mtd concat support. Generic MTD concat
support is already ported to mainline, and used in the cfi_mtd
driver. This patch adds it similiar for nand devices.
Heiko Schocher [Tue, 7 Jun 2016 06:31:24 +0000 (08:31 +0200)]
doc, spl, am335x: update am335x-network
on the shc board we see when booting in net boot mode,
that the ROM bootloader sends "AM335x ROM" as
vendor-class-identifier. U-Boots doc says "DM814x ROM".
So, add the info to the doc, that there is also
"AM335x ROM" possible.
Signed-off-by: Heiko Schocher <hs@denx.de> Reviewed-by: Tom Rini <trini@konsulko.com>
Heiko Schocher [Tue, 7 Jun 2016 06:31:18 +0000 (08:31 +0200)]
am335x: add some missing CM_CLKMODE_DPLL_SSC macros
add missing CM_CLKMODE_DPLL_SSC_ACK_MASK,
CM_CLKMODE_DPLL_SSC_DOWNSPREAD_MASK and
CM_CLKMODE_DPLL_SSC_TYPE_MASK
defines. Used for enabling spread spectrum.
Signed-off-by: Heiko Schocher <hs@denx.de> Reviewed-by: Tom Rini <trini@konsulko.com>
Heiko Schocher [Tue, 7 Jun 2016 06:31:15 +0000 (08:31 +0200)]
tests: py: disable main_signon check for printenv cmd
if CONFIG_VERSION_VARIABLE is set, the U-Boot environment
contains a "vers" variable with the current U-Boot version
string. If now "printenv" is called, test/py fails as it
detects the main_sign string, which is in this case correct.
So check only the main_sign as an error, if CONFIG_VERSION_VARIABLE
is not set.
Simon Glass [Thu, 9 Jun 2016 02:55:15 +0000 (20:55 -0600)]
tiny-printf: Correct the snprintf() implementation
This current code passes the variable arguments list to sprintf(). This is
not correct. Fix it by calling _vprintf() directly.
This makes firefly-rk3288 boot again.
Fixes: abeb272 ("tiny-printf: Support snprintf()") Reviewed-by: Stefan Roese <sr@denx.de> Acked-by: Marek Vasut <marex@denx.de> Signed-off-by: Simon Glass <sjg@chromium.org>
Masahiro Yamada [Wed, 8 Jun 2016 09:02:32 +0000 (18:02 +0900)]
ARM: uniphier: insert dsb barrier to ensure visibility of store
I noticed secondary CPUs sometimes fail to wake up, and the root
cause is that the sev instruction wakes up slave CPUs before the
preceding the register write is observed by them.
The read-back of the accessed register does not guarantee the order.
In order to ensure the order between the register write and the sev
instruction, a dsb instruction should be executed prior to the sev.
Masahiro Yamada [Tue, 7 Jun 2016 12:03:44 +0000 (21:03 +0900)]
ARM: uniphier: do not overwrite fdt_file environment
This code auto-detects the best-match FDT file name, but it should
respect the user's choice if "fdt_file" environment is found in a
saved set of environments.
Masahiro Yamada [Sat, 4 Jun 2016 13:39:08 +0000 (22:39 +0900)]
ARM: uniphier: support eMMC boot for PH1-LD11 and PH1-LD20
The Boot ROM on PH1-LD11/LD20 exports built-in APIs to load images
from an eMMC device. They are useful to reduce the memory footprint
of SPL, rather than compiling the whole MMC framework.
Kimmo Surakka [Tue, 24 May 2016 13:56:23 +0000 (15:56 +0200)]
board: ge: bx50v3: add missing partnum variable
Add missing ${partnum} to set rootdev correctly when
booting from USB or MMC.
Signed-off-by: Kimmo Surakka <kimmo.surakka@ge.com>
[Rebased against v2016.05 and adjusted the variable name] Signed-off-by: Andrew Shadura <andrew.shadura@collabora.co.uk>
Andrew Shadura [Tue, 24 May 2016 13:56:18 +0000 (15:56 +0200)]
board: ge: bx50v3: make CONFIG_VIDEO optional and disabled by default
The kernel already knows how to initialise the display, and initialising
the display from U-boot is only useful for debugging and isn't necessary
in production, so no need to have it enabled in U-boot by default.
Signed-off-by: Andrew Shadura <andrew.shadura@collabora.co.uk>
Andre Przywara [Tue, 31 May 2016 17:45:06 +0000 (10:45 -0700)]
arm/arm64: implement a boot header capability
Some SPL loaders (like Allwinner's boot0, and Broadcom's boot0)
require a header before the actual U-Boot binary to both check its
validity and to find other data to load. Sometimes this header may
only be a few bytes of information, and sometimes this might simply
be space that needs to be reserved for a post-processing tool.
Introduce a config option to allow assembler preprocessor commands
to be inserted into the code at the appropriate location; typical
assembler preprocessor commands might be:
.space 1000
.word 0x12345678
Signed-off-by: Andre Przywara <andre.przywara@arm.com> Signed-off-by: Steve Rae <srae@broadcom.com>
Commit Notes:
Please note that the current code:
start.S (arm64) and
vectors.S (arm)
already jumps over some portion of data already, so this option basically
just increases the size of this region (and the resulting binary).
For use with Allwinner's boot0 blob there is a tool called boot0img[1],
which fills the header to allow booting A64 based boards.
For the Pine64 we need a 1536 byte header (including the branch
instruction) at the moment, so we add this to the defconfig.
[1] https://github.com/apritzel/pine64/tree/master/tools
END Reviewed-by: Tom Rini <trini@konsulko.com>
Chris Packham [Tue, 31 May 2016 08:30:59 +0000 (20:30 +1200)]
lib: make strmhz available in SPL
When setting up a DDR controller it is useful to be able to display
frequencies in a readable form. Make the strmhz() function available in
SPL builds provided there is full vsprintf available.
Reviewed-by: Tony O'Brien <tony.obrien@alliedtelesis.co.nz> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Chris Packham <judge.packham@gmail.com>
Alexander Graf [Fri, 27 May 2016 10:25:03 +0000 (12:25 +0200)]
efi_loader: Don't allocate from memory holes
When a payload calls our memory allocator with the exact address hint, we
happily allocate memory from completely unpopulated regions. Payloads however
expect this to only succeed if they would be allocating from free conventional
memory.
This patch makes the logic behind those checks a bit more obvious and ensures
that we always allocate from known good free conventional memory regions if we
want to allocate ram.
Reported-by: Jonathan Gray <jsg@jsg.id.au> Signed-off-by: Alexander Graf <agraf@suse.de>
Alexander Graf [Thu, 2 Jun 2016 09:38:27 +0000 (11:38 +0200)]
efi_loader: Move to normal debug infrastructure
We introduced special "DEBUG_EFI" defines when the efi loader
support was new. After giving it a bit of thought, turns out
we really didn't have to - the normal #define DEBUG infrastructure
works well enough for efi loader as well.
So this patch switches to the common debug() and #define DEBUG
way of printing debug information.
Alexander Graf [Fri, 20 May 2016 21:28:23 +0000 (23:28 +0200)]
efi_loader: Add exit support
Some times you may want to exit an EFI payload again, for example
to default boot into a PXE installation and decide that you would
rather want to boot from the local disk instead.
This patch adds exit functionality to the EFI implementation, allowing
EFI payloads to exit.
Alexander Graf [Fri, 20 May 2016 21:28:22 +0000 (23:28 +0200)]
arm: Introduce setjmp/longjmp
To quit an EFI application we will need logic to jump to the caller
of a function without returning from the function we called into,
so we need setjmp/longjmp functionality.
This patch introduces a trivial implementation of these that I
verified works on armv7, thumb2 and aarch64.
Ed Swarthout [Wed, 1 Jun 2016 13:11:24 +0000 (08:11 -0500)]
dm: scsi: if_typename should be scsi
Fixes:
=> ext2ls scsi 0:1
** Bad device scsi 0:1 **
for boards which use the scsi legacy driver (such as ls1043ardb).
Signed-off-by: Ed Swarthout <Ed.Swarthout@nxp.com> Tested-by: George McCollister <george.mccollister@gmail.com> Acked-by: Simon Glass <sjg@chromium.org>
Michal Simek [Fri, 22 Apr 2016 12:28:54 +0000 (14:28 +0200)]
ARM64: zynqmp: Add support for standard distro boot commands
Nand and QSPI are not defined now but this will be extended.
Based on selected bootmode boot_targets are rewritten.
Patch also contains detection if variables are saved. If yes don't
rewrite boot_targets variable.
Also move variable setup to the end of file because SCSI needs to be
defined before others macros are using it.
Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Alexander Graf <agraf@suse.de>
Alexander Graf [Wed, 1 Jun 2016 20:41:54 +0000 (22:41 +0200)]
ARM64: zynqmp: Remove CONFIG_BOOTP_SERVERIP
When the CONFIG_BOOTP_SERVERIP option is set, we ignore all
dhcp values for the tftp server and use our own serverip and
file name instead.
This is usually not what we want and I doubt it's set for a
good reason on ZynqMP. It definitely hurts if we want to support
uEFI PXE boot on it. So just remove the option for now.
Signed-off-by: Alexander Graf <agraf@suse.de> Signed-off-by: Michal Simek <michal.simek@xilinx.com>