[PATCH 2/4] mtd: mxs_nand_dt: Move from clk_get/clk_enable to clk_bulk api

Michael Nazzareno Trimarchi michael at amarulasolutions.com
Mon May 26 11:25:09 CEST 2025


Hi Peng

On Mon, May 26, 2025 at 9:42 AM Michael Nazzareno Trimarchi
<michael at amarulasolutions.com> wrote:
>
> Hi Peng
>
> On Mon, May 26, 2025 at 9:38 AM Michael Nazzareno Trimarchi
> <michael at amarulasolutions.com> wrote:
> >
> > Hi Peng
> >
> > On Mon, May 26, 2025 at 9:34 AM Peng Fan <peng.fan at oss.nxp.com> wrote:
> > >
> > > On Sun, May 25, 2025 at 02:23:10PM +0200, Michael Trimarchi wrote:
> > > >Make simple the clock registration and enable and allow later
> > > >to add support for other platforms
> > > >
>
> Ok, I think that I need anyway to disable the gpmi_io clk because the
> driver should
> handle it during nfc timing calculation
>

No it's ok this way, the driver expect the clock enabled

Michael

> Michael
>
>
> > > >Signed-off-by: Michael Trimarchi <michael at amarulasolutions.com>
> > > >---
> > > >
> > > > drivers/mtd/nand/raw/mxs_nand_dt.c | 48 ++++--------------------------
> > > > 1 file changed, 5 insertions(+), 43 deletions(-)
> > > >
> > > >diff --git a/drivers/mtd/nand/raw/mxs_nand_dt.c b/drivers/mtd/nand/raw/mxs_nand_dt.c
> > > >index 11dbcbbf442..b62474bc5ab 100644
> > > >--- a/drivers/mtd/nand/raw/mxs_nand_dt.c
> > > >+++ b/drivers/mtd/nand/raw/mxs_nand_dt.c
> > > >@@ -100,9 +100,7 @@ static int mxs_nand_dt_probe(struct udevice *dev)
> > > >
> > > >       if (IS_ENABLED(CONFIG_CLK) &&
> > > >           (IS_ENABLED(CONFIG_IMX8) || IS_ENABLED(CONFIG_IMX8M))) {
> > > >-              /* Assigned clock already set clock */
> > > >-              struct clk gpmi_clk;
> > > >-
> > > >+              struct clk_bulk clk_bulk;
> > > >               info->gpmi_clk = devm_clk_get(dev, "gpmi_io");
> > > >
> > > >               if (IS_ERR(info->gpmi_clk)) {
> > > >@@ -111,47 +109,11 @@ static int mxs_nand_dt_probe(struct udevice *dev)
> > > >                       return ret;
> > > >               }
> > > >
> > > >-              ret = clk_enable(info->gpmi_clk);
> > > >-              if (ret < 0) {
> > > >-                      debug("Can't enable gpmi io clk: %d\n", ret);
> > > >-                      return ret;
> > > >-              }
> > > >-
> > > >-              if (IS_ENABLED(CONFIG_IMX8)) {
> > > >-                      ret = clk_get_by_name(dev, "gpmi_apb", &gpmi_clk);
> > > >-                      if (ret < 0) {
> > > >-                              debug("Can't get gpmi_apb clk: %d\n", ret);
> > > >-                              return ret;
> > > >-                      }
> > > >-
> > > >-                      ret = clk_enable(&gpmi_clk);
> > > >-                      if (ret < 0) {
> > > >-                              debug("Can't enable gpmi_apb clk: %d\n", ret);
> > > >-                              return ret;
> > > >-                      }
> > > >-
> > > >-                      ret = clk_get_by_name(dev, "gpmi_bch", &gpmi_clk);
> > > >-                      if (ret < 0) {
> > > >-                              debug("Can't get gpmi_bch clk: %d\n", ret);
> > > >-                              return ret;
> > > >-                      }
> > > >-
> > > >-                      ret = clk_enable(&gpmi_clk);
> > > >-                      if (ret < 0) {
> > > >-                              debug("Can't enable gpmi_bch clk: %d\n", ret);
> > > >-                              return ret;
> > > >-                      }
> > > >-              }
> > > >-
> > > >-              ret = clk_get_by_name(dev, "gpmi_bch_apb", &gpmi_clk);
> > > >-              if (ret < 0) {
> > > >-                      debug("Can't get gpmi_bch_apb clk: %d\n", ret);
> > > >-                      return ret;
> > > >-              }
> > > >-
> > > >-              ret = clk_enable(&gpmi_clk);
> > > >+              ret = clk_get_bulk(dev, &clk_bulk);
> > > >+              if (!ret)
> > > >+                      ret = clk_enable_bulk(&clk_bulk);
> > >
> > > You enable clk bulk and together with a standalone gpmi_io clk?
> > >
> >
> > I need to get and refer to the gpmi_io because it is used then by the
> > driver. I think
> > that this does not change what was before. Am I missing?
> >
> > Michael
> >
> > > Regards,
> > > Peng
> > >
> > >
> > > >               if (ret < 0) {
> > > >-                      debug("Can't enable gpmi_bch_apb clk: %d\n", ret);
> > > >+                      debug("Can't enable gpmi clks: %d\n", ret);
> > > >                       return ret;
> > > >               }
> > > >       }
> > > >--
> > > >2.43.0
> > > >
> > > >base-commit: df2ed552f0b05591090369a7fe7ddc92439dea5c
> >
> >
> >
> > --
> > Michael Nazzareno Trimarchi
> > Co-Founder & Chief Executive Officer
> > M. +39 347 913 2170
> > michael at amarulasolutions.com
> > __________________________________
> >
> > Amarula Solutions BV
> > Joop Geesinkweg 125, 1114 AB, Amsterdam, NL
> > T. +31 (0)85 111 9172
> > info at amarulasolutions.com
> > www.amarulasolutions.com
>
>
>
> --
> Michael Nazzareno Trimarchi
> Co-Founder & Chief Executive Officer
> M. +39 347 913 2170
> michael at amarulasolutions.com
> __________________________________
>
> Amarula Solutions BV
> Joop Geesinkweg 125, 1114 AB, Amsterdam, NL
> T. +31 (0)85 111 9172
> info at amarulasolutions.com
> www.amarulasolutions.com



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

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


More information about the U-Boot mailing list