Since commit 56ca2c197e71 ("mci: sdhci: Get rid of many register ops") the core checks whether there is an explicit write function for the host. If the struct is not zero initialized, a bogus value is taken as the function, resulting in an unbootable board. Zero initialize the structs properly to let the PBL correctly load images. Fixes booting on the i.MX8M* board, tested on i.MX8MP EVK. Fixes: 56ca2c197e71 ("mci: sdhci: Get rid of many register ops") Signed-off-by: Rouven Czerwinski <r.czerwinski@xxxxxxxxxxxxxx> --- drivers/mci/imx-esdhc-pbl.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/mci/imx-esdhc-pbl.c b/drivers/mci/imx-esdhc-pbl.c index c3a8b377e..2e04c78fd 100644 --- a/drivers/mci/imx-esdhc-pbl.c +++ b/drivers/mci/imx-esdhc-pbl.c @@ -233,7 +233,7 @@ static int imx8m_esdhc_init(struct fsl_esdhc_host *host, int imx6_esdhc_start_image(int instance) { struct esdhc_soc_data data; - struct fsl_esdhc_host host; + struct fsl_esdhc_host host = { 0 }; switch (instance) { case 0: @@ -272,7 +272,7 @@ int imx6_esdhc_start_image(int instance) int imx7_esdhc_start_image(int instance) { struct esdhc_soc_data data; - struct fsl_esdhc_host host; + struct fsl_esdhc_host host = { 0 }; switch (instance) { case 0: @@ -309,7 +309,7 @@ int imx7_esdhc_start_image(int instance) int imx8m_esdhc_load_image(int instance, bool start) { struct esdhc_soc_data data; - struct fsl_esdhc_host host; + struct fsl_esdhc_host host = { 0 }; int ret; ret = imx8m_esdhc_init(&host, &data, instance); @@ -337,7 +337,7 @@ int imx8m_esdhc_load_image(int instance, bool start) int imx8mp_esdhc_load_image(int instance, bool start) { struct esdhc_soc_data data; - struct fsl_esdhc_host host; + struct fsl_esdhc_host host = { 0 }; int ret; ret = imx8m_esdhc_init(&host, &data, instance); -- 2.30.2 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox