[PATCH v2 2/2] arm64: dts: freescale: imx95: Add support for i.MX95 15x15 FRDM board
Laurentiu Mihalcea
laurentiumihalcea111 at gmail.com
Thu Dec 18 08:26:34 PST 2025
On 12/17/2025 9:56 PM, Lei Xu wrote:
> The i.MX95 15x15 FRDM board is a compact and cost-effective development
> platform based on the i.MX95 applications processor.
>
> Add device tree support for this board, including:
> - LPUART1 and LPUART5
> - NETC
> - USB
> - PCIe
> - uSDHC1, uSDHC2 and uSDHC3
> - FlexCAN2 and FlexCAN5
> - LPI2C2, LPI2C3, LPI2C4 and their child nodes
> - Watchdog3
>
> Signed-off-by: Lei Xu <lei.xu at nxp.com>
> ---
> Changes in v2:
> - Switched from 'xceiver-supply' to CAN PHY nodes using 'phys'.
> - Added CAN PHY nodes for flexcan2/5 with shared silent-gpio, removed reg_can_stby.
> - Updated MSI/IOMMU mapping comment to match the i.MX95 15x15 FRDM board.
> ---
> arch/arm64/boot/dts/freescale/Makefile | 1 +
> arch/arm64/boot/dts/freescale/imx95-15x15-frdm.dts | 963 +++++++++++++++++++++
> 2 files changed, 964 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile
> index f30d3fd724d0..71308d19d35e 100644
> --- a/arch/arm64/boot/dts/freescale/Makefile
> +++ b/arch/arm64/boot/dts/freescale/Makefile
> @@ -400,6 +400,7 @@ dtb-$(CONFIG_ARCH_MXC) += imx93-tqma9352-mba93xxla.dtb
> dtb-$(CONFIG_ARCH_MXC) += imx93-var-som-symphony.dtb
> dtb-$(CONFIG_ARCH_MXC) += imx943-evk.dtb
> dtb-$(CONFIG_ARCH_MXC) += imx95-15x15-evk.dtb
> +dtb-$(CONFIG_ARCH_MXC) += imx95-15x15-frdm.dtb
> dtb-$(CONFIG_ARCH_MXC) += imx95-19x19-evk.dtb
> dtb-$(CONFIG_ARCH_MXC) += imx95-19x19-evk-sof.dtb
> dtb-$(CONFIG_ARCH_MXC) += imx95-toradex-smarc-dev.dtb
> diff --git a/arch/arm64/boot/dts/freescale/imx95-15x15-frdm.dts b/arch/arm64/boot/dts/freescale/imx95-15x15-frdm.dts
> new file mode 100644
> index 000000000000..414ebdacc3cb
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/imx95-15x15-frdm.dts
> @@ -0,0 +1,963 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +/*
> + * Copyright 2025 NXP
> + */
> +
> +/dts-v1/;
> +
> +#include <dt-bindings/leds/common.h>
> +#include <dt-bindings/phy/phy-imx8-pcie.h>
> +#include <dt-bindings/pwm/pwm.h>
> +#include <dt-bindings/usb/pd.h>
> +#include "imx95.dtsi"
> +
> +#define BRD_SM_CTRL_SD3_WAKE 0x8000 /*!< PCAL6408A-0 */
> +#define BRD_SM_CTRL_PCIE1_WAKE 0x8001 /*!< PCAL6408A-4 */
> +#define BRD_SM_CTRL_BT_WAKE 0x8002 /*!< PCAL6408A-5 */
> +#define BRD_SM_CTRL_PCIE2_WAKE 0x8003 /*!< PCAL6408A-6 */
> +#define BRD_SM_CTRL_BUTTON 0x8004 /*!< PCAL6408A-7 */
> +
> +/ {
> + compatible = "fsl,imx95-15x15-frdm", "fsl,imx95";
> + model = "NXP i.MX95 15X15 FRDM board";
> +
> + aliases {
> + ethernet0 = &enetc_port0;
> + ethernet1 = &enetc_port1;
> + gpio0 = &gpio1;
> + gpio1 = &gpio2;
> + gpio2 = &gpio3;
> + gpio3 = &gpio4;
> + gpio4 = &gpio5;
> + i2c0 = &lpi2c1;
> + i2c1 = &lpi2c2;
> + i2c2 = &lpi2c3;
> + i2c3 = &lpi2c4;
> + i2c4 = &lpi2c5;
> + i2c5 = &lpi2c6;
> + i2c6 = &lpi2c7;
> + i2c7 = &lpi2c8;
> + mmc0 = &usdhc1;
> + mmc1 = &usdhc2;
> + mmc2 = &usdhc3;
> + serial0 = &lpuart1;
> + serial4 = &lpuart5;
> + };
> +
> +
(snip)
> +
> + sound-micfil {
> + compatible = "fsl,imx-audio-card";
> + model = "micfil-audio";
> +
> + pri-dai-link {
> + link-name = "micfil hifi";
> + format = "i2s";
> +
> + cpu {
> + sound-dai = <&micfil>;
> + };
please add a space in between the definitions of the cpu and codec nodes. With that:
Reviewed-by: Laurentiu Mihalcea <laurentiu.mihalcea at nxp.com>
> + codec {
> + sound-dai = <&dmic>;
> + };
> + };
> + };
> +
> + usdhc3_pwrseq: usdhc3-pwrseq {
> + compatible = "mmc-pwrseq-simple";
> + reset-gpios = <&pcal6524 8 GPIO_ACTIVE_LOW>;
> + };
More information about the linux-arm-kernel
mailing list