mirror of
https://xff.cz/git/u-boot/
synced 2025-12-28 01:07:09 +01:00
This change allows more fine tuning of driver model based SPI support in
SPL and TPL. It is now possible to explicitly enable/disable the DM_SPI
support in SPL and TPL via Kconfig option.
Before this change it was necessary to use:
/* SPI Flash Configs */
#if defined(CONFIG_SPL_BUILD)
#undef CONFIG_DM_SPI
#undef CONFIG_DM_SPI_FLASH
#undef CONFIG_SPI_FLASH_MTD
#endif
in the ./include/configs/<board>.h, which is error prone and shall be
avoided when we strive to switch to Kconfig.
The goal of this patch:
Provide distinction for DM_SPI support in both U-Boot proper and SPL (TPL).
Valid use case is when U-Boot proper wants to use DM_SPI, but SPL must
still support non DM driver.
Another use case is the conversion of non DM/DTS SPI driver to support
DM/DTS. When such driver needs to work in both SPL and U-Boot proper, the
distinction is needed in Kconfig (also if SPL version of the driver
supports OF_PLATDATA).
In the end of the day one would have to support following use cases (in
single driver file - e.g. mxs_spi.c):
- U-Boot proper driver supporting DT/DTS
- U-Boot proper driver without DT/DTS support (deprecated)
- SPL driver without DT/DTS support
- SPL (and TPL) driver with DT/DTS (when the SoC has enough resources to
run full blown DT/DTS)
- SPL driver with DT/DTS and SPL_OF_PLATDATA (when one have constrained
environment with no fitImage and OF_LIBFDT support).
Some boards do require SPI support (with DM) in SPL (TPL) and some only
have DM_SPI{_FLASH} defined to allow compiling SPL.
This patch converts #ifdef CONFIG_DM_SPI* to #if CONFIG_IS_ENABLED(DM_SPI)
and provides corresponding defines in Kconfig.
Signed-off-by: Lukasz Majewski <lukma@denx.de>
Tested-by: Adam Ford <aford173@gmail.com> #da850-evm
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
[trini: Fixup a few platforms]
Signed-off-by: Tom Rini <trini@konsulko.com>
80 lines
2.0 KiB
Plaintext
80 lines
2.0 KiB
Plaintext
CONFIG_ARM=y
|
|
CONFIG_SPL_SYS_DCACHE_OFF=y
|
|
CONFIG_ARCH_CPU_INIT=y
|
|
CONFIG_SYS_THUMB_BUILD=y
|
|
# CONFIG_SPL_USE_ARCH_MEMCPY is not set
|
|
# CONFIG_SPL_USE_ARCH_MEMSET is not set
|
|
CONFIG_ARCH_AT91=y
|
|
CONFIG_SPL_LDSCRIPT="arch/arm/cpu/u-boot-spl.lds"
|
|
CONFIG_SYS_TEXT_BASE=0x21000000
|
|
CONFIG_TARGET_TAURUS=y
|
|
CONFIG_SPL_GPIO_SUPPORT=y
|
|
CONFIG_SPL_LIBCOMMON_SUPPORT=y
|
|
CONFIG_SPL_LIBGENERIC_SUPPORT=y
|
|
CONFIG_SYS_MALLOC_F_LEN=0x2000
|
|
CONFIG_ENV_OFFSET=0x100000
|
|
CONFIG_SPL_DM_SPI=y
|
|
CONFIG_SPL_SYS_MALLOC_F_LEN=0x1000
|
|
CONFIG_NR_DRAM_BANKS=1
|
|
CONFIG_SPL=y
|
|
CONFIG_DEBUG_UART_BASE=0xfffff200
|
|
CONFIG_DEBUG_UART_CLOCK=18432000
|
|
CONFIG_ENV_OFFSET_REDUND=0x180000
|
|
CONFIG_SPL_SPI_FLASH_SUPPORT=y
|
|
CONFIG_SPL_SPI_SUPPORT=y
|
|
CONFIG_DEBUG_UART=y
|
|
CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9G20,MACH_TYPE=2068"
|
|
CONFIG_BOOTDELAY=3
|
|
CONFIG_USE_BOOTCOMMAND=y
|
|
CONFIG_BOOTCOMMAND="run flash_self"
|
|
# CONFIG_DISPLAY_BOARDINFO is not set
|
|
CONFIG_BOARD_EARLY_INIT_F=y
|
|
# CONFIG_SPL_LEGACY_IMAGE_SUPPORT is not set
|
|
CONFIG_SPL_SYS_MALLOC_SIMPLE=y
|
|
CONFIG_SPL_CRC32_SUPPORT=y
|
|
CONFIG_SPL_NAND_SUPPORT=y
|
|
CONFIG_HUSH_PARSER=y
|
|
CONFIG_SYS_PROMPT="U-Boot> "
|
|
# CONFIG_CMD_BDI is not set
|
|
CONFIG_CMD_BOOTZ=y
|
|
# CONFIG_CMD_IMI is not set
|
|
# CONFIG_CMD_LOADS is not set
|
|
CONFIG_CMD_NAND=y
|
|
# CONFIG_CMD_PINMUX is not set
|
|
CONFIG_CMD_SPI=y
|
|
# CONFIG_CMD_SOURCE is not set
|
|
# CONFIG_CMD_SETEXPR is not set
|
|
CONFIG_CMD_DHCP=y
|
|
CONFIG_CMD_PING=y
|
|
CONFIG_CMD_MTDPARTS=y
|
|
CONFIG_OF_CONTROL=y
|
|
CONFIG_SPL_OF_CONTROL=y
|
|
CONFIG_DEFAULT_DEVICE_TREE="at91sam9g20-taurus"
|
|
CONFIG_SPL_OF_PLATDATA=y
|
|
CONFIG_ENV_IS_IN_NAND=y
|
|
CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
|
|
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
|
CONFIG_SPL_DM=y
|
|
CONFIG_BLK=y
|
|
CONFIG_HAVE_BLOCK_DEVICE=y
|
|
CONFIG_CLK=y
|
|
CONFIG_CLK_AT91=y
|
|
CONFIG_AT91_GPIO=y
|
|
# CONFIG_MMC is not set
|
|
CONFIG_MTD=y
|
|
CONFIG_MTD_RAW_NAND=y
|
|
# CONFIG_SYS_NAND_USE_FLASH_BBT is not set
|
|
CONFIG_NAND_ATMEL=y
|
|
CONFIG_SPL_DM_SPI=y
|
|
CONFIG_SPL_DM_SPI_FLASH=y
|
|
CONFIG_DM_SPI_FLASH=y
|
|
CONFIG_SPI_FLASH_STMICRO=y
|
|
CONFIG_PHYLIB=y
|
|
CONFIG_PINCTRL=y
|
|
CONFIG_PINCTRL_AT91=y
|
|
CONFIG_SPECIFY_CONSOLE_INDEX=y
|
|
CONFIG_ATMEL_USART=y
|
|
CONFIG_WDT=y
|
|
CONFIG_WDT_AT91=y
|
|
CONFIG_HEXDUMP=y
|