
30 Apr
2019
30 Apr
'19
11:56 a.m.
On 4/30/19 9:40 AM, Ley Foon Tan wrote: [...]
+static int altera_sdram_probe(struct udevice *dev) +{
int ret;
struct reset_ctl_bulk resets;
ret = reset_get_bulk(dev, &resets);
if (ret) {
dev_err(dev, "Can't get reset: %d\n", ret);
return -ENODEV;
}
reset_deassert_bulk(&resets);
if (sdram_mmr_init_full(dev) != 0) {
puts("SDRAM init failed.\n");
goto failed;
}
return 0;
+failed:
reset_release_bulk(&resets);
return -ENODEV;
}
Are you missing altera_sdram_remove() , which would assert reset here ?
Will add it.
But won't that prevent the DRAM controller from working ?
Added assert reset in _remove, SDRAM controller still can work after boot to Uboot. Seem _remove is not called when boot to Uboot.
Look at DM_FLAG_OS_PREPARE
--
Best regards,
Marek Vasut