[u-boot][PATCH 1/3] scripts: Makefile.spl: Enable memory drivers to be built for SPL

Simon Glass sjg at chromium.org
Sat Oct 1 01:48:53 CEST 2022


Hi,

On Fri, 30 Sept 2022 at 14:18, Roger Quadros <rogerq at kernel.org> wrote:
>
> On 30/09/2022 17:00, Tom Rini wrote:
> > On Fri, Sep 30, 2022 at 07:28:51AM -0600, Simon Glass wrote:
> >> Hi Roger,
> >>
> >> On Fri, 30 Sept 2022 at 06:47, Roger Quadros <rogerq at kernel.org> wrote:
> >>>
> >>> Simon,
> >>>
> >>> On 29/09/2022 21:06, Simon Glass wrote:
> >>>> Hi Roger,
> >>>>
> >>>> On Thu, 29 Sept 2022 at 01:03, Roger Quadros <rogerq at kernel.org> wrote:
> >>>>>
> >>>>> Hi Simon,
> >>>>>
> >>>>> On 28/09/2022 19:27, Simon Glass wrote:
> >>>>>> Hi Roger,
> >>>>>>
> >>>>>> On Wed, 28 Sept 2022 at 06:12, Roger Quadros <rogerq at kernel.org> wrote:
> >>>>>>>
> >>>>>>> We will need ti-gpmc driver for SPL. Allow memory drivers
> >>>>>>> do be built for SPL.
> >>>>>>>
> >>>>>>> Signed-off-by: Roger Quadros <rogerq at kernel.org>
> >>>>>>> ---
> >>>>>>>  scripts/Makefile.spl | 1 +
> >>>>>>>  1 file changed, 1 insertion(+)
> >>>>>>
> >>>>>> Please can you use the existing drivers/ram directory?
> >>>>>
> >>>>> The ti-gpmc driver is not actually a RAM only controller. Although it can support SRAM.
> >>>>> It is a more general purpose controller that can support different peripherals.
> >>>>> It is similar to the drivers already existing in the divers/memory directory.
> >>>>>
> >>>>> I was just trying to keep the file layout similar to that in the Linux kernel.
> >>>>>
> >>>>> Do you still see a problem with it?
> >>>>
> >>>> Well in this case perhaps the RAM device would be a child of this one?
> >>>
> >>> That's right.
> >>>>
> >>>> But there is no uclass for your new device. One of the drivers in that
> >>>> dir uses UCLASS_NOP and your one seems to use UCLASS_SIMPLE_BUS
> >>>>
> >>>> So let's add a uclass for it and describe exactly what it is for.
> >>>
> >>> Why isn't UCLASS_SIMPLE_BUS sufficient?
> >>> By itself, the GPMC driver doesn't offer any usable functionality.
> >>> It just configures the bus interface and then populates the children.
> >>
> >> That's OK, but in that case it should go in drivers/bus and perhaps
> >> drivers/memory should go away?
> >
> > No, drivers/memory/stm32-fmc2-ebi.c is there and is the equivalent (more
> > or less) of drivers/memory/stm32-fmc2-ebi.c in the linux kernel. So
> > maybe a question is, are we talking about the equivalent of
> > drivers/memory/omap-gpmc.c here? Or something else?
> >
>
> Yes, I just picked up that file and adapted it for u-boot.
> As GPMC is not only for OMAP devices anymore I renamed it to ti-gpmc.c.
> If it helps we can retain the kernel naming.

In the fullness of time all driver/xxx directories should have a
uclass associated with them. So in this case, do we want to use
UCLASS_BUS and put it in drivers/bus or add a UCLASS_MEMORY and put it
in drivers/memory?

Regards,
Simon


More information about the U-Boot mailing list