Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 62b57f4c authored by Stefan Roese's avatar Stefan Roese Committed by Brian Norris
Browse files

mtd: fsmc_nand.c: Use default timings if none are provided in the dts



Without this patch the timings are all set to 0 if not specified in the dts.
With this patch the driver falls back to use the defaults that are already
present in the driver and are known to work okay for some (older) boards.

Tested on a custom SPEAr600 based board.

Signed-off-by: default avatarStefan Roese <sr@denx.de>
Acked-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Cc: Viresh Kumar <viresh.linux@gmail.com>
Cc: Mian Yousaf Kaukab <mian.yousaf.kaukab@stericsson.com>
Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
parent d800fcab
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -873,6 +873,7 @@ static int fsmc_nand_probe_config_dt(struct platform_device *pdev,
{
	struct fsmc_nand_platform_data *pdata = dev_get_platdata(&pdev->dev);
	u32 val;
	int ret;

	/* Set default NAND width to 8 bits */
	pdata->width = 8;
@@ -891,8 +892,12 @@ static int fsmc_nand_probe_config_dt(struct platform_device *pdev,
				sizeof(*pdata->nand_timings), GFP_KERNEL);
	if (!pdata->nand_timings)
		return -ENOMEM;
	of_property_read_u8_array(np, "timings", (u8 *)pdata->nand_timings,
	ret = of_property_read_u8_array(np, "timings", (u8 *)pdata->nand_timings,
						sizeof(*pdata->nand_timings));
	if (ret) {
		dev_info(&pdev->dev, "No timings in dts specified, using default timings!\n");
		pdata->nand_timings = NULL;
	}

	/* Set default NAND bank to 0 */
	pdata->bank = 0;