spl: kconfig: separate sysreset and firmware drivers from misc
authorSimon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
Tue, 16 Jul 2019 19:29:32 +0000 (21:29 +0200)
committerMarek Vasut <marex@denx.de>
Sun, 21 Jul 2019 10:47:13 +0000 (12:47 +0200)
This adds separate kconfig options for drivers/sysreset and
drivers/firmware.

Up to now, CONFIG_SPL_DRIVERS_MISC_SUPPORT added drivers/misc to SPL
build but also added drivers/firmware and drivers/sysreset at the same
time.

Since that is confusing, this patch uses CONFIG_SPL_SYSRESET for
drivers/sysreset and adds CONFIG_SPL_FIRMWARE for
drivers/firmware (and accordingly for the TPL options).

CONFIG_SPL_DRIVERS_MISC_SUPPORT stays for including drivers/misc into
the SPL build (and accordingly for TPL) since there are boards using
non-DM (non UCLASS_MISC) files from drivers/misc. Such boards don't
have CONFIG_SPL_MISC enabled, so cannot use this to include
drivers/misc into the SPL build.

Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
configs/evb-rk3036_defconfig
configs/kylin-rk3036_defconfig
configs/sandbox_spl_defconfig
drivers/Makefile
drivers/firmware/Kconfig
drivers/sysreset/Kconfig

index 5e6bb54..0eb7384 100644 (file)
@@ -47,6 +47,7 @@ CONFIG_SPI_FLASH=y
 CONFIG_SF_DEFAULT_SPEED=20000000
 CONFIG_PINCTRL=y
 # CONFIG_SPL_DM_SERIAL is not set
+# CONFIG_SPL_SYSRESET is not set
 CONFIG_DEBUG_UART_SHIFT=2
 CONFIG_SYSRESET=y
 CONFIG_USB=y
index 921af0d..a76ae9d 100644 (file)
@@ -49,6 +49,7 @@ CONFIG_SF_DEFAULT_SPEED=20000000
 CONFIG_PINCTRL=y
 CONFIG_DM_REGULATOR_FIXED=y
 # CONFIG_SPL_DM_SERIAL is not set
+# CONFIG_SPL_SYSRESET is not set
 CONFIG_DEBUG_UART_SHIFT=2
 CONFIG_SYSRESET=y
 CONFIG_USB=y
index 27034cf..5b7dae9 100644 (file)
@@ -3,6 +3,7 @@ CONFIG_SPL_LIBCOMMON_SUPPORT=y
 CONFIG_SPL_LIBGENERIC_SUPPORT=y
 CONFIG_SPL_SERIAL_SUPPORT=y
 CONFIG_SPL_DRIVERS_MISC_SUPPORT=y
+CONFIG_SPL_FIRMWARE=y
 CONFIG_NR_DRAM_BANKS=1
 CONFIG_SPL=y
 CONFIG_BOOTSTAGE_STASH_ADDR=0x0
index 603aa98..4193360 100644 (file)
@@ -4,7 +4,9 @@ obj-$(CONFIG_$(SPL_TPL_)CLK) += clk/
 obj-$(CONFIG_$(SPL_TPL_)DM) += core/
 obj-$(CONFIG_$(SPL_TPL_)DFU) += dfu/
 obj-$(CONFIG_$(SPL_TPL_)GPIO_SUPPORT) += gpio/
-obj-$(CONFIG_$(SPL_TPL_)DRIVERS_MISC_SUPPORT) += misc/ sysreset/ firmware/
+obj-$(CONFIG_$(SPL_TPL_)DRIVERS_MISC_SUPPORT) += misc/
+obj-$(CONFIG_$(SPL_TPL_)SYSRESET) += sysreset/
+obj-$(CONFIG_$(SPL_TPL_)FIRMWARE) +=firmware/
 obj-$(CONFIG_$(SPL_TPL_)I2C_SUPPORT) += i2c/
 obj-$(CONFIG_$(SPL_TPL_)INPUT) += input/
 obj-$(CONFIG_$(SPL_TPL_)LED) += led/
@@ -81,7 +83,6 @@ obj-y += cache/
 obj-$(CONFIG_CPU) += cpu/
 obj-y += crypto/
 obj-$(CONFIG_FASTBOOT) += fastboot/
-obj-y += firmware/
 obj-$(CONFIG_FPGA) += fpga/
 obj-y += misc/
 obj-$(CONFIG_MMC) += mmc/
@@ -96,7 +97,6 @@ obj-y += rtc/
 obj-y += scsi/
 obj-y += sound/
 obj-y += spmi/
-obj-y += sysreset/
 obj-y += video/
 obj-y += watchdog/
 obj-$(CONFIG_QE) += qe/
index 7d8f161..873bc8c 100644 (file)
@@ -1,9 +1,13 @@
 config FIRMWARE
        bool "Enable Firmware driver support"
 
+config SPL_FIRMWARE
+       bool "Enable Firmware driver support in SPL"
+       depends on FIRMWARE
+
 config SPL_ARM_PSCI_FW
        bool
-       select FIRMWARE
+       select SPL_FIRMWARE
 
 config ARM_PSCI_FW
        bool
@@ -13,6 +17,7 @@ config TI_SCI_PROTOCOL
        tristate "TI System Control Interface (TISCI) Message Protocol"
        depends on K3_SEC_PROXY
        select FIRMWARE
+       select SPL_FIRMWARE if SPL
        help
          TI System Control Interface (TISCI) Message Protocol is used to manage
          compute systems such as ARM, DSP etc with the system controller in
index 024404d..90c41ab 100644 (file)
@@ -50,6 +50,7 @@ config SYSRESET_MICROBLAZE
 config SYSRESET_PSCI
        bool "Enable support for PSCI System Reset"
        depends on ARM_PSCI_FW
+       select SPL_ARM_PSCI_FW if SPL
        help
          Enable PSCI SYSTEM_RESET function call.  To use this, PSCI firmware
          must be running on your system.