
On Thu, Apr 18, 2024 at 11:42 AM Marek Vasut marex@denx.de wrote:
On 4/18/24 8:02 PM, Fabio Estevam wrote:
Hi Tim,
On Thu, Apr 18, 2024 at 2:54 PM Tim Harvey tharvey@gateworks.com wrote:
Fabio, if you enable CONFIG_DM_RNG on an imx8m{m,p}_evk do you get the following in the SPL? Couldn't bind rng driver (-96) SEC0: RNG instantiated
sec_init failed!
Yes, if I add CONFIG_DM_RNG=y to imx8mm_evk_defconfig I get:
U-Boot SPL 2024.04-00793-g3434b88d2c2f-dirty (Apr 18 2024 - 14:58:57 -0300) No pmic Couldn't bind rng driver (-96) SEC0: RNG instantiated
sec_init failed!
Interesting. Which TFA blob version do you use ? I used the mainline 2.10 for my tests.
Marek,
Were you able to reproduce this as well with the board you enabled DM_RNG for? If it does work fine what dtb were you using... perhaps there is something in its u-boot.dtsi that we need?
The error -EPFNOSUPPORT is interesting and helps point to the only place it can be where the comment says the strange errno is to make this easier to find: https://elixir.bootlin.com/u-boot/latest/source/drivers/core/uclass.c#L70: if (!uc_drv) { debug("Cannot find uclass for id %d: please add the UCLASS_DRIVER() declaration for this UCLASS_... id\n", id); /* * Use a strange error to make this case easier to find. When * a uclass is not available it can prevent driver model from * starting up and this failure is otherwise hard to debug. */ return -EPFNOSUPPORT; }
I'm not very familiar with the dm driver binding - does the U-BOOT_DRIVER usage in drivers/crypto/fsl/rng.c need to be refactored to use UCLASS_DRIVER for it to be usable in both SPL and U-Boot?
Honestly I don't know why we need DM_RNG in SPL anyway and we could just add support for disabling it there to avoid unwanted bloat.
Tim