[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <12779401.O9o76ZdvQC@jeanmichel-ms7b89>
Date: Mon, 10 Nov 2025 09:34:42 +0100
From: Jean-Michel Hautbois <jeanmichel.hautbois@...eli.org>
To: Geert Uytterhoeven <geert@...ux-m68k.org>
Cc: Greg Ungerer <gerg@...ux-m68k.org>, Olivia Mackall <olivia@...enic.com>,
Herbert Xu <herbert@...dor.apana.org.au>, Shawn Guo <shawnguo@...nel.org>,
Sascha Hauer <s.hauer@...gutronix.de>,
Pengutronix Kernel Team <kernel@...gutronix.de>,
Fabio Estevam <festevam@...il.com>, linux-m68k@...ts.linux-m68k.org,
linux-kernel@...r.kernel.org, linux-crypto@...r.kernel.org,
imx@...ts.linux.dev, linux-arm-kernel@...ts.infradead.org
Subject: Re: [PATCH v2 2/2] m68k: coldfire: Add RNG support for MCF54418
Hi Geert,
Le lundi 10 novembre 2025, 09:15:11 heure normale d’Europe centrale Geert
Uytterhoeven a écrit :
> Hi Jean-Michel,
>
> On Fri, 7 Nov 2025 at 11:29, Jean-Michel Hautbois
>
> <jeanmichel.hautbois@...eli.org> wrote:
> > Add platform device support for the MCF54418 RNGB hardware with clock
> > enabled at platform initialization.
> >
> > The imx-rngc driver now uses devm_clk_get_optional() to support both
> > Coldfire (always-on clock) and i.MX platforms (managed clock).
> >
> > Signed-off-by: Jean-Michel Hautbois <jeanmichel.hautbois@...eli.org>
>
> Thanks for your patch!
>
> > --- a/drivers/char/hw_random/Kconfig
> > +++ b/drivers/char/hw_random/Kconfig
> > @@ -270,12 +270,13 @@ config HW_RANDOM_MXC_RNGA
> >
> > config HW_RANDOM_IMX_RNGC
> >
> > tristate "Freescale i.MX RNGC Random Number Generator"
> > depends on HAS_IOMEM
> >
> > - depends on SOC_IMX25 || SOC_IMX6SL || SOC_IMX6SLL || SOC_IMX6UL ||
> > COMPILE_TEST + depends on SOC_IMX25 || SOC_IMX6SL || SOC_IMX6SLL ||
> > SOC_IMX6UL || M5441x || COMPILE_TEST
> Is the same RNG present in other Coldfire SoCs?
According to the RM, it is only present in MCF54416 and MCF54418.
>
> > default HW_RANDOM
> > help
> >
> > This driver provides kernel-side support for the Random Number
> > Generator Version C hardware found on some Freescale i.MX
> > processors. Version B is also supported by this driver.
> >
> > + Also supports RNGB on Freescale MCF54418 (Coldfire V4e).
> >
> > To compile this driver as a module, choose M here: the
> > module will be called imx-rngc.
> >
> > diff --git a/drivers/char/hw_random/imx-rngc.c
> > b/drivers/char/hw_random/imx-rngc.c index
> > 241664a9b5d9ac7244f15cbe5d5302ca3787ebea..44f20a05de0a425cb6ff7b2a347b111
> > 750ac3702 100644 --- a/drivers/char/hw_random/imx-rngc.c
> > +++ b/drivers/char/hw_random/imx-rngc.c
> > @@ -353,12 +353,19 @@ static const struct of_device_id imx_rngc_dt_ids[] =
> > {>
> > };
> > MODULE_DEVICE_TABLE(of, imx_rngc_dt_ids);
> >
> > +static const struct platform_device_id imx_rngc_devtype[] = {
> > + { .name = "imx-rngc" },
>
> I believe this is identical to KBUILD_MODNAME, so the .name below
> should be sufficient for binding?
>
> > + { /* sentinel */ }
> > +};
> > +MODULE_DEVICE_TABLE(platform, imx_rngc_devtype);
>
> Or do you need this mainly for the addition of MODULE_DEVICE_TABLE(),
> i.e. the module is not auto-loaded based on just KBUILD_MODNAME?
Yes, exactly. If you have a better way, I will happily apply it :-).
Thanks !
JM
>
> > +
> >
> > static struct platform_driver imx_rngc_driver = {
> >
> > .driver = {
> >
> > .name = KBUILD_MODNAME,
>
> ^^^^^^^^^^^^^^^^^^^^^^^
>
> > .pm = pm_ptr(&imx_rngc_pm_ops),
> > .of_match_table = imx_rngc_dt_ids,
> >
> > },
> >
> > + .id_table = imx_rngc_devtype,
> >
> > };
> >
> > module_platform_driver_probe(imx_rngc_driver, imx_rngc_probe);
>
> Gr{oetje,eeting}s,
>
> Geert
Powered by blists - more mailing lists