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 5e6bb54551b7137ccb43a31a1cede66015d1697d..0eb73843401d97394f834f87dea50d60e0d32bba 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 921af0d4761a879c499326cade363117d4523ee8..a76ae9d3260e96c6f849f1807ded1e64cce12569 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 27034cfaa908e3ce1edca1886abe549fa7ba5882..5b7dae9be6d9be65547648ee636d5bb59783f0e6 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 603aa98590123a122380e800d8dafdeca499b6fe..41933605ce1a2d38a204af966bf3307fbb42ec76 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 7d8f161b267a650dc8705b98f4f577a8969db5b1..873bc8c7967995dd6e9ef4b812fe391a84e475e7 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 024404d51d022dbd8b9651d534bdbe70e87fd018..90c41ab44d7e864e42c364aafd48600b23b593ed 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.