Hello Peng,

Am Montag, dem 14.02.2022 um 20:55 +0800 schrieb Peng Fan (OSS):
> From: Peng Fan <peng....@nxp.com>
> 
> Beside the fused modules on iMX8MP Lite, this part has also fused
> GPU3D/2D, LVDS and MIPI DSI.
> So we have to disable them for kernel and also disable MIPI DSI
> in u-boot DTS for splash screen at runtime.
> 
> Signed-off-by: Ye Li <ye...@nxp.com>
> Signed-off-by: Peng Fan <peng....@nxp.com>
> ---
>  arch/arm/mach-imx/imx8m/soc.c | 147
> ++++++++++++++++++++++++++++++++--
>  1 file changed, 142 insertions(+), 5 deletions(-)
> 
> diff --git a/arch/arm/mach-imx/imx8m/soc.c b/arch/arm/mach-
> imx/imx8m/soc.c
> index e2d21bf6b8..91ff7eca59 100644
> --- a/arch/arm/mach-imx/imx8m/soc.c
> +++ b/arch/arm/mach-imx/imx8m/soc.c
> @@ -905,6 +905,90 @@ static int low_drive_gpu_freq(void *blob)
>  }
>  #endif
>  
> 

[...]

>  
> +#ifdef CONFIG_OF_BOARD_FIXUP
> +#ifndef CONFIG_SPL_BUILD
> +int board_fix_fdt(void *fdt)

I stumbled over this already in the NXP U-Boot. We 
implemented there on top our own board_fix_fdt() callback on board
level. So this caused a conflict. This will be a issue for upstream
also when a imx8m* board tries to use it. 
Is there not any other way to solve this than implementing board
callbacks on soc level?

Regards,
Teresa   

> +{
> +     if (is_imx8mpul()) {
> +             int i = 0;
> +             int nodeoff, ret;
> +             const char *status = "disabled";
> +             static const char * const dsi_nodes[] = {
> +                     "/soc@0/bus@32c00000/mipi_dsi@32e60000",
> +                     "/soc@0/bus@32c00000/lcd-controller@32e80000",
> +                     "/dsi-host"
> +             };
> +
> +             for (i = 0; i < ARRAY_SIZE(dsi_nodes); i++) {
> +                     nodeoff = fdt_path_offset(fdt, dsi_nodes[i]);
> +                     if (nodeoff > 0) {
> +set_status:
> +                             ret = fdt_setprop(fdt, nodeoff,
> "status", status,
> +                                               strlen(status) + 1);
> +                             if (ret == -FDT_ERR_NOSPACE) {
> +                                     ret = fdt_increase_size(fdt,
> 512);
> +                                     if (!ret)
> +                                             goto set_status;
> +                             }
> +                     }
> +             }
> +     }
> +
> +     return 0;
> +}
> +#endif
> +#endif
> +
>  #if !CONFIG_IS_ENABLED(SYSRESET)
>  void reset_cpu(void)
>  {
-- 
PHYTEC Messtechnik GmbH | Robert-Koch-Str. 39 | 55129 Mainz, Germany

Geschäftsführer: Dipl.-Ing. Michael Mitezki, Dipl.-Ing. Bodo Huber |
Handelsregister Mainz HRB 4656 | Finanzamt Mainz | St.Nr. 266500608, DE
149059855

Reply via email to