mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-09-30 08:30:50 +09:00
armv8: ls1028a: disable multimedia for ls1027a, ls1017a
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: Priyanka Jain <priyanka.jain@nxp.com>
This commit is contained in:
parent
72c3bfaad5
commit
54d5c06cb9
@ -401,6 +401,26 @@ void fdt_fixup_remove_jr(void *blob)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_ARCH_LS1028A
|
||||||
|
static void fdt_disable_multimedia(void *blob, unsigned int svr)
|
||||||
|
{
|
||||||
|
int off;
|
||||||
|
|
||||||
|
if (IS_MULTIMEDIA_EN(svr))
|
||||||
|
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)
|
void ft_cpu_setup(void *blob, bd_t *bd)
|
||||||
{
|
{
|
||||||
struct ccsr_gur __iomem *gur = (void *)(CONFIG_SYS_FSL_GUTS_ADDR);
|
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
|
#ifdef CONFIG_HAS_FEATURE_ENHANCED_MSI
|
||||||
fdt_fixup_msi(blob);
|
fdt_fixup_msi(blob);
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef CONFIG_ARCH_LS1028A
|
||||||
|
fdt_disable_multimedia(blob, svr);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
@ -115,6 +115,9 @@ enum boot_src get_boot_src(void);
|
|||||||
#ifdef CONFIG_ARCH_LX2160A
|
#ifdef CONFIG_ARCH_LX2160A
|
||||||
#define IS_C_PROCESSOR(svr) (!((svr >> 12) & 0x1))
|
#define IS_C_PROCESSOR(svr) (!((svr >> 12) & 0x1))
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef CONFIG_ARCH_LS1028A
|
||||||
|
#define IS_MULTIMEDIA_EN(svr) (!((svr >> 10) & 0x1))
|
||||||
|
#endif
|
||||||
#define IS_SVR_REV(svr, maj, min) \
|
#define IS_SVR_REV(svr, maj, min) \
|
||||||
((SVR_MAJ(svr) == (maj)) && (SVR_MIN(svr) == (min)))
|
((SVR_MAJ(svr) == (maj)) && (SVR_MIN(svr) == (min)))
|
||||||
#define SVR_DEV(svr) ((svr) >> 8)
|
#define SVR_DEV(svr) ((svr) >> 8)
|
||||||
|
Loading…
Reference in New Issue
Block a user