From: Marco Felsch <m.felsch@pengutronix.de>
To: Ahmad Fatoum <a.fatoum@pengutronix.de>
Cc: barebox@lists.infradead.org, uol@pengutronix.de
Subject: Re: [PATCH master v1 6/6] firmware: don't hardcode firmware paths in srctree for existence check
Date: Mon, 3 Jul 2023 08:34:25 +0200 [thread overview]
Message-ID: <20230703063425.mg6egi7vhgbext3q@pengutronix.de> (raw)
In-Reply-To: <20230626153335.3592017-7-a.fatoum@pengutronix.de>
On 23-06-26, Ahmad Fatoum wrote:
> Now that PBL firmware can be made optional, we can drop the existence
> checks in the Kconfig. These were flawed anyway, because they didn't
> take CONFIG_EXTRA_FIRMWARE_DIR into account and they led to issues with
> build system recipes that didn't expect firmware to be required before
> compilation step at oldconfig/menuconfig time.
>
> This effectively reverts commits:
>
> 624962fb45c6 ("ARM: i.MX: make boards selectable only when firmware files are present")
> 4ff2e5510ec9 ("ARM: Rockchip: make boards only selectable when firmware is present")
> 41a89611774a ("ARM: rockchip: don't attempt building MACH_RADXA_ROCK5 without firmware")
>
> Reported-by: Marc Kleine-Budde <mkl@pengutronix.de>
> Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Reviewed-by: Marco Felsch <m.felsch@pengutronix.de>
> ---
> arch/arm/mach-imx/Kconfig | 49 ----------------------------------
> arch/arm/mach-rockchip/Kconfig | 6 -----
> firmware/Kconfig | 39 ---------------------------
> 3 files changed, 94 deletions(-)
>
> diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig
> index 5cd1428f9a6b..819c23bae88a 100644
> --- a/arch/arm/mach-imx/Kconfig
> +++ b/arch/arm/mach-imx/Kconfig
> @@ -561,35 +561,9 @@ if 64BIT
>
> comment "i.MX8M boards"
>
> -if !HAVE_FIRMWARE_IMX_LPDDR4_PMU_TRAIN
> -comment "LPDDR4 firmware files missing, some boards are not selectable"
> -endif
> -
> -if !HAVE_FIRMWARE_IMX_DDR4_PMU_TRAIN
> -comment "DDR4 firmware files missing, some boards are not selectable"
> -endif
> -
> -if !HAVE_FIRMWARE_IMX8MM_ATF
> -comment "i.MX8MM TF-A files missing, i.MX8MM boards are disabled"
> -endif
> -
> -if !HAVE_FIRMWARE_IMX8MQ_ATF
> -comment "i.MX8MQ TF-A files missing, i.MX8MQ boards are disabled"
> -endif
> -
> -if !HAVE_FIRMWARE_IMX8MN_ATF
> -comment "i.MX8MN TF-A files missing, i.MX8MN boards are disabled"
> -endif
> -
> -if !HAVE_FIRMWARE_IMX8MP_ATF
> -comment "i.MX8MP TF-A files missing, i.MX8MP boards are disabled"
> -endif
> -
> config MACH_INNOCOMM_WB15
> bool "InnoComm WB15 (i.MX8MM) EVK"
> select ARCH_IMX8MM
> - depends on HAVE_FIRMWARE_IMX_LPDDR4_PMU_TRAIN
> - depends on HAVE_FIRMWARE_IMX8MM_ATF
> select FIRMWARE_IMX_LPDDR4_PMU_TRAIN
> select FIRMWARE_IMX8MM_ATF
> select ARM_SMCCC
> @@ -622,8 +596,6 @@ config MACH_BEO_MOZART2
> config MACH_MNT_REFORM
> bool "MNT Reform"
> select ARCH_IMX8MQ
> - depends on HAVE_FIRMWARE_IMX_LPDDR4_PMU_TRAIN
> - depends on HAVE_FIRMWARE_IMX8MQ_ATF
> select FIRMWARE_IMX_LPDDR4_PMU_TRAIN
> select FIRMWARE_IMX8MQ_ATF
> select ARM_SMCCC
> @@ -633,8 +605,6 @@ config MACH_MNT_REFORM
> config MACH_NXP_IMX8MM_EVK
> bool "NXP i.MX8MM EVK Board"
> select ARCH_IMX8MM
> - depends on HAVE_FIRMWARE_IMX_LPDDR4_PMU_TRAIN
> - depends on HAVE_FIRMWARE_IMX8MM_ATF
> select FIRMWARE_IMX_LPDDR4_PMU_TRAIN
> select FIRMWARE_IMX8MM_ATF
> select ARM_SMCCC
> @@ -646,9 +616,6 @@ config MACH_NXP_IMX8MM_EVK
> config MACH_NXP_IMX8MN_EVK
> bool "NXP i.MX8MN EVK Board"
> select ARCH_IMX8MN
> - depends on HAVE_FIRMWARE_IMX_LPDDR4_PMU_TRAIN
> - depends on HAVE_FIRMWARE_IMX_DDR4_PMU_TRAIN
> - depends on HAVE_FIRMWARE_IMX8MN_ATF
> select FIRMWARE_IMX_LPDDR4_PMU_TRAIN
> select FIRMWARE_IMX_DDR4_PMU_TRAIN
> select FIRMWARE_IMX8MN_ATF
> @@ -660,8 +627,6 @@ config MACH_NXP_IMX8MN_EVK
> config MACH_NXP_IMX8MP_EVK
> bool "NXP i.MX8MP EVK Board"
> select ARCH_IMX8MP
> - depends on HAVE_FIRMWARE_IMX_LPDDR4_PMU_TRAIN
> - depends on HAVE_FIRMWARE_IMX8MP_ATF
> select FIRMWARE_IMX_LPDDR4_PMU_TRAIN
> select FIRMWARE_IMX8MP_ATF
> select ARM_SMCCC
> @@ -672,8 +637,6 @@ config MACH_NXP_IMX8MP_EVK
> config MACH_NXP_IMX8MQ_EVK
> bool "NXP i.MX8MQ EVK Board"
> select ARCH_IMX8MQ
> - depends on HAVE_FIRMWARE_IMX_LPDDR4_PMU_TRAIN
> - depends on HAVE_FIRMWARE_IMX8MQ_ATF
> select FIRMWARE_IMX_LPDDR4_PMU_TRAIN
> select FIRMWARE_IMX8MQ_ATF
> select ARM_SMCCC
> @@ -682,8 +645,6 @@ config MACH_NXP_IMX8MQ_EVK
> config MACH_PHYTEC_SOM_IMX8MQ
> bool "Phytec i.MX8M SOM"
> select ARCH_IMX8MQ
> - depends on HAVE_FIRMWARE_IMX_LPDDR4_PMU_TRAIN
> - depends on HAVE_FIRMWARE_IMX8MQ_ATF
> select FIRMWARE_IMX_LPDDR4_PMU_TRAIN
> select FIRMWARE_IMX8MQ_ATF
> select ARM_SMCCC
> @@ -692,8 +653,6 @@ config MACH_PHYTEC_SOM_IMX8MQ
> config MACH_POLYHEX_DEBIX
> bool "Polyhex DEBIX Model-A/B (i.MX8MP) Board"
> select ARCH_IMX8MP
> - depends on HAVE_FIRMWARE_IMX_LPDDR4_PMU_TRAIN
> - depends on HAVE_FIRMWARE_IMX8MP_ATF
> select FIRMWARE_IMX_LPDDR4_PMU_TRAIN
> select FIRMWARE_IMX8MP_ATF
> select ARM_SMCCC
> @@ -704,8 +663,6 @@ config MACH_POLYHEX_DEBIX
> config MACH_PROTONIC_IMX8M
> bool "Protonic-Holland i.MX8Mx based boards"
> select ARCH_IMX8MM
> - depends on HAVE_FIRMWARE_IMX_LPDDR4_PMU_TRAIN
> - depends on HAVE_FIRMWARE_IMX8MM_ATF
> select FIRMWARE_IMX_LPDDR4_PMU_TRAIN
> select FIRMWARE_IMX8MM_ATF
> select ARM_SMCCC
> @@ -716,8 +673,6 @@ config MACH_PROTONIC_IMX8M
> config MACH_TQ_MBA8MPXL
> bool "TQ i.MX8MP Dual/Quad on MBa8MPxL Board"
> select ARCH_IMX8MP
> - depends on HAVE_FIRMWARE_IMX_LPDDR4_PMU_TRAIN
> - depends on HAVE_FIRMWARE_IMX8MP_ATF
> select FIRMWARE_IMX_LPDDR4_PMU_TRAIN
> select FIRMWARE_IMX8MP_ATF
> select ARM_SMCCC
> @@ -728,8 +683,6 @@ config MACH_TQ_MBA8MPXL
> config MACH_VARISCITE_DT8MCUSTOMBOARD_IMX8MP
> bool "Variscite DT8MCustomBoard with DART-MX8M-PLUS"
> select ARCH_IMX8MP
> - depends on HAVE_FIRMWARE_IMX_LPDDR4_PMU_TRAIN
> - depends on HAVE_FIRMWARE_IMX8MP_ATF
> select FIRMWARE_IMX_LPDDR4_PMU_TRAIN
> select FIRMWARE_IMX8MP_ATF
> select ARM_SMCCC
> @@ -740,8 +693,6 @@ config MACH_VARISCITE_DT8MCUSTOMBOARD_IMX8MP
> config MACH_ZII_IMX8MQ_DEV
> bool "ZII i.MX8MQ based devices"
> select ARCH_IMX8MQ
> - depends on HAVE_FIRMWARE_IMX_LPDDR4_PMU_TRAIN
> - depends on HAVE_FIRMWARE_IMX8MQ_ATF
> select FIRMWARE_IMX_LPDDR4_PMU_TRAIN
> select FIRMWARE_IMX8MQ_ATF
> select ARM_SMCCC
> diff --git a/arch/arm/mach-rockchip/Kconfig b/arch/arm/mach-rockchip/Kconfig
> index a71c4ae35dd9..8cdf2c28a912 100644
> --- a/arch/arm/mach-rockchip/Kconfig
> +++ b/arch/arm/mach-rockchip/Kconfig
> @@ -75,42 +75,36 @@ if 64BIT
>
> config MACH_RK3568_EVB
> select ARCH_RK3568
> - depends on $(success,test -e $(srctree)/arch/arm/boards/rockchip-rk3568-evb/sdram-init.bin)
> bool "RK3568 EVB"
> help
> Say Y here if you are using a RK3568 EVB
>
> config MACH_RK3568_BPI_R2PRO
> select ARCH_RK3568
> - depends on $(success,test -e $(srctree)/arch/arm/boards/rockchip-rk3568-bpi-r2pro/sdram-init.bin)
> bool "RK3568 BPI R2PRO"
> help
> Say Y here if you are using a RK3568 Bananpi R2 Pro
>
> config MACH_PINE64_QUARTZ64
> select ARCH_RK3568
> - depends on $(success,test -e $(srctree)/arch/arm/boards/pine64-quartz64/sdram-init.bin)
> bool "Pine64 Quartz64"
> help
> Say Y here if you are using a Pine64 Quartz64
>
> config MACH_RADXA_ROCK3
> select ARCH_RK3568
> - depends on $(success,test -e $(srctree)/arch/arm/boards/radxa-rock3/sdram-init.bin)
> bool "Radxa ROCK3"
> help
> Say Y here if you are using a Radxa ROCK3
>
> config MACH_RADXA_ROCK5
> select ARCH_RK3588
> - depends on $(success,test -e $(srctree)/arch/arm/boards/radxa-rock5/sdram-init.bin)
> bool "Radxa ROCK5"
> help
> Say Y here if you are using a Radxa ROCK5
>
> config MACH_RADXA_CM3
> select ARCH_RK3568
> - depends on $(success,test -e $(srctree)/arch/arm/boards/radxa-cm3/sdram-init.bin)
> bool "Radxa CM3"
> help
> Say Y here if you are using a Radxa CM3
> diff --git a/firmware/Kconfig b/firmware/Kconfig
> index 56d6d0d6c030..3328dbc0b111 100644
> --- a/firmware/Kconfig
> +++ b/firmware/Kconfig
> @@ -20,74 +20,35 @@ config MISSING_FIRMWARE_ERROR
> If in doubt, say Y and refer to the documentation on where to acquire the
> needed firmware.
>
> -config HAVE_FIRMWARE_IMX_LPDDR4_PMU_TRAIN
> - bool
> - default y
> - depends on $(success,test -e $(srctree)/firmware/lpddr4_pmu_train_1d_dmem.bin)
> - depends on $(success,test -e $(srctree)/firmware/lpddr4_pmu_train_1d_imem.bin)
> - depends on $(success,test -e $(srctree)/firmware/lpddr4_pmu_train_2d_dmem.bin)
> - depends on $(success,test -e $(srctree)/firmware/lpddr4_pmu_train_2d_imem.bin)
> -
> config FIRMWARE_IMX_LPDDR4_PMU_TRAIN
> bool
>
> -config HAVE_FIRMWARE_IMX_DDR4_PMU_TRAIN
> - bool
> - default y
> - depends on $(success,test -e $(srctree)/firmware/ddr4_dmem_1d.bin)
> - depends on $(success,test -e $(srctree)/firmware/ddr4_dmem_2d.bin)
> - depends on $(success,test -e $(srctree)/firmware/ddr4_imem_1d.bin)
> - depends on $(success,test -e $(srctree)/firmware/ddr4_imem_2d.bin)
> -
> config FIRMWARE_IMX_DDR4_PMU_TRAIN
> bool
>
> -config HAVE_FIRMWARE_IMX8MM_ATF
> - bool
> - default y
> - depends on $(success,test -e $(srctree)/firmware/imx8mm-bl31.bin)
> -
> config FIRMWARE_IMX8MM_ATF
> bool
>
> -config HAVE_FIRMWARE_IMX8MN_ATF
> - bool
> - default y
> - depends on $(success,test -e $(srctree)/firmware/imx8mn-bl31.bin)
> -
> config FIRMWARE_IMX8MN_ATF
> bool
>
> -config HAVE_FIRMWARE_IMX8MP_ATF
> - bool
> - default y
> - depends on $(success,test -e $(srctree)/firmware/imx8mp-bl31.bin)
> -
> config FIRMWARE_IMX8MP_ATF
> bool
>
> -config HAVE_FIRMWARE_IMX8MQ_ATF
> - bool
> - default y
> - depends on $(success,test -e $(srctree)/firmware/imx8mq-bl31.bin)
> -
> config FIRMWARE_IMX8MQ_ATF
> bool
>
> config FIRMWARE_IMX8MM_OPTEE
> bool "install OP-TEE on i.MX8MM boards"
> depends on FIRMWARE_IMX8MM_ATF && PBL_OPTEE
> - depends on $(success,test -e $(srctree)/firmware/imx8mm-bl32.bin)
>
> config FIRMWARE_IMX8MN_OPTEE
> bool "install OP-TEE on i.MX8MN boards"
> depends on FIRMWARE_IMX8MN_ATF && PBL_OPTEE
> - depends on $(success,test -e $(srctree)/firmware/imx8mn-bl32.bin)
>
> config FIRMWARE_IMX8MP_OPTEE
> bool "install OP-TEE on i.MX8MP boards"
> depends on FIRMWARE_IMX8MP_ATF && PBL_OPTEE
> - depends on $(success,test -e $(srctree)/firmware/imx8mp-bl32.bin)
>
> config FIRMWARE_CCBV2_OPTEE
> bool
> --
> 2.39.2
>
>
>
prev parent reply other threads:[~2023-07-03 6:35 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-26 15:33 [PATCH master v1 0/6] firmware: optionally turn missing firmware errors into warnings Ahmad Fatoum
2023-06-26 15:33 ` [PATCH master v1 1/6] firmware: reference pointer alignment defined in <asm-generic/pointer.h> Ahmad Fatoum
2023-06-29 8:57 ` Marco Felsch
2023-06-26 15:33 ` [PATCH master v1 2/6] firmware: turn missing firmware into linker error Ahmad Fatoum
2023-06-29 9:07 ` Marco Felsch
2023-06-26 15:33 ` [PATCH master v1 3/6] firmware: optionally turn missing firmware errors into warnings Ahmad Fatoum
2023-07-03 6:25 ` Marco Felsch
2023-07-03 8:45 ` Ahmad Fatoum
2023-06-26 15:33 ` [PATCH master v1 4/6] ARM: Rockchip: gracefully handle missing firmware Ahmad Fatoum
2023-06-26 15:33 ` [PATCH master v1 5/6] ARM64: unset CONFIG_MISSING_FIRMWARE_ERROR for Rockchip/i.MX Ahmad Fatoum
2023-07-03 6:33 ` Marco Felsch
2023-07-03 8:46 ` Ahmad Fatoum
2023-06-26 15:33 ` [PATCH master v1 6/6] firmware: don't hardcode firmware paths in srctree for existence check Ahmad Fatoum
2023-07-03 6:34 ` Marco Felsch [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230703063425.mg6egi7vhgbext3q@pengutronix.de \
--to=m.felsch@pengutronix.de \
--cc=a.fatoum@pengutronix.de \
--cc=barebox@lists.infradead.org \
--cc=uol@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox