[U-Boot] [PATCH v2] arm: socfpga: Move Stratix 10 SDRAM driver to DM

Ley Foon Tan lftan.linux at gmail.com
Thu May 2 03:46:55 UTC 2019


On Tue, Apr 30, 2019 at 5:56 PM Marek Vasut <marex at denx.de> wrote:
>
> 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
Tested add DM_FLAG_OS_PREPARE flag, but still didn't see it call to _remove().

BTW, I think we shouldn't assert SDRAM controller. Otherwise, SDRAM is
not working in next boot stage.

Regards
Ley Foon


More information about the U-Boot mailing list