22 Feb, 2018
2 commits
-
Do the following to make the symbol names less confusing.
sed -i "s/\([TU][^_]\+\)_FUNCTION_DFU/DFU_OVER_\1/g" \
`git grep _FUNCTION_DFU | cut -d ":" -f 1 | sort -u`Signed-off-by: Marek Vasut
Cc: Lukasz Majewski -
Clean up the screaming mess of configuration options that DFU is.
It was impossible to configure DFU such that TFTP is enabled and
USB is not, this patch fixes that and assures that DFU TFTP and
DFU USB can be enabled separatelly and that the correct pieces
of code are compiled in.Signed-off-by: Marek Vasut
Cc: Lukasz Majewski
12 Jan, 2018
1 commit
-
This is not required as fastboot can't be started from SPL.
Signed-off-by: Jean-Jacques Hiblot
08 Dec, 2017
2 commits
-
It is useful to display log messages on the console. Add a simple driver
to handle this.Note that this driver outputs to the console, which may be serial or
video. It does not specifically select serial output.Signed-off-by: Simon Glass
Reviewed-by: Bin Meng -
Add the logging header file and implementation with some configuration
options to control it.Signed-off-by: Simon Glass
06 Oct, 2017
1 commit
-
CONFIG_FIT_EMBED might be confused with CONFIG_OF_EMBED, rename it
MULTI_DTB_FIT as it is able to get a DTB from a FIT image containing
multiple DTBs. Also move the option to the Kconfig dedicated to the DTS
options and create a README for this feature.Signed-off-by: Jean-Jacques Hiblot
Reviewed-by: Tom Rini
Reviewed-by: Simon Glass
19 Sep, 2017
1 commit
-
For timing our bootstages on the RK3368, which has a minimal TPL
(and where we consequently don't want to time the bootstages) and a
full-featured SPL (where we can bootstage recording), we need to
adjust the Makefile.Use the $(SPL_TPL_) macro in the Makefile for bootstage.o
Signed-off-by: Philipp Tomsich
Reviewed-by: Simon Glass
Acked-by: Philipp Tomsich
15 Aug, 2017
1 commit
-
About a quarter of the files in common/ relate to the environment. It
seems better to put these into their own subdirectory and remove the
prefix.Signed-off-by: Simon Glass
Reviewed-by: Tom Rini
13 Aug, 2017
1 commit
-
To allow for a finer-grained control of features for TPL and SPL
builds all modules/boot-methods/etc. need to be consistently selected
based on the $(SPL_TPL_) macros.This allows splitting the associated config-options in Kconfig: we
don't split the Kconfig options here and now, as this should happen on
an as-needed basis, whenever someone needs a feature/boot-method/etc.
in their TPL.Signed-off-by: Philipp Tomsich
Reviewed-by: Simon Glass
Reviewed-by: Tom Rini
27 Jul, 2017
1 commit
-
Some platforms have very limited SRAM to run SPL code, so there may
not be the same amount space for a malloc pool before relocation in
the SPL stage as the normal U-Boot stage.Make SPL and (the full) U-Boot stage use independent SYS_MALLOC_F_LEN,
so the size of pre-relocation malloc pool can be configured memory
space independently.Signed-off-by: Andy Yan
Reviewed-by: Tom Rini
Acked-by: Philipp Tomsich
Reviewed-by: Philipp Tomsich
[fixed up commit-message:]
Signed-off-by: Philipp Tomsich
12 Jul, 2017
3 commits
-
At present we have the SCSI drivers in the drivers/block and common/
directories. It is better to split them out into their own place. Use
drivers/scsi which is what Linux does.Signed-off-by: Simon Glass
Reviewed-by: Bin Meng -
At present we have the SATA and PATA drivers mixed up in the drivers/block
directory. It is better to split them out into their own place. Use
drivers/ata which is what Linux does.Signed-off-by: Simon Glass
Reviewed-by: Bin Meng -
At present CONFIG_CMD_SATA enables the 'sata' command which also brings
in SATA support. Some boards may wish to enable SATA without the command.
Add a separate CONFIG to permit this.Signed-off-by: Simon Glass
Reviewed-by: Bin Meng
11 Jul, 2017
2 commits
-
Some platforms may append a FIT image to the U-boot image. This function
aids in parsing the FIT image and selecting the correct DTB at runtime.Signed-off-by: Franklin S Cooper Jr
Reviewed-by: Tom Rini -
Some of the functions within spl_fit will be used for non spl purposes.
Instead of duplicating functions simply break the functions to be reused
into its own file.Signed-off-by: Franklin S Cooper Jr
Reviewed-by: Tom Rini
Reviewed-by: Simon Glass
[trini: Only add the new define to image.h, otherwise we see breakage
due to massive include leakage into host tools in some cases]
Signed-off-by: Tom Rini
06 Jun, 2017
1 commit
-
At present bootstage only supports U-Boot proper. But SPL can also consume
boot time so it is useful to have the record start there.Add bootstage support to SPL. Also support stashing the timing information
when SPL finishes so that it can be picked up and reported by U-Boot
proper. This provides a full boot time record, excluding only the time
taken by the boot ROM.Signed-off-by: Simon Glass
23 May, 2017
2 commits
-
At present IDE support is controlled by CONFIG_CMD_IDE. Add a separate
CONFIG_IDE option so that IDE support can be enabled without requiring
the 'ide' command.Update existing users and move the ide driver into drivers/block since
it should not be in common/.Signed-off-by: Simon Glass
-
At present CONFIG_CMD_HASH enables the 'hash' command which also brings
in the hashing API. Some boards may wish to enable the API without the
command. Add a separate CONFIG to permit this.Signed-off-by: Simon Glass
Reviewed-by: Tom Rini
12 May, 2017
2 commits
-
With gcc-6 and later we may get a warning such as:
.../common/cli_readline.c:20:21: warning: ‘tab_seq’ defined but not used [-Wunused-const-variable=]
static const char tab_seq[] = " "; /* used to expand TABs */
^~~~~~~
.../common/cli_readline.c:19:19: warning: ‘erase_seq’ defined but not used [-Wunused-const-variable=]
static const char erase_seq[] = "\b \b"; /* erase sequence */
^~~~~~~~~Because in SPL we're normally not doing interactive commands anyhow, so
lets just not compile this at all in SPL. This also means that we need
to correct the logic (and comment) about what the drivers/ddr/fsl/ and
CONFIG_FSL_DDR_INTERACTIVE requires and this will be included in SPL
there.Signed-off-by: Tom Rini
-
Adding support for fdt fixup to update the
memory node in device tree for falcon boot.This is needed for single stage or falcon
bootmode, to pass memory configuration to
kernel through DT memory node.Signed-off-by: Ravi Babu
Reviewed-by: Lukasz Majewski
13 Feb, 2017
1 commit
-
The whole of common/flash.c is guarded by #if defined() ... #endif.
Move the conditional to common/Makefile.Signed-off-by: Masahiro Yamada
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