[U-Boot] [PATCH 1/2] spl: dm: Add SPL_DM_SEQ_ALIAS config option
Marek Vasut
marex at denx.de
Fri Dec 11 16:07:56 CET 2015
On Friday, December 11, 2015 at 03:48:09 PM, Nathan Rossi wrote:
> The Device Model sequence alias feature is required by some Uclasses.
> Instead of disabling the feature for all SPL targets allow it to be
> configured.
>
> The config option is disabled by default to reduce code size for targets
> that are not interested or do not require this feature.
>
> Signed-off-by: Nathan Rossi <nathan at nathanrossi.com>
> Cc: Simon Glass <sjg at chromium.org>
> Cc: Masahiro Yamada <yamada.masahiro at socionext.com>
> Cc: Linus Walleij <linus.walleij at linaro.org>
> Cc: Marek Vasut <marex at denx.de>
> Cc: Michal Simek <michal.simek at xilinx.com>
> ---
> Based on a small amount of inspection for the Zynq platform, enabling
> this config option adds ~1KB of code size.
>
> Also on a side note, this might affect the socfpga target as it forcibly
> overrides the #undef from config_uncmd_spl.h in its common header. I
> have Cc'd the respective maintainer for this reason.
The fix for SoCFPGA is easy -- enable the SPL_DM_SEQ_ALIAS in configs/socfpga*.
It is needed for booting from QSPI NOR.
> ---
> drivers/core/Kconfig | 9 +++++++++
> drivers/core/device.c | 2 +-
> include/config_uncmd_spl.h | 1 -
> 3 files changed, 10 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/core/Kconfig b/drivers/core/Kconfig
> index 53acee0..97aa01e 100644
> --- a/drivers/core/Kconfig
> +++ b/drivers/core/Kconfig
> @@ -60,6 +60,15 @@ config DM_SEQ_ALIAS
> help
> Most boards will have a '/aliases' node containing the path to
> numbered devices (e.g. serial0 = &serial0). This feature can be
> + disabled if it is not required.
> +
> +config SPL_DM_SEQ_ALIAS
> + bool "Support numbered aliases in device tree in SPL"
> + depends on DM
> + default n
> + help
> + Most boards will have a '/aliases' node containing the path to
> + numbered devices (e.g. serial0 = &serial0). This feature can be
> disabled if it is not required, to save code space in SPL.
>
> config REGMAP
> diff --git a/drivers/core/device.c b/drivers/core/device.c
> index 758f390..b237b88 100644
> --- a/drivers/core/device.c
> +++ b/drivers/core/device.c
> @@ -64,7 +64,7 @@ int device_bind(struct udevice *parent, const struct
> driver *drv,
>
> dev->seq = -1;
> dev->req_seq = -1;
> - if (CONFIG_IS_ENABLED(OF_CONTROL) && IS_ENABLED(CONFIG_DM_SEQ_ALIAS)) {
> + if (CONFIG_IS_ENABLED(OF_CONTROL) && CONFIG_IS_ENABLED(DM_SEQ_ALIAS)) {
> /*
> * Some devices, such as a SPI bus, I2C bus and serial ports
> * are numbered using aliases.
> diff --git a/include/config_uncmd_spl.h b/include/config_uncmd_spl.h
> index 6e299f6..3b198ae 100644
> --- a/include/config_uncmd_spl.h
> +++ b/include/config_uncmd_spl.h
> @@ -29,7 +29,6 @@
> #endif
>
> #undef CONFIG_DM_WARN
> -#undef CONFIG_DM_SEQ_ALIAS
> #undef CONFIG_DM_STDIO
>
> #endif /* CONFIG_SPL_BUILD */
More information about the U-Boot
mailing list