diff --git a/boards/nxp/mimxrt1180_evk/mimxrt1180_evk_mimxrt1189_cm33.dts b/boards/nxp/mimxrt1180_evk/mimxrt1180_evk_mimxrt1189_cm33.dts index 528c2f4357b28..eed3d52f75770 100644 --- a/boards/nxp/mimxrt1180_evk/mimxrt1180_evk_mimxrt1189_cm33.dts +++ b/boards/nxp/mimxrt1180_evk/mimxrt1180_evk_mimxrt1189_cm33.dts @@ -1,5 +1,5 @@ /* - * Copyright 2024 NXP + * Copyright 2024-2025 NXP * * SPDX-License-Identifier: Apache-2.0 */ @@ -42,6 +42,10 @@ status = "okay"; }; +&dac { + status = "okay"; +}; + &systick { status = "okay"; }; diff --git a/boards/nxp/mimxrt1180_evk/mimxrt1180_evk_mimxrt1189_cm33.yaml b/boards/nxp/mimxrt1180_evk/mimxrt1180_evk_mimxrt1189_cm33.yaml index 5af46ebc6919a..bd7fedb8e97b3 100644 --- a/boards/nxp/mimxrt1180_evk/mimxrt1180_evk_mimxrt1189_cm33.yaml +++ b/boards/nxp/mimxrt1180_evk/mimxrt1180_evk_mimxrt1189_cm33.yaml @@ -1,5 +1,5 @@ # -# Copyright 2024 NXP +# Copyright 2024-2025 NXP # # SPDX-License-Identifier: Apache-2.0 # @@ -30,4 +30,5 @@ supported: - watchdog - usbd - sdhc + - dac vendor: nxp diff --git a/boards/nxp/mimxrt1180_evk/mimxrt1180_evk_mimxrt1189_cm7.dts b/boards/nxp/mimxrt1180_evk/mimxrt1180_evk_mimxrt1189_cm7.dts index c6a3499c778b8..4a5a7ab25c173 100644 --- a/boards/nxp/mimxrt1180_evk/mimxrt1180_evk_mimxrt1189_cm7.dts +++ b/boards/nxp/mimxrt1180_evk/mimxrt1180_evk_mimxrt1189_cm7.dts @@ -41,6 +41,10 @@ status = "okay"; }; +&dac { + status = "okay"; +}; + &systick { status = "okay"; }; diff --git a/boards/nxp/mimxrt1180_evk/mimxrt1180_evk_mimxrt1189_cm7.yaml b/boards/nxp/mimxrt1180_evk/mimxrt1180_evk_mimxrt1189_cm7.yaml index 34b0b8d79610d..6ec060575dc8c 100644 --- a/boards/nxp/mimxrt1180_evk/mimxrt1180_evk_mimxrt1189_cm7.yaml +++ b/boards/nxp/mimxrt1180_evk/mimxrt1180_evk_mimxrt1189_cm7.yaml @@ -1,5 +1,5 @@ # -# Copyright 2024 NXP +# Copyright 2024-2025 NXP # # SPDX-License-Identifier: Apache-2.0 # @@ -27,4 +27,5 @@ supported: - sdhc - spi - uart + - dac vendor: nxp diff --git a/dts/arm/nxp/nxp_rt118x.dtsi b/dts/arm/nxp/nxp_rt118x.dtsi index 8cfcbc58f9337..df78f68640cb4 100644 --- a/dts/arm/nxp/nxp_rt118x.dtsi +++ b/dts/arm/nxp/nxp_rt118x.dtsi @@ -402,6 +402,15 @@ clocks = <&ccm IMX_CCM_LPADC2_CLK 0 0>; }; + dac: dac@42e20000 { + compatible = "nxp,dac12"; + reg = <0x42e20000 0x1000>; + interrupts = <193 0>; + voltage-reference = <2>; + status = "disabled"; + #io-channel-cells = <1>; + }; + qtmr1: qtmr@2690000 { compatible = "nxp,imx-qtmr"; reg = <0x2690000 0x4000>; diff --git a/samples/drivers/dac/README.rst b/samples/drivers/dac/README.rst index edfe9fa9101db..1924dff62ae13 100644 --- a/samples/drivers/dac/README.rst +++ b/samples/drivers/dac/README.rst @@ -222,6 +222,25 @@ follows: DAC output is available on connector J12 pin 4. +Building and Running for MIMXRT1180-EVK +======================================= +The sample can be built and executed for the :zephyr:board:`mimxrt1180_evk` as +follows: + +.. zephyr-app-commands:: + :zephyr-app: samples/drivers/dac + :board: mimxrt1180_evk/mimxrt1189/cm33 + :goals: flash + :compact: + +.. zephyr-app-commands:: + :zephyr-app: samples/drivers/dac + :board: mimxrt1180_evk/mimxrt1189/cm7 + :goals: flash + :compact: + +Connect J10 pin 1-2., the DAC output is available on TP9. + Sample output ============= diff --git a/samples/drivers/dac/boards/mimxrt1180_evk_mimxrt1189_cm33.overlay b/samples/drivers/dac/boards/mimxrt1180_evk_mimxrt1189_cm33.overlay new file mode 100644 index 0000000000000..7bf07734a69d1 --- /dev/null +++ b/samples/drivers/dac/boards/mimxrt1180_evk_mimxrt1189_cm33.overlay @@ -0,0 +1,13 @@ +/* + * Copyright 2025 NXP + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/ { + zephyr,user { + dac = <&dac>; + dac-channel-id = <0>; + dac-resolution = <12>; + }; +}; diff --git a/samples/drivers/dac/boards/mimxrt1180_evk_mimxrt1189_cm7.overlay b/samples/drivers/dac/boards/mimxrt1180_evk_mimxrt1189_cm7.overlay new file mode 100644 index 0000000000000..7bf07734a69d1 --- /dev/null +++ b/samples/drivers/dac/boards/mimxrt1180_evk_mimxrt1189_cm7.overlay @@ -0,0 +1,13 @@ +/* + * Copyright 2025 NXP + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/ { + zephyr,user { + dac = <&dac>; + dac-channel-id = <0>; + dac-resolution = <12>; + }; +}; diff --git a/tests/drivers/dac/dac_api/src/test_dac.c b/tests/drivers/dac/dac_api/src/test_dac.c index 5e1fafebf8be0..d988bfde7312d 100644 --- a/tests/drivers/dac/dac_api/src/test_dac.c +++ b/tests/drivers/dac/dac_api/src/test_dac.c @@ -46,6 +46,9 @@ #define DAC_CHANNEL_ID 2 #define DAC_RESOLUTION 12 +/* Note external DAC MCP4725 is not populated on BL652_DVK, BL653_DVK and + * BL654_DVK at factory + */ #elif defined(CONFIG_BOARD_TWR_KE18F) || \ defined(CONFIG_BOARD_FRDM_K64F) || \ defined(CONFIG_BOARD_FRDM_K22F) || \ @@ -56,19 +59,13 @@ defined(CONFIG_BOARD_ARDUINO_MKRZERO) || \ defined(CONFIG_BOARD_ARDUINO_ZERO) || \ defined(CONFIG_BOARD_LPCXPRESSO55S36) || \ - defined(CONFIG_BOARD_SAME54_XPRO) - -#define DAC_DEVICE_NODE DT_NODELABEL(dac0) -#define DAC_RESOLUTION 12 -#define DAC_CHANNEL_ID 0 - -#elif defined(CONFIG_BOARD_BL652_DVK) || \ + defined(CONFIG_BOARD_SAME54_XPRO) || \ + defined(CONFIG_BOARD_BL652_DVK) || \ defined(CONFIG_BOARD_BL653_DVK) || \ defined(CONFIG_BOARD_BL654_DVK) || \ - defined(CONFIG_BOARD_BL5340_DVK) - /* Note external DAC MCP4725 is not populated on BL652_DVK, BL653_DVK and - * BL654_DVK at factory - */ + defined(CONFIG_BOARD_BL5340_DVK) || \ + DT_HAS_COMPAT_STATUS_OKAY(renesas_ra_dac) + #define DAC_DEVICE_NODE DT_NODELABEL(dac0) #define DAC_RESOLUTION 12 #define DAC_CHANNEL_ID 0 @@ -82,7 +79,9 @@ defined(CONFIG_BOARD_GD32F450I_EVAL) || \ defined(CONFIG_BOARD_GD32F450Z_EVAL) || \ defined(CONFIG_BOARD_GD32F470I_EVAL) || \ - defined(CONFIG_BOARD_YD_ESP32) + defined(CONFIG_BOARD_YD_ESP32) || \ + defined(CONFIG_BOARD_MIMXRT1170_EVK) || \ + defined(CONFIG_BOARD_MIMXRT1180_EVK) #define DAC_DEVICE_NODE DT_NODELABEL(dac) #define DAC_RESOLUTION 12 @@ -102,23 +101,11 @@ #define DAC_RESOLUTION 10 #define DAC_CHANNEL_ID 0 -#elif DT_HAS_COMPAT_STATUS_OKAY(renesas_ra_dac) - -#define DAC_DEVICE_NODE DT_NODELABEL(dac0) -#define DAC_RESOLUTION 12 -#define DAC_CHANNEL_ID 0 - -#elif defined(CONFIG_BOARD_MIMXRT1170_EVK) - -#define DAC_DEVICE_NODE DT_NODELABEL(dac) -#define DAC_RESOLUTION 12 -#define DAC_CHANNEL_ID 0 - #elif defined(CONFIG_SOC_FAMILY_SILABS_S2) #define DAC_DEVICE_NODE DT_NODELABEL(vdac0) -#define DAC_RESOLUTION 12 -#define DAC_CHANNEL_ID 0 +#define DAC_RESOLUTION 12 +#define DAC_CHANNEL_ID 0 #else #error "Unsupported board."