[PATCH v7 00/11] Add i.MX91 platform support
From: Joy Zou <hidden>
Date: 2025-07-28 07:15:37
Also in:
imx, linux-arm-kernel, linux-devicetree, linux-pm, lkml
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@kernel.org/ (local) - 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/ (local) - add Reviewed-by tag for patch #2. - Link to v6: https://lore.kernel.org/imx/20250623095732.2139853-1-joy.zou@nxp.com/ (local) 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@nxp.com/ (local) 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@nxp.com/ (local) 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@nxp.com/ (local) 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@nxp.com/ (local) 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@nxp.com/ (local) 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