Message ID | 20191119023640.34790-1-wen.he_1@nxp.com |
---|---|
State | Changes Requested |
Delegated to: | Priyanka Jain |
Headers | show |
Series | [U-Boot,v4] armv8: ls1028a: disable multimedia feature when not supported | expand |
>-----Original Message----- >From: U-Boot <u-boot-bounces@lists.denx.de> On Behalf Of Wen He >Sent: Tuesday, November 19, 2019 8:07 AM >To: u-boot@lists.denx.de >Cc: Andy Tang <andy.tang@nxp.com> >Subject: [U-Boot] [v4] armv8: ls1028a: disable multimedia feature when not >supported > >From: Yuantian Tang <andy.tang@nxp.com> > >Ls1028a has 4 personalities: Ls1028a, Ls1027a, Ls1017a and Ls1018a. >Both Ls1027a and Ls1017a personalities are lower functionality version which >doesn't support the multimedia subsystems, like LCD, GPU. > >To disable multimedia feature on non-multimedia version, set the status >property to disabled in dts nodes. > >Signed-off-by: Tang Yuantian <andy.tang@nxp.com> >Signed-off-by: Wen He <wen.he_1@nxp.com> >--- Please incorporate review comments posted on v2 version of this patch. -priyankajain
diff --git a/arch/arm/cpu/armv8/fsl-layerscape/fdt.c b/arch/arm/cpu/armv8/fsl-layerscape/fdt.c index 19917b207a..1de84b9260 100644 --- a/arch/arm/cpu/armv8/fsl-layerscape/fdt.c +++ b/arch/arm/cpu/armv8/fsl-layerscape/fdt.c @@ -401,6 +401,26 @@ void fdt_fixup_remove_jr(void *blob) } #endif +#ifdef CONFIG_ARCH_LS1028A +static void fdt_disable_multimedia(void *blob, unsigned int svr) +{ + int off; + + if (!((svr >> 10) & 0x1)) + return; + + /* Disable eDP/LCD node */ + off = fdt_node_offset_by_compatible(blob, -1, "arm,mali-dp500"); + if (off != -FDT_ERR_NOTFOUND) + fdt_status_disabled(blob, off); + + /* Disable GPU node */ + off = fdt_node_offset_by_compatible(blob, -1, "fsl,ls1028a-gpu"); + if (off != -FDT_ERR_NOTFOUND) + fdt_status_disabled(blob, off); +} +#endif + void ft_cpu_setup(void *blob, bd_t *bd) { struct ccsr_gur __iomem *gur = (void *)(CONFIG_SYS_FSL_GUTS_ADDR); @@ -462,4 +482,7 @@ void ft_cpu_setup(void *blob, bd_t *bd) #ifdef CONFIG_HAS_FEATURE_ENHANCED_MSI fdt_fixup_msi(blob); #endif +#ifdef CONFIG_ARCH_LS1028A + fdt_disable_multimedia(blob, svr); +#endif }