diff --git a/dts/arm/nxp/nxp_mcxw71.dtsi b/dts/arm/nxp/nxp_mcxw71.dtsi index 49ecf822374..608ae67fccf 100644 --- a/dts/arm/nxp/nxp_mcxw71.dtsi +++ b/dts/arm/nxp/nxp_mcxw71.dtsi @@ -207,6 +207,26 @@ status = "disabled"; }; + lpspi0: spi@36000 { + compatible = "nxp,imx-lpspi"; + reg = <0x36000 0x800>; + interrupts = <42 0>; + clocks = <&scg SCG_K4_FIRC_CLK 0xd8>; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + }; + + lpspi1: spi@37000 { + compatible = "nxp,imx-lpspi"; + reg = <0x37000 0x800>; + interrupts = <43 0>; + clocks = <&scg SCG_K4_FIRC_CLK 0xdc>; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + }; + gpiod: gpio@46000{ compatible = "nxp,kinetis-gpio"; status = "disabled"; diff --git a/soc/nxp/mcx/mcxw/soc.c b/soc/nxp/mcx/mcxw/soc.c index 18d9e4c5f2b..905a80d2a0d 100644 --- a/soc/nxp/mcx/mcxw/soc.c +++ b/soc/nxp/mcx/mcxw/soc.c @@ -119,6 +119,8 @@ static ALWAYS_INLINE void clock_init(void) CLOCK_SetIpSrcDiv(kCLOCK_Lpi2c0, kSCG_SysClkDivBy16); CLOCK_SetIpSrc(kCLOCK_Lpi2c1, kCLOCK_IpSrcFro192M); CLOCK_SetIpSrcDiv(kCLOCK_Lpi2c1, kSCG_SysClkDivBy16); + CLOCK_SetIpSrc(kCLOCK_Lpspi0, kCLOCK_IpSrcFro192M); + CLOCK_SetIpSrc(kCLOCK_Lpspi1, kCLOCK_IpSrcFro192M); /* Ungate clocks if the peripheral is enabled in devicetree */ if (DT_NODE_HAS_COMPAT_STATUS(DT_NODELABEL(lpuart0), nxp_lpc_lpuart, okay)) { @@ -144,6 +146,14 @@ static ALWAYS_INLINE void clock_init(void) if (DT_NODE_HAS_COMPAT_STATUS(DT_NODELABEL(lpi2c1), nxp_imx_lpi2c, okay)) { CLOCK_EnableClock(kCLOCK_Lpi2c1); } + + if (DT_NODE_HAS_COMPAT_STATUS(DT_NODELABEL(lpspi0), nxp_imx_lpspi, okay)) { + CLOCK_EnableClock(kCLOCK_Lpspi0); + } + + if (DT_NODE_HAS_COMPAT_STATUS(DT_NODELABEL(lpspi1), nxp_imx_lpspi, okay)) { + CLOCK_EnableClock(kCLOCK_Lpspi1); + } } static void vbat_init(void)