All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michael Nazzareno Trimarchi <michael@amarulasolutions.com>
To: Roger Quadros <rogerq@kernel.org>
Cc: dario.binacchi@amarulasolutions.com, m.niestroj@grinn-global.com,
	 trini@konsulko.com, u-boot@lists.denx.de
Subject: Re: [u-boot][PATCH v2 8/8] mtd: rawnand: omap_elm: u-boot driver model support
Date: Thu, 22 Dec 2022 22:35:42 +0100	[thread overview]
Message-ID: <CAOf5uwk3OHGq-cD6pm9sgcq+zKtMfL1ndj23GJgnKFGDB7pNrw@mail.gmail.com> (raw)
In-Reply-To: <CAOf5uwkR-+CFCDiTukVVMZcu2kDmbxPsDoZfxmZKwF0sUY5Kxw@mail.gmail.com>

Hi Roger

On Wed, Dec 21, 2022 at 9:08 PM Michael Nazzareno Trimarchi
<michael@amarulasolutions.com> wrote:
>
> Hi
>
> On Wed, Dec 21, 2022 at 8:57 PM Roger Quadros <rogerq@kernel.org> wrote:
> >
> > Hi Michael,
> >
> > On 21/12/2022 19:56, Michael Nazzareno Trimarchi wrote:
> > > Hi Roger
> > >
> > > On Tue, Dec 20, 2022 at 11:22 AM Roger Quadros <rogerq@kernel.org> wrote:
> > >>
> > >> Support u-boot driver model. We still retain
> > >> support legacy way of doing things if ELM_BASE
> > >> is defined in <asm/arch/hardware.h>
> > >>
> > >> We could completely get rid of that if all
> > >> platforms defining ELM_BASE get rid of that definition
> > >> and enable CONFIG_SYS_NAND_SELF_INIT and are verified
> > >> to work.
> > >>
> > >> Signed-off-by: Roger Quadros <rogerq@kernel.org>
> > >> ---
> > >
> > > When you post please include the relative changelog
> >
> > I put the changelog in the cover-letter.
> >
>
> My bad, I'm always start from patch 1 and look on changes in every single patch
>

Pipeline is running, I have fixed another minor problem in the build

Michael

> Michael
>
> >
> > cheers,
> > -roger
> >
> > >
> > > Michael
> > >
> > >>  drivers/mtd/nand/raw/omap_elm.c               | 35 ++++++++++++++++++-
> > >>  .../mtd => drivers/mtd/nand/raw}/omap_elm.h   |  6 ++++
> > >>  drivers/mtd/nand/raw/omap_gpmc.c              | 12 ++++++-
> > >>  3 files changed, 51 insertions(+), 2 deletions(-)
> > >>  rename {include/linux/mtd => drivers/mtd/nand/raw}/omap_elm.h (97%)
> > >>
> > >> diff --git a/drivers/mtd/nand/raw/omap_elm.c b/drivers/mtd/nand/raw/omap_elm.c
> > >> index 35c6dd1f1bc..e528a5348d5 100644
> > >> --- a/drivers/mtd/nand/raw/omap_elm.c
> > >> +++ b/drivers/mtd/nand/raw/omap_elm.c
> > >> @@ -15,9 +15,14 @@
> > >>  #include <common.h>
> > >>  #include <asm/io.h>
> > >>  #include <linux/errno.h>
> > >> -#include <linux/mtd/omap_elm.h>
> > >>  #include <asm/arch/hardware.h>
> > >>
> > >> +#include <dm.h>
> > >> +#include <linux/ioport.h>
> > >> +#include <linux/io.h>
> > >> +
> > >> +#include "omap_elm.h"
> > >> +
> > >>  #define DRIVER_NAME            "omap-elm"
> > >>  #define ELM_DEFAULT_POLY (0)
> > >>
> > >> @@ -180,6 +185,7 @@ void elm_reset(void)
> > >>                 ;
> > >>  }
> > >>
> > >> +#ifdef ELM_BASE
> > >>  /**
> > >>   * elm_init - Initialize ELM module
> > >>   *
> > >> @@ -191,3 +197,30 @@ void elm_init(void)
> > >>         elm_cfg = (struct elm *)ELM_BASE;
> > >>         elm_reset();
> > >>  }
> > >> +#endif
> > >> +
> > >> +static int elm_probe(struct udevice *dev)
> > >> +{
> > >> +#ifndef ELM_BASE
> > >> +       struct resource res;
> > >> +
> > >> +       dev_read_resource(dev, 0, &res);
> > >> +       elm_cfg = devm_ioremap(dev, res.start, resource_size(&res));
> > >> +       elm_reset();
> > >> +#endif
> > >> +
> > >> +       return 0;
> > >> +}
> > >> +
> > >> +static const struct udevice_id elm_ids[] = {
> > >> +       { .compatible = "ti,am3352-elm" },
> > >> +       { .compatible = "ti,am64-elm" },
> > >> +       { }
> > >> +};
> > >> +
> > >> +U_BOOT_DRIVER(gpmc_elm) = {
> > >> +       .name           = DRIVER_NAME,
> > >> +       .id             = UCLASS_MTD,
> > >> +       .of_match       = elm_ids,
> > >> +       .probe          = elm_probe,
> > >> +};
> > >> diff --git a/include/linux/mtd/omap_elm.h b/drivers/mtd/nand/raw/omap_elm.h
> > >> similarity index 97%
> > >> rename from include/linux/mtd/omap_elm.h
> > >> rename to drivers/mtd/nand/raw/omap_elm.h
> > >> index f3db00d55de..a7f7bacb154 100644
> > >> --- a/include/linux/mtd/omap_elm.h
> > >> +++ b/drivers/mtd/nand/raw/omap_elm.h
> > >> @@ -74,6 +74,12 @@ int elm_check_error(u8 *syndrome, enum bch_level bch_type, u32 *error_count,
> > >>                 u32 *error_locations);
> > >>  int elm_config(enum bch_level level);
> > >>  void elm_reset(void);
> > >> +#ifdef ELM_BASE
> > >>  void elm_init(void);
> > >> +#else
> > >> +static inline void elm_init(void)
> > >> +{
> > >> +}
> > >> +#endif
> > >>  #endif /* __ASSEMBLY__ */
> > >>  #endif /* __ASM_ARCH_ELM_H */
> > >> diff --git a/drivers/mtd/nand/raw/omap_gpmc.c b/drivers/mtd/nand/raw/omap_gpmc.c
> > >> index ed6cdf93ad0..9692b78da3c 100644
> > >> --- a/drivers/mtd/nand/raw/omap_gpmc.c
> > >> +++ b/drivers/mtd/nand/raw/omap_gpmc.c
> > >> @@ -20,7 +20,8 @@
> > >>  #include <linux/bch.h>
> > >>  #include <linux/compiler.h>
> > >>  #include <nand.h>
> > >> -#include <linux/mtd/omap_elm.h>
> > >> +
> > >> +#include "omap_elm.h"
> > >>
> > >>  #ifndef GPMC_MAX_CS
> > >>  #define GPMC_MAX_CS    4
> > >> @@ -1249,6 +1250,15 @@ void board_nand_init(void)
> > >>         struct udevice *dev;
> > >>         int ret;
> > >>
> > >> +#ifdef CONFIG_NAND_OMAP_ELM
> > >> +       ret = uclass_get_device_by_driver(UCLASS_MTD,
> > >> +                                         DM_DRIVER_GET(gpmc_elm), &dev);
> > >> +       if (ret && ret != -ENODEV) {
> > >> +               pr_err("%s: Failed to get ELM device: %d\n", __func__, ret);
> > >> +               return;
> > >> +       }
> > >> +#endif
> > >> +
> > >>         ret = uclass_get_device_by_driver(UCLASS_MTD,
> > >>                                           DM_DRIVER_GET(gpmc_nand), &dev);
> > >>         if (ret && ret != -ENODEV)
> > >> --
> > >> 2.34.1
> > >>
> > >
> > >
>
>
>
> --
> Michael Nazzareno Trimarchi
> Co-Founder & Chief Executive Officer
> M. +39 347 913 2170
> michael@amarulasolutions.com
> __________________________________
>
> Amarula Solutions BV
> Joop Geesinkweg 125, 1114 AB, Amsterdam, NL
> T. +31 (0)85 111 9172
> info@amarulasolutions.com
> www.amarulasolutions.com



-- 
Michael Nazzareno Trimarchi
Co-Founder & Chief Executive Officer
M. +39 347 913 2170
michael@amarulasolutions.com
__________________________________

Amarula Solutions BV
Joop Geesinkweg 125, 1114 AB, Amsterdam, NL
T. +31 (0)85 111 9172
info@amarulasolutions.com
www.amarulasolutions.com

  reply	other threads:[~2022-12-22 21:35 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-20 10:21 [u-boot][PATCH v2 0/8] rawnand: omap_gpmc: driver model support Roger Quadros
2022-12-20 10:21 ` [u-boot][PATCH v2 1/8] mtd: rawnand: omap_gpmc: Fix BCH6/16 HW based correction Roger Quadros
2022-12-22 21:47   ` Michael Nazzareno Trimarchi
2022-12-20 10:21 ` [u-boot][PATCH v2 2/8] mtd: rawnand: nand_base: Allow base driver to be used in SPL without nand_bbt Roger Quadros
2022-12-20 10:21 ` [u-boot][PATCH v2 3/8] dt-bindings: mtd: Add ti, gpmc-nand DT binding documentation Roger Quadros
2022-12-20 10:21 ` [u-boot][PATCH v2 4/8] mtd: rawnand: omap_gpmc: support u-boot driver model Roger Quadros
2022-12-20 10:22 ` [u-boot][PATCH v2 5/8] mtd: rawnand: omap_gpmc: Add SPL NAND support Roger Quadros
2022-12-20 10:22 ` [u-boot][PATCH v2 6/8] mtd: rawnand: omap_gpmc: Enable SYS_NAND_PAGE_COUNT for OMAP_GPMC Roger Quadros
2022-12-20 10:22 ` [u-boot][PATCH v2 7/8] dt-bindings: mtd: Add ti, elm DT binding documentation Roger Quadros
2022-12-20 10:22 ` [u-boot][PATCH v2 8/8] mtd: rawnand: omap_elm: u-boot driver model support Roger Quadros
2022-12-21 17:56   ` Michael Nazzareno Trimarchi
2022-12-21 19:57     ` Roger Quadros
2022-12-21 20:08       ` Michael Nazzareno Trimarchi
2022-12-22 21:35         ` Michael Nazzareno Trimarchi [this message]
2022-12-23  9:34           ` Roger Quadros
2022-12-23  9:43             ` Michael Nazzareno Trimarchi
2023-01-04  7:27 ` [u-boot][PATCH v2 0/8] rawnand: omap_gpmc: " Dario Binacchi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAOf5uwk3OHGq-cD6pm9sgcq+zKtMfL1ndj23GJgnKFGDB7pNrw@mail.gmail.com \
    --to=michael@amarulasolutions.com \
    --cc=dario.binacchi@amarulasolutions.com \
    --cc=m.niestroj@grinn-global.com \
    --cc=rogerq@kernel.org \
    --cc=trini@konsulko.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.