Am Dienstag, 21. Januar 2025, 08:40:14 CET schrieb Joy Zou: > From: Pengfei Li <pengfei.li_1@xxxxxxx> > > 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@xxxxxxx> > Signed-off-by: Joy Zou <joy.zou@xxxxxxx> > --- > 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. Best regards, Alexander -- TQ-Systems GmbH | Mühlstraße 2, Gut Delling | 82229 Seefeld, Germany Amtsgericht München, HRB 105018 Geschäftsführer: Detlef Schneider, Rüdiger Stahl, Stefan Schneider http://www.tq-group.com/