28 Sep, 2016
2 commits
-
The cmd_dfu functionality is been used by both SPL and
u-boot, saperating the core dfu functionality moving
it to common/dfu.c.Signed-off-by: Ravi Babu
Reviewed-by: Tom Rini -
Traditionally the DFU support is available only
as part 2nd stage boot loader(u-boot) and DFU
is not supported in SPL.The SPL-DFU feature is useful for boards which
does not have MMC/SD, ethernet boot mechanism
to boot the board and only has USB inteface.This patch add DFU support in SPL with RAM
memory device support to load and execute u-boot.
And then leverage full functionality DFU in
u-boot to flash boot inital binary images to
factory or bare-metal boards to memory devices
like SPI, eMMC, MMC/SD card using USB interface.This SPL-DFU support can be enabled through
Menuconfig->Boot Images->Enable SPL-DFU supportSigned-off-by: Ravi Babu
Reviewed-by: Tom Rini
17 Sep, 2016
1 commit
-
At present TPL uses the same options as SPL support. In a few cases the board
config enables or disables the SPL options depending on whether
CONFIG_TPL_BUILD is defined.With the move to Kconfig, options are determined for the whole build and
(without a hack like an #undef in a header file) cannot be controlled in this
way.Create new TPL options for these and update users. This will allow Kconfig
conversion to proceed for these boards.Signed-off-by: Simon Glass
20 Aug, 2016
1 commit
-
The bootz and booti commands rely on common functionality that is found
in common/bootm.c and common/bootm_os.c. They do not however rely on
the rest of cmd/bootm.c to be implemented so split them into their own
files. Have various Makefiles include the required infrastructure for
CONFIG_CMD_BOOT[IZ] as well as CONFIG_CMD_BOOTM. Move the declaration
of 'images' over to common/bootm.c.Cc: Masahiro Yamada
Signed-off-by: Tom Rini
25 Jun, 2016
1 commit
-
There is no more define of CONFIG_SYS_HUSH_PARSER. Rename some
remaining references and drop the backward compatible Kconfig entry.Signed-off-by: Masahiro Yamada
20 Jun, 2016
1 commit
-
Since commit bb597c0eeb7e ("common: bootdelay: move CONFIG_BOOTDELAY
into a Kconfig option"), CONFIG_BOOTDELAY is defined for all boards.Prior to that commit, it was allowed to unset CONFIG_BOOTDELAY to
not compile common/autoboot.c, as described in common/Makefile:# This option is not just y/n - it can have a numeric value
ifdef CONFIG_BOOTDELAY
obj-y += autoboot.o
endifIt was a bit odd to enable/disable code with an integer type option,
but it was how this option worked before that commit, and several
boards actually unset it to opt out of the autoboot feature.This commit adds a new bool option, CONFIG_AUTOBOOT, and makes
CONFIG_BOOTDELAY depend on it.I chose "default y" for this option because most boards use the
autoboot. I added "# CONFIG_AUTOBOOT is not set" for the boards that
had not set CONFIG_BOOTDELAY prior to the bad commit.Signed-off-by: Masahiro Yamada
13 Jun, 2016
1 commit
-
This allows a board to configure verified boot within the SPL using
a FIT or FIT with external data. It also allows the SPL to perform
signature verification without needing relocation.The board configuration will need to add the following feature defines:
CONFIG_SPL_CRYPTO_SUPPORT
CONFIG_SPL_HASH_SUPPORT
CONFIG_SPL_SHA256In this example, SHA256 is the only selected hashing algorithm.
And the following booleans:
CONFIG_SPL=y
CONFIG_SPL_DM=y
CONFIG_SPL_LOAD_FIT=y
CONFIG_SPL_FIT=y
CONFIG_SPL_OF_CONTROL=y
CONFIG_SPL_OF_LIBFDT=y
CONFIG_SPL_FIT_SIGNATURE=ySigned-off-by: Teddy Reed
Acked-by: Simon Glass
Acked-by: Andreas Dannenberg
Acked-by: Sumit Garg
28 May, 2016
1 commit
-
This option is always enabled and is about to be removed. Drop references
to it.Signed-off-by: Simon Glass
Reviewed-by: Andreas Bießmann
21 May, 2016
1 commit
-
Introduce the (optional) eeprom print and eeprom update commands.
These commands are eeprom layout aware:
* The eeprom print command prints the contents of the eeprom in a human
readable way (eeprom layout fields, and data formatted to be fit for human
consumption).
* The eeprom update command allows user to update eeprom fields by specifying
the field name, and providing the new data in a human readable format (same
format as displayed by the eeprom print command).
* Both commands can either auto detect the layout, or be told which layout to
use.New CONFIG options:
CONFIG_CMD_EEPROM_LAYOUT - enables commands.
CONFIG_EEPROM_LAYOUT_HELP_STRING - tells user what layout names are supportedFeature API:
__weak int parse_layout_version(char *str)
- override to provide your own layout name parsing
__weak void __eeprom_layout_assign(struct eeprom_layout *layout, int layout_version);
- override to setup the layout metadata based on the version
__weak int eeprom_layout_detect(unsigned char *data)
- override to provide your own algorithm for detecting layout version
eeprom_field.c
- contains various printing and updating functions for common types of
eeprom fields. Can be used for defining custom layouts.Cc: Heiko Schocher
Cc: Marek Vasut
Cc: Simon Glass
Cc: Igor Grinberg
Cc: Tom Rini
Signed-off-by: Nikita Kiryanov
17 May, 2016
3 commits
-
At present the SATA command code includes both the command-processing code
and the core SATA functions and data structures.Separate the latter into its own file, adding functions as needed to avoid
the command code accessing data structures directly.With this commit:
- All CONFIG option are referenced from the non-command code
- The concept of a 'current SATA device' is confined to the command codeThis will make it easier to convert this code to driver model.
Signed-off-by: Simon Glass
-
At present the IDE command code includes both the command-processing code
and the core IDE functions and data structures.Separate the latter into its own file, adding functions as needed to avoid
the command code accessing data structures directly.With this commit:
- Most CONFIG option are referenced from the non-command code
- The concept of a 'current IDE device' is confined to the command codeThis will make it easier to convert this code to driver model.
Signed-off-by: Simon Glass
-
At present the SCSI command code includes both the command-processing code
and the core SCSI functions and data structures.Separate the latter into its own file, adding functions as needed to avoid
the command code accessing data structures directly. This functions use the
new legacy block functions.With this commit:
- There is no CONFIG option referenced from the command code
- The concept of a 'current SCSI device' is confined to the command codeThis will make it easier to convert this code to driver model.
Signed-off-by: Simon Glass
19 Apr, 2016
1 commit
-
Introduce env support for sata device.
1. Implement write_env/read_env/env_relocate_spec/saveenv/sata_get_env_dev
2. If want to enable this feature, define CONFIG_ENV_IS_IN_SATA, and
define CONFIG_SYS_SATA_ENV_DEV or implement your own sata_get_ev_dev.Signed-off-by: Peng Fan
Cc: Simon Glass
Cc: Joe Hershberger
Cc: Bin Meng
Cc: Stefan Roese
Cc: Heiko Schocher
Cc: Stuart Longland
Cc: Maxime Ripard
Cc: Tom Rini
Reviewed-by: Tom Rini
23 Mar, 2016
1 commit
-
These files do not need to be compiled when CONFIG_CMDLINE is disabled.
Update the Makefile to reflect this.Signed-off-by: Simon Glass
Reviewed-by: Tom Rini
15 Mar, 2016
3 commits
-
Add an option to enable libfdt in SPL. This can be useful when decoding
FIT files in SPL.We need to make sure this option is not enabled in SPL by this change.
Also this option needs to be enabled in host builds. Si add a new
IMAGE_USE_LIBFDT #define which can be used in files that are built on the
host but must also build for U-Boot and SPL.Signed-off-by: Simon Glass
-
There are already two FIT options in Kconfig but the CONFIG options are
still in the header files. We need to do a proper move to fix this.Move these options to Kconfig and tidy up board configuration:
CONFIG_FIT
CONFIG_OF_BOARD_SETUP
CONFIG_OF_SYSTEM_SETUP
CONFIG_FIT_SIGNATURE
CONFIG_FIT_BEST_MATCH
CONFIG_FIT_VERBOSE
CONFIG_OF_STDOUT_VIA_ALIAS
CONFIG_RSAUnfortunately the first one is a little complicated. We need to make sure
this option is not enabled in SPL by this change. Also this option is
enabled automatically in the host builds by defining CONFIG_FIT in the
image.h file. To solve this, add a new IMAGE_USE_FIT #define which can
be used in files that are built on the host but must also build for U-Boot
and SPL.Note: Masahiro's moveconfig.py script is amazing.
Signed-off-by: Simon Glass
[trini: Add microblaze change, various configs/ re-applies]
Signed-off-by: Tom Rini -
This is an enhancement that permits storing the environment file on an
EXT4 partition such as the root filesystem. It is based on the existing
FAT environment file code.
08 Feb, 2016
1 commit
-
Signed-off-by: David Müller
25 Jan, 2016
1 commit
-
There are a lot of unrelated files in common, including all of the commands.
Moving them into their own directory makes them easier to find and is more
logical.Some commands include non-command code, such as cmd_scsi.c. This should be
sorted out at some point so that the function can be enabled with or without
the associated command.Unfortunately, with m68k I get this error:
m68k: + M5329AFEE
+arch/m68k/cpu/mcf532x/start.o: In function `_start':
+arch/m68k/cpu/mcf532x/start.S:159:(.text+0x452): relocation truncated to fit: R_68K_PC16 against symbol `board_init_f' defined in .text.board_init_f section in common/built-in.oI hope someone can shed some light on what this means. I hope it isn't
depending on the position of code in the image.Signed-off-by: Simon Glass
Reviewed-by: Bin Meng
Reviewed-by: Heiko Schocher
Acked-by: Stefan Roese
Acked-by: Przemyslaw Marczak
21 Jan, 2016
1 commit
-
The LCD functions and definitions are not used with the driver model video
uclass. When all boards are converted over we can remove the file. For now,
use #ifdef to omit the contents.Signed-off-by: Simon Glass
Acked-by: Anatolij Gustschin
06 Dec, 2015
1 commit
-
When CONFIG_SPL_OF_TRANSLATE is enabled fdt_support.c needs to get
compiled. Otherwise fdt_translate_address() is missing which is needed
in dev_get_addr().Signed-off-by: Stefan Roese
Cc: Simon Glass
Acked-by: Simon Glass
13 Nov, 2015
2 commits
-
The Android sparse image format is currently supported through a file
called aboot, which isn't really such a great name, since the sparse image
format is only used for transferring data with fastboot.Rename the file and header to a file called "sparse", which also makes it
consistent with the header defining the image structures.Signed-off-by: Maxime Ripard
Reviewed-by: Tom Rini -
So far the fastboot code was only supporting MMC-backed devices for its
flashing operations (flash and erase).Add a storage backend for NAND-backed devices.
Signed-off-by: Maxime Ripard
25 Oct, 2015
1 commit
-
This function will be used by both SPL and U-Boot proper. So move it into
a common place. Also change the #ifdef so that the early malloc() area is
not set up in SPL if CONFIG_SYS_SPL_MALLOC_START is defined. In that case
it would never actually be used, and just chews up stack space.Signed-off-by: Simon Glass
23 Oct, 2015
1 commit
-
Many System on Chip(SoC) solutions are complex with multiple processors
on the same die dedicated to either general purpose of specialized
functions. Many examples do exist in today's SoCs from various vendors.
Typical examples are micro controllers such as an ARM M3/M0 doing a
offload of specific function such as event integration or power
management or controlling camera etc.Traditionally, the responsibility of loading up such a processor with a
firmware and communication has been with a High Level Operating
System(HLOS) such as Linux. However, there exists classes of products
where Linux would need to expect services from such a processor or the
delay of Linux and operating system being able to load up such a
firmware is unacceptable.To address these needs, we need some minimal capability to load such a
system and ensure it is started prior to an Operating System(Linux or
any other) is started up.NOTE: This is NOT meant to be a solve-all solution, instead, it tries to
address certain class of SoCs and products that need such a solution.A very simple model is introduced here as part of the initial support
that supports microcontrollers with internal memory (no MMU, no
execution from external memory, or specific image format needs). This
basic framework can then (hopefully) be extensible to other complex SoC
processor support as need be.Reviewed-by: Simon Glass
Signed-off-by: Nishanth Menon
Acked-by: Simon Glass
21 Sep, 2015
1 commit
-
This patch creates a flexible parser for Ethernet Switch
configurations that should support complex commands.
The parser searches for predefined keywords in the command
and calls the proper function when a match is found.
Also, the parser allows for optional keywords, such as
"port", to apply the command on a port
or on all ports. For now, the defined commands are:
ethsw [port ] { enable | disable | show }Signed-off-by: Codrin Ciubotariu
Reviewed-by: York Sun
07 Sep, 2015
1 commit
-
This code allows using DFU defined mediums for storing data received via
TFTP protocol.It reuses and preserves functionality of legacy code at common/update.c.
The update_tftp() function now accepts parameters - namely medium device
name and its number (e.g. mmc 1).Without this information passed old behavior is preserved.
Signed-off-by: Lukasz Majewski
Acked-by: Joe Hershberger
31 Aug, 2015
1 commit
-
These tests come from Chrome OS code. They are not particularly tidy but can
be useful for checking that the TPM is behaving correctly. Some knowledge of
TPM operation is required to use these.Signed-off-by: Simon Glass
Acked-by: Christophe Ricard
Reviewed-by: Heiko Schocher
13 Aug, 2015
1 commit
-
This patch enables building SPL without
CONFIG_SPL_SERIAL_SUPPORT support.Signed-off-by: Heiko Schocher
[trini: Ensure we build arch/arm/imx-common on mx28]
Signed-off-by: Tom Rini
05 Aug, 2015
1 commit
-
The EFI memory map is passed from the stub to U-Boot in a table. Add a
command to display it in a vaguely readable fashion.Signed-off-by: Simon Glass
Reviewed-by: Bin Meng
Tested on QEMU
Tested-by: Bin Meng
15 May, 2015
2 commits
-
This command is based on driver model regulator's API.
The user interface provides:
- list UCLASS regulator devices
- show or [set] operating regulator device
- print constraints info
- print operating status
- print/[set] voltage value [uV] (force)
- print/[set] current value [uA]
- print/[set] operating mode id
- enable the regulator output
- disable the regulator outputThe 'force' option can be used for setting the value which exceeds
the constraints min/max limits.Signed-off-by: Przemyslaw Marczak
Acked-by: Simon Glass -
This is new command for the PMIC devices based on driver model PMIC API.
Command features are unchanged:
- list UCLASS pmic devices
- show or [set] operating pmic device (NEW)
- dump registers
- read byte of register at address
- write byte to register at addressThe only one change for this command is 'dev' subcommand.
Signed-off-by: Przemyslaw Marczak
Acked-by: Simon Glass
30 Apr, 2015
1 commit
-
Add a simple command which provides access to a list of available CPUs along
with descriptions and basic information.Signed-off-by: Simon Glass
Reviewed-by: Bin Meng
20 Apr, 2015
2 commits
-
As suggested by Simon Glass, rename the sb command to host but keep the
old sb command as an aliasSigned-off-by: Sjoerd Simons
Acked-by: Simon Glass
18 Apr, 2015
1 commit
-
Sometimes, for example if the display is mounted in portrait mode or even if it
is mounted landscape but rotated by 180 degrees, we need to rotate our content
of the display respectively the framebuffer, so that user can read the messages
which are printed out.For this we introduce the feature called "CONFIG_LCD_ROTATION", this may be
defined in the board-configuration if needed. After this the lcd_console will
be initialized with a given rotation from "vl_rot" out of "vidinfo_t" which is
provided by the board specific code.If CONFIG_LCD_ROTATION is not defined, the console will be initialized with
0 degrees rotation.Signed-off-by: Hannes Petermaier
Signed-off-by: Hannes Petermaier
Acked-by: Nikita Kiryanov
[agust: fixed 'struct vidinfo' has no member named 'vl_rot' errors]
Signed-off-by: Anatolij Gustschin
10 Apr, 2015
1 commit
-
The ARM reference designs all use a special flash image format
that stores a footer (two versions exist) at the end of the last
erase block of the image in flash memory.Version one of the footer is indicated by the magic number
0xA0FFFF9F at 12 bytes before the end of the flash block and
version two is indicated by the magic number 0x464F4F54 0x464C5348
(ASCII for "FLSHFOOT") in the very last 8 bytes of the erase block.This command driver implements support for both versions of the
AFS images (the name comes from the Linux driver in drivers/mtd/afs.c)
and makes it possible to list images and load an image by name into
the memory with these commands:afs - lists flash contents
afs load - loads image to address indicated in the image
afs load - loads image to a specified addressThis image scheme is used on the ARM Integrator family, ARM
Versatile family, ARM RealView family (not yet supported in U-Boot)
and ARM Versatile Express family up to and including the new
Juno board for 64 bit development.Reviewed-by: Tom Rini
Signed-off-by: Linus Walleij
10 Feb, 2015
3 commits
-
Conflicts:
include/splash.hSigned-off-by: Tom Rini
-
We now have api functions that can support compiling simplefb code as its own
module. Since this code is not part of the display functionality, extract it
to its own file.Raspberry Pi is updated to accommodate the changes.
Signed-off-by: Nikita Kiryanov
Acked-by: Stephen Warren
Reviewed-by: Simon Glass
Tested-by: Bo Shen
Tested-by: Josh Wu
Cc: Simon Glass
Cc: Anatolij Gustschin
Cc: Stephen Warren