[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 09:42:53 CEST 2025


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

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


More information about the U-Boot mailing list