[PATCH v7 00/11] Add i.MX91 platform support
From: Joy Zou
Date: Mon Jul 28 2025 - 03:15:56 EST
The design of i.MX91 platform is very similar to i.MX93.
Extracts the common parts in order to reuse code.
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.
---
Changes for v7:
- Optimize i.MX91 num_clks hardcode with ARRAY_SIZE()for patch #10.
- Add new patch in order to optimize i.MX93 num_clks hardcode
with ARRAY_SIZE() for patch #9.
- remove this unused comments for patch #6.
- align all pinctrl value to the same column for patch #6.
- add aliases because remove aliases from common dtsi for patch #6.
- remove fec property eee-broken-1000t from imx91 and imx93 board dts
for patch #6 and #7.
- The aliases are removed from common.dtsi because the imx93.dtsi
aliases are removed for patch #4.
- Add new patch that move aliases from imx93.dtsi to board dts for
patch #3.
- These aliases aren't common, so need to drop in imx93.dtsi for patch #3.
- Only add aliases using to imx93 board dts for patch #3.
- patch #3 changes come from review comments:
https://lore.kernel.org/imx/4e8f2426-92a1-4c7e-b860-0e10e8dd886c@xxxxxxxxxx/
- add clocks constraints in the if-else branch for patch #2.
- reorder the imx93 and imx91 if-else branch for patch #2.
- patch #2 changes come from review comments:
https://lore.kernel.org/imx/urgfsmkl25woqy5emucfkqs52qu624po6rd532hpusg3fdnyg3@s5iwmhnfsi26/
- add Reviewed-by tag for patch #2.
- Link to v6: https://lore.kernel.org/imx/20250623095732.2139853-1-joy.zou@xxxxxxx/
Changes for v6:
- add changelog in per patch.
- correct commit message spell for patch #1.
- merge rename imx93.dtsi to imx91_93_common.dtsi and move i.MX93
specific part from imx91_93_common.dtsi to imx93.dtsi for patch #3.
- modify the commit message for patch #3.
- restore copyright time and add modification time for common dtsi for
patch #3.
- remove unused map0 label in imx91_93_common.dtsi for patch #3.
- remove tmu related node for patch #4.
- remove unused regulators and pinctrl settings for patch #5.
- add new modification for aliases change patch #6.
- Link to v5: https://lore.kernel.org/imx/20250613100255.2131800-1-joy.zou@xxxxxxx/
Changes for v5:
- rename imx93.dtsi to imx91_93_common.dtsi.
- move imx93 specific part from imx91_93_common.dtsi to imx93.dtsi.
- modify the imx91.dtsi to use imx91_93_common.dtsi.
- add new the imx93-blk-ctrl binding and driver patch for imx91 support.
- add new net patch for imx91 support.
- change node name codec and lsm6dsm into common name audio-codec and
inertial-meter, and add BT compatible string for imx91 board dts.
- Link to v4: https://lore.kernel.org/imx/20250121074017.2819285-1-joy.zou@xxxxxxx/
Changes for v4:
- Add one imx93 patch that add labels in imx93.dtsi
- modify the references in imx91.dtsi
- modify the code alignment
- remove unused newline
- delete the status property
- align pad hex values
- Link to v3: https://lore.kernel.org/imx/20241120094945.3032663-1-pengfei.li_1@xxxxxxx/
Changes for v3:
- Add Conor's ack on patch #1
- format imx91-11x11-evk.dts with the dt-format tool
- add lpi2c1 node
- Link to v2: https://lore.kernel.org/imx/20241118051541.2621360-1-pengfei.li_1@xxxxxxx/
Changes for v2:
- change ddr node pmu compatible
- remove mu1 and mu2
- change iomux node compatible and enable 91 pinctrl
- refine commit message for patch #2
- change hex to lowercase in pinfunc.h
- ordering nodes with the dt-format tool
- Link to v1: https://lore.kernel.org/imx/20241108022703.1877171-1-pengfei.li_1@xxxxxxx/
Joy Zou (10):
dt-bindings: soc: imx-blk-ctrl: add i.MX91 blk-ctrl compatible
arm64: dts: freescale: move aliases from imx93.dtsi to board dts
arm64: dts: freescale: rename imx93.dtsi to imx91_93_common.dtsi and
modify them
arm64: dts: imx91: add i.MX91 dtsi support
arm64: dts: freescale: add i.MX91 11x11 EVK basic support
arm64: dts: imx93-11x11-evk: remove fec property eee-broken-1000t
arm64: defconfig: enable i.MX91 pinctrl
pmdomain: imx93-blk-ctrl: use ARRAY_SIZE() instead of hardcode number
pmdomain: imx93-blk-ctrl: mask DSI and PXP PD domain register on
i.MX91
net: stmmac: imx: add i.MX91 support
Pengfei Li (1):
dt-bindings: arm: fsl: add i.MX91 11x11 evk board
.../devicetree/bindings/arm/fsl.yaml | 6 +
.../soc/imx/fsl,imx93-media-blk-ctrl.yaml | 59 +-
arch/arm64/boot/dts/freescale/Makefile | 1 +
.../boot/dts/freescale/imx91-11x11-evk.dts | 674 ++++++++
arch/arm64/boot/dts/freescale/imx91-pinfunc.h | 770 +++++++++
arch/arm64/boot/dts/freescale/imx91.dtsi | 71 +
.../{imx93.dtsi => imx91_93_common.dtsi} | 176 +-
.../boot/dts/freescale/imx93-11x11-evk.dts | 20 +-
.../boot/dts/freescale/imx93-14x14-evk.dts | 15 +
.../boot/dts/freescale/imx93-9x9-qsb.dts | 18 +
.../dts/freescale/imx93-kontron-bl-osm-s.dts | 21 +
.../dts/freescale/imx93-phyboard-nash.dts | 21 +
.../dts/freescale/imx93-phyboard-segin.dts | 9 +
.../freescale/imx93-tqma9352-mba91xxca.dts | 11 +
.../freescale/imx93-tqma9352-mba93xxca.dts | 25 +
.../freescale/imx93-tqma9352-mba93xxla.dts | 25 +
.../dts/freescale/imx93-var-som-symphony.dts | 17 +
arch/arm64/boot/dts/freescale/imx93.dtsi | 1512 ++---------------
arch/arm64/configs/defconfig | 1 +
.../net/ethernet/stmicro/stmmac/dwmac-imx.c | 2 +
drivers/pmdomain/imx/imx93-blk-ctrl.c | 23 +-
21 files changed, 1938 insertions(+), 1539 deletions(-)
create mode 100644 arch/arm64/boot/dts/freescale/imx91-11x11-evk.dts
create mode 100644 arch/arm64/boot/dts/freescale/imx91-pinfunc.h
create mode 100644 arch/arm64/boot/dts/freescale/imx91.dtsi
copy arch/arm64/boot/dts/freescale/{imx93.dtsi => imx91_93_common.dtsi} (90%)
rewrite arch/arm64/boot/dts/freescale/imx93.dtsi (97%)
--
2.37.1