mirror of
https://git.codelinaro.org/clo/qsdk/oss/boot/u-boot-2016.git
synced 2026-02-22 20:24:27 +01:00
igep00x0: fixup FDT according to detected flash type
Leave only detected flash type enabled in FTD as otherwise GPMC CS is claimed (and never freed) by Linux, causing 'concurent' flash type not to be probed. Signed-off-by: Ladislav Michl <ladis@linux-mips.org>
This commit is contained in:
parent
d12814e7c5
commit
e4290aa10a
1 changed files with 19 additions and 0 deletions
|
|
@ -214,6 +214,20 @@ void board_mmc_power_init(void)
|
|||
#endif
|
||||
|
||||
#ifdef CONFIG_OF_BOARD_SETUP
|
||||
static int ft_enable_by_compatible(void *blob, char *compat, int enable)
|
||||
{
|
||||
int off = fdt_node_offset_by_compatible(blob, -1, compat);
|
||||
if (off < 0)
|
||||
return off;
|
||||
|
||||
if (enable)
|
||||
fdt_status_okay(blob, off);
|
||||
else
|
||||
fdt_status_disabled(blob, off);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int ft_board_setup(void *blob, bd_t *bd)
|
||||
{
|
||||
#ifdef CONFIG_FDT_FIXUP_PARTITIONS
|
||||
|
|
@ -224,6 +238,11 @@ int ft_board_setup(void *blob, bd_t *bd)
|
|||
|
||||
fdt_fixup_mtdparts(blob, nodes, ARRAY_SIZE(nodes));
|
||||
#endif
|
||||
ft_enable_by_compatible(blob, "ti,omap2-nand",
|
||||
gpmc_cs0_flash == MTD_DEV_TYPE_NAND);
|
||||
ft_enable_by_compatible(blob, "ti,omap2-onenand",
|
||||
gpmc_cs0_flash == MTD_DEV_TYPE_ONENAND);
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue