[EXT] Re: [PATCH v4 2/5] arm64: dts: freescale: Add i.MX91 dtsi support
Joy Zou
joy.zou at nxp.com
Tue Jan 21 21:25:50 PST 2025
> -----Original Message-----
> From: Alexander Stein <alexander.stein at ew.tq-group.com>
> Sent: 2025年1月21日 16:34
> To: robh at kernel.org; krzk+dt at kernel.org; conor+dt at kernel.org;
> shawnguo at kernel.org; s.hauer at pengutronix.de; catalin.marinas at arm.com;
> will at kernel.org; kernel at pengutronix.de; festevam at gmail.com; Joy Zou
> <joy.zou at nxp.com>
> Cc: joao.goncalves at toradex.com; marex at denx.de;
> hvilleneuve at dimonoff.com; hiago.franco at toradex.com; Peng Fan
> <peng.fan at nxp.com>; frieder.schrempf at kontron.de; m.othacehe at gmail.com;
> mwalle at kernel.org; Max.Merchel at ew.tq-group.com;
> quic_bjorande at quicinc.com; geert+renesas at glider.be;
> dmitry.baryshkov at linaro.org; neil.armstrong at linaro.org; arnd at arndb.de;
> nfraprado at collabora.com; devicetree at vger.kernel.org;
> linux-kernel at vger.kernel.org; imx at lists.linux.dev;
> linux-arm-kernel at lists.infradead.org; Jacky Bai <ping.bai at nxp.com>; Ye Li
> <ye.li at nxp.com>; Aisheng Dong <aisheng.dong at nxp.com>; Frank Li
> <frank.li at nxp.com>; Carlos Song <carlos.song at nxp.com>
> Subject: [EXT] Re: [PATCH v4 2/5] arm64: dts: freescale: Add i.MX91 dtsi
> support
>
> Am Dienstag, 21. Januar 2025, 08:40:14 CET schrieb Joy Zou:
> > From: Pengfei Li <pengfei.li_1 at nxp.com>
> >
> > The i.MX 91 family features an Arm Cortex-A55 running at up to 1.4GHz,
> > support for modern LPDDR4 memory to enable platform longevity, along
> > with a rich set of peripherals targeting medical, industrial and
> > consumer IoT market segments.
> >
> > The design of the i.MX91 platform is very similar to i.MX93.
> > The mainly difference between i.MX91 and i.MX93 is as follows:
> > - i.MX91 removed some clocks and modified the names of some clocks.
> > - i.MX91 only has one A core
> > - i.MX91 has different pinmux
> >
> > Signed-off-by: Pengfei Li <pengfei.li_1 at nxp.com>
> > Signed-off-by: Joy Zou <joy.zou at nxp.com>
> > ---
> > arch/arm64/boot/dts/freescale/imx91-pinfunc.h | 770
> ++++++++++++++++++
> > arch/arm64/boot/dts/freescale/imx91.dtsi | 70 ++
> > 2 files changed, 840 insertions(+)
> > create mode 100644 arch/arm64/boot/dts/freescale/imx91-pinfunc.h
> > create mode 100644 arch/arm64/boot/dts/freescale/imx91.dtsi
> >
> > [snip]
> > diff --git a/arch/arm64/boot/dts/freescale/imx91.dtsi
> > b/arch/arm64/boot/dts/freescale/imx91.dtsi
> > new file mode 100644
> > index 000000000000..67a5a487ab57
> > --- /dev/null
> > +++ b/arch/arm64/boot/dts/freescale/imx91.dtsi
> > @@ -0,0 +1,70 @@
> > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> > +/*
> > + * Copyright 2024 NXP
> > + */
> > +
> > +#include "imx91-pinfunc.h"
> > +#include "imx93.dtsi"
> > +
> > +/delete-node/ &A55_1;
> > +/delete-node/ &cm33;
> > +/delete-node/ &mlmix;
> > +/delete-node/ &mu1;
> > +/delete-node/ &mu2;
> > +
> > +&clk {
> > + compatible = "fsl,imx91-ccm";
> > +};
> > +
> > +&eqos {
> > + clocks = <&clk IMX91_CLK_ENET1_QOS_TSN_GATE>,
> > + <&clk IMX91_CLK_ENET1_QOS_TSN_GATE>,
> > + <&clk IMX91_CLK_ENET_TIMER>,
> > + <&clk IMX91_CLK_ENET1_QOS_TSN>,
> > + <&clk IMX91_CLK_ENET1_QOS_TSN_GATE>;
> > + assigned-clocks = <&clk IMX91_CLK_ENET_TIMER>,
> > + <&clk IMX91_CLK_ENET1_QOS_TSN>;
> > + assigned-clock-parents = <&clk IMX93_CLK_SYS_PLL_PFD1_DIV2>,
> > + <&clk
> IMX93_CLK_SYS_PLL_PFD0_DIV2>; };
> > +
> > +&fec {
> > + clocks = <&clk IMX91_CLK_ENET2_REGULAR_GATE>,
> > + <&clk IMX91_CLK_ENET2_REGULAR_GATE>,
> > + <&clk IMX91_CLK_ENET_TIMER>,
> > + <&clk IMX91_CLK_ENET2_REGULAR>,
> > + <&clk IMX93_CLK_DUMMY>;
> > + assigned-clocks = <&clk IMX91_CLK_ENET_TIMER>,
> > + <&clk IMX91_CLK_ENET2_REGULAR>;
> > + assigned-clock-parents = <&clk IMX93_CLK_SYS_PLL_PFD1_DIV2>,
> > + <&clk
> IMX93_CLK_SYS_PLL_PFD0_DIV2>;
> > + assigned-clock-rates = <100000000>, <250000000>; };
> > +
> > +&i3c1 {
> > + clocks = <&clk IMX93_CLK_BUS_AON>,
> > + <&clk IMX93_CLK_I3C1_GATE>,
> > + <&clk IMX93_CLK_DUMMY>; };
> > +
> > +&i3c2 {
> > + clocks = <&clk IMX93_CLK_BUS_WAKEUP>,
> > + <&clk IMX93_CLK_I3C2_GATE>,
> > + <&clk IMX93_CLK_DUMMY>; };
> > +
> > +&iomuxc {
> > + compatible = "fsl,imx91-iomuxc"; };
> > +
> > +&tmu {
> > + status = "disabled";
> > +};
> > +
> > +&ddr_pmu {
> > + compatible = "fsl,imx91-ddr-pmu", "fsl,imx93-ddr-pmu"; };
> > +
> > +&map0 {
> > + cooling-device = <&A55_0 THERMAL_NO_LIMIT
> THERMAL_NO_LIMIT>; };
> >
>
> Somehow I don't like it that much. Instead of removing nodes from imx93.dtsi
> wouldn't it make more sense to include from imx91.dtsi into imx93.dtsi and
> _add_ nodes with are unique to i.MX93? Otherwise each add to imx93.dtsi
> requires an remove in imx91.dtsi for this unique to i.MX93, e.g. NPU.
>
Thanks for your comments!
The imx91 isn't the imx93 subset, so if the imx93.dtsi include the imx91.dtsi,
the same problem will occur.
If add common.dtsi for imx91 and imx93, then the imx93 and imx91 will include
the common.dtsi. What do you think of this approach?
BR
Joy Zou
> Best regards,
> Alexander
> --
More information about the linux-arm-kernel
mailing list