diff --git a/boards/nxp/frdm_mcxa276/board.c b/boards/nxp/frdm_mcxa276/board.c index 3e6904a7cd6..04f5ac4cfe2 100644 --- a/boards/nxp/frdm_mcxa276/board.c +++ b/boards/nxp/frdm_mcxa276/board.c @@ -192,6 +192,11 @@ void board_early_init_hook(void) CLOCK_SetClockDiv(kCLOCK_DivADC, 1u); CLOCK_AttachClk(kFRO_LF_DIV_to_ADC); +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(i3c0)) + CLOCK_SetClockDiv(kCLOCK_DivI3C0_FCLK, 15U); + CLOCK_AttachClk(kFRO_HF_DIV_to_I3C0FCLK); +#endif + #if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(lpadc0)) CLOCK_EnableClock(kCLOCK_GateADC0); #endif diff --git a/boards/nxp/frdm_mcxa276/frdm_mcxa276-pinctrl.dtsi b/boards/nxp/frdm_mcxa276/frdm_mcxa276-pinctrl.dtsi index 3d0eb7bc5e9..ab802432816 100644 --- a/boards/nxp/frdm_mcxa276/frdm_mcxa276-pinctrl.dtsi +++ b/boards/nxp/frdm_mcxa276/frdm_mcxa276-pinctrl.dtsi @@ -27,6 +27,22 @@ }; }; + pinmux_i3c0: pinmux_i3c0 { + group0 { + pinmux = , + ; + slew-rate = "fast"; + drive-strength = "low"; + input-enable; + bias-pull-up; + }; + group1 { + pinmux = ; + slew-rate = "fast"; + drive-strength = "low"; + input-enable; + }; + }; pinmux_lpadc0: pinmux_lpadc0 { group0 { pinmux = ; diff --git a/boards/nxp/frdm_mcxa276/frdm_mcxa276.dts b/boards/nxp/frdm_mcxa276/frdm_mcxa276.dts index 0e0618e38aa..6bd2fc8c782 100644 --- a/boards/nxp/frdm_mcxa276/frdm_mcxa276.dts +++ b/boards/nxp/frdm_mcxa276/frdm_mcxa276.dts @@ -9,6 +9,7 @@ #include #include "frdm_mcxa276-pinctrl.dtsi" #include +#include / { model = "NXP FRDM_MCXA276 board"; @@ -21,6 +22,7 @@ sw0 = &user_button_2; sw1 = &user_button_3; watchdog0 = &wwdt0; + ambient-temp0 = &p3t1755; }; chosen { @@ -120,6 +122,22 @@ status = "okay"; }; +&i3c0 { + status = "okay"; + pinctrl-0 = <&pinmux_i3c0>; + pinctrl-names = "default"; + + i2c-scl-hz = ; + i3c-scl-hz = ; + i3c-od-scl-hz = ; + + p3t1755: p3t1755@4800000236152a0090 { + compatible = "nxp,p3t1755"; + reg = <0x48 0x0236 0x152a0090>; + status = "okay"; + }; +}; + &lpadc0 { status = "okay"; pinctrl-0 = <&pinmux_lpadc0>; diff --git a/boards/nxp/frdm_mcxa276/frdm_mcxa276.yaml b/boards/nxp/frdm_mcxa276/frdm_mcxa276.yaml index 075dfbac694..725d25e282a 100644 --- a/boards/nxp/frdm_mcxa276/frdm_mcxa276.yaml +++ b/boards/nxp/frdm_mcxa276/frdm_mcxa276.yaml @@ -23,4 +23,5 @@ supported: - watchdog - counter - dma + - i3c vendor: nxp diff --git a/dts/arm/nxp/nxp_mcxa276.dtsi b/dts/arm/nxp/nxp_mcxa276.dtsi index eb775c7ef2d..3d7b4a7ca25 100644 --- a/dts/arm/nxp/nxp_mcxa276.dtsi +++ b/dts/arm/nxp/nxp_mcxa276.dtsi @@ -292,6 +292,19 @@ status = "disabled"; }; + i3c0: i3c@40002000 { + compatible = "nxp,mcux-i3c"; + reg = <0x40002000 0x1000>; + interrupts = <24 0>; + clocks = <&syscon MCUX_I3C_CLK>; + clk-divider = <4>; + clk-divider-slow = <1>; + clk-divider-tc = <1>; + status = "disabled"; + #address-cells = <3>; + #size-cells = <0>; + }; + lpadc0: lpadc@400af000 { compatible = "nxp,lpc-lpadc"; reg = <0x400af000 0x1000>;