On 18/09/2026 14:16, [email protected] wrote:
> Hi,
>
> On 9/18/26 11:49, Aswin Murugan wrote:
>> GENI QUP firmware loading is normally expected to be completed by a
>> previous boot stage and is not required in production U-Boot builds.
>> Add CONFIG_QCOM_GENI_FW_LOAD to make the late firmware loading path
>> optional and disable it by default.
>>
>> The option can be enabled for engineering and bring-up builds where
>> loading GENI firmware from U-Boot is required.
>
> This feature is enabled by default on Linux, why would it be disabled
> by default on U-Boot ?
not only that it's required for a variety of upstream and production
usecases already.
I assume this change is motivated to improve speed, the patch should
really describe the motivation here since it's not a bug fix. A fast
path could totally be done here but it would have to be a bit smarter I
think.
Thanks,>
> Neil
>
>>
>> Signed-off-by: Aswin Murugan <[email protected]>
>> ---
>> configs/qcom_defconfig | 1 +
>> drivers/misc/Kconfig | 9 +++++++++
>> drivers/misc/qcom_geni.c | 2 ++
>> 3 files changed, 12 insertions(+)
>>
>> diff --git a/configs/qcom_defconfig b/configs/qcom_defconfig
>> index c52f619850d..9498583b97c 100644
>> --- a/configs/qcom_defconfig
>> +++ b/configs/qcom_defconfig
>> @@ -99,6 +99,7 @@ CONFIG_QCOM_HYP_SMMU=y
>> CONFIG_MISC=y
>> CONFIG_NVMEM=y
>> CONFIG_QCOM_GENI=y
>> +# CONFIG_QCOM_GENI_FW_LOAD is not set
>> CONFIG_I2C_EEPROM=y
>> CONFIG_MMC_SDHCI=y
>> CONFIG_MMC_SDHCI_ADMA=y
>> diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
>> index 44415f24ae1..8320fbe28e0 100644
>> --- a/drivers/misc/Kconfig
>> +++ b/drivers/misc/Kconfig
>> @@ -93,6 +93,15 @@ config QCOM_GENI
>> for providing a common interface for various peripherals like
>> UART, I2C, SPI,
>> etc.
>> +config QCOM_GENI_FW_LOAD
>> + bool "Load Qualcomm GENI peripheral firmware at late init"
>> + depends on QCOM_GENI
>> + default y
>> + help
>> + Load firmware for GENI peripherals from the firmware partition
>> + at late init. Disable if no GENI peripheral needs firmware
>> + loading.
>> +
>> config ROCKCHIP_EFUSE
>> bool "Rockchip e-fuse support"
>> depends on MISC
>> diff --git a/drivers/misc/qcom_geni.c b/drivers/misc/qcom_geni.c
>> index a62ae6a2478..b5c2a511ae7 100644
>> --- a/drivers/misc/qcom_geni.c
>> +++ b/drivers/misc/qcom_geni.c
>> @@ -563,7 +563,9 @@ static int qcom_geni_fw_initialise(void)
>> return 0;
>> }
>> +#if IS_ENABLED(CONFIG_QCOM_GENI_FW_LOAD)
>> EVENT_SPY_SIMPLE(EVT_LAST_STAGE_INIT, qcom_geni_fw_initialise);
>> +#endif
>> static const struct udevice_id geni_ids[] = {
>> { .compatible = "qcom,geni-se-qup" },
>
--
// Casey (she/her)