diff options
Diffstat (limited to 'arch/arm/mach-omap2/gpmc-onenand.c')
| -rw-r--r-- | arch/arm/mach-omap2/gpmc-onenand.c | 21 | 
1 files changed, 15 insertions, 6 deletions
diff --git a/arch/arm/mach-omap2/gpmc-onenand.c b/arch/arm/mach-omap2/gpmc-onenand.c index 46aac83d73d..64b5a834698 100644 --- a/arch/arm/mach-omap2/gpmc-onenand.c +++ b/arch/arm/mach-omap2/gpmc-onenand.c @@ -272,6 +272,10 @@ static int omap2_onenand_setup_async(void __iomem *onenand_base)  	struct gpmc_timings t;  	int ret; +	if (gpmc_onenand_data->of_node) +		gpmc_read_settings_dt(gpmc_onenand_data->of_node, +				      &onenand_async); +  	omap2_onenand_set_async_mode(onenand_base);  	omap2_onenand_calc_async_timings(&t); @@ -300,12 +304,17 @@ static int omap2_onenand_setup_sync(void __iomem *onenand_base, int *freq_ptr)  		set_onenand_cfg(onenand_base);  	} -	/* -	 * FIXME: Appears to be legacy code from initial ONENAND commit. -	 * Unclear what boards this is for and if this can be removed. -	 */ -	if (!cpu_is_omap34xx()) -		onenand_sync.wait_on_read = true; +	if (gpmc_onenand_data->of_node) { +		gpmc_read_settings_dt(gpmc_onenand_data->of_node, +				      &onenand_sync); +	} else { +		/* +		 * FIXME: Appears to be legacy code from initial ONENAND commit. +		 * Unclear what boards this is for and if this can be removed. +		 */ +		if (!cpu_is_omap34xx()) +			onenand_sync.wait_on_read = true; +	}  	omap2_onenand_calc_sync_timings(&t, gpmc_onenand_data->flags, freq);  |