diff --git a/boards/arm/udoo_neo_full_m4/Kconfig.defconfig b/boards/arm/udoo_neo_full_m4/Kconfig.defconfig index 5230e78ca75..62636188a78 100644 --- a/boards/arm/udoo_neo_full_m4/Kconfig.defconfig +++ b/boards/arm/udoo_neo_full_m4/Kconfig.defconfig @@ -8,8 +8,4 @@ if BOARD_UDOO_NEO_FULL_M4 config BOARD default "udoo_neo_full_m4" -config COUNTER_IMX_EPIT_1 - default y - depends on COUNTER_IMX_EPIT - endif # BOARD_UDOO_NEO_FULL_M4 diff --git a/drivers/counter/Kconfig.imx_epit b/drivers/counter/Kconfig.imx_epit index c466f64422a..3083864de11 100644 --- a/drivers/counter/Kconfig.imx_epit +++ b/drivers/counter/Kconfig.imx_epit @@ -8,17 +8,3 @@ config COUNTER_IMX_EPIT depends on HAS_IMX_EPIT help Enable the IMX EPIT driver. - -if COUNTER_IMX_EPIT - -config COUNTER_IMX_EPIT_1 - bool "Counter 1" - help - Enable Counter 1. - -config COUNTER_IMX_EPIT_2 - bool "Counter 2" - help - Enable Counter 2. - -endif # COUNTER_IMX_EPIT diff --git a/drivers/counter/counter_imx_epit.c b/drivers/counter/counter_imx_epit.c index 1c210c30d69..9722f54b78d 100644 --- a/drivers/counter/counter_imx_epit.c +++ b/drivers/counter/counter_imx_epit.c @@ -3,6 +3,7 @@ * * SPDX-License-Identifier: Apache-2.0 */ +#define DT_DRV_COMPAT nxp_imx_epit #include #include @@ -151,36 +152,30 @@ static const struct counter_driver_api imx_epit_driver_api = { #define COUNTER_IMX_EPIT_DEVICE(idx) \ static int imx_epit_config_func_##idx(struct device *dev); \ -static const struct imx_epit_config imx_epit_##idx##z_config = { \ +static const struct imx_epit_config imx_epit_##idx##z_config = { \ .info = { \ .max_top_value = COUNTER_MAX_RELOAD, \ .freq = 1U, \ .flags = 0, \ .channels = 0U, \ }, \ - .base = (EPIT_Type *)DT_COUNTER_IMX_EPIT_##idx##_BASE_ADDRESS, \ - .prescaler = DT_COUNTER_IMX_EPIT_##idx##_PRESCALER, \ + .base = (EPIT_Type *)DT_INST_REG_ADDR(idx), \ + .prescaler = DT_INST_PROP(idx, prescaler), \ }; \ static struct imx_epit_data imx_epit_##idx##_data; \ -DEVICE_AND_API_INIT(epit_##idx, DT_COUNTER_IMX_EPIT_##idx##_LABEL, \ +DEVICE_AND_API_INIT(epit_##idx, DT_INST_LABEL(idx), \ &imx_epit_config_func_##idx, \ - &imx_epit_##idx##_data, &imx_epit_##idx##z_config.info, \ + &imx_epit_##idx##_data, &imx_epit_##idx##z_config.info, \ PRE_KERNEL_1, CONFIG_KERNEL_INIT_PRIORITY_DEFAULT, \ &imx_epit_driver_api); \ static int imx_epit_config_func_##idx(struct device *dev) \ { \ imx_epit_init(dev); \ - IRQ_CONNECT(DT_COUNTER_IMX_EPIT_##idx##_IRQ, \ - DT_COUNTER_IMX_EPIT_##idx##_IRQ_PRI, \ + IRQ_CONNECT(DT_INST_IRQN(idx), \ + DT_INST_IRQ(idx, priority), \ imx_epit_isr, DEVICE_GET(epit_##idx), 0); \ - irq_enable(DT_COUNTER_IMX_EPIT_##idx##_IRQ); \ + irq_enable(DT_INST_IRQN(idx)); \ return 0; \ } -#ifdef CONFIG_COUNTER_IMX_EPIT_1 -COUNTER_IMX_EPIT_DEVICE(1); -#endif /* CONFIG_COUNTER_IMX_EPIT_1 */ - -#ifdef CONFIG_COUNTER_IMX_EPIT_2 -COUNTER_IMX_EPIT_DEVICE(2); -#endif /* CONFIG_COUNTER_IMX_EPIT_2 */ +DT_INST_FOREACH(COUNTER_IMX_EPIT_DEVICE) diff --git a/soc/arm/nxp_imx/mcimx6x_m4/dts_fixup.h b/soc/arm/nxp_imx/mcimx6x_m4/dts_fixup.h index b96a140ff9e..0c8554f691c 100644 --- a/soc/arm/nxp_imx/mcimx6x_m4/dts_fixup.h +++ b/soc/arm/nxp_imx/mcimx6x_m4/dts_fixup.h @@ -5,15 +5,3 @@ */ #define DT_NUM_IRQ_PRIO_BITS DT_ARM_V7M_NVIC_E000E100_ARM_NUM_IRQ_PRIORITY_BITS - -#define DT_COUNTER_IMX_EPIT_1_BASE_ADDRESS DT_NXP_IMX_EPIT_420D0000_BASE_ADDRESS -#define DT_COUNTER_IMX_EPIT_1_IRQ DT_NXP_IMX_EPIT_420D0000_IRQ_0 -#define DT_COUNTER_IMX_EPIT_1_IRQ_PRI DT_NXP_IMX_EPIT_420D0000_IRQ_0_PRIORITY -#define DT_COUNTER_IMX_EPIT_1_LABEL DT_NXP_IMX_EPIT_420D0000_LABEL -#define DT_COUNTER_IMX_EPIT_1_PRESCALER DT_NXP_IMX_EPIT_420D0000_PRESCALER - -#define DT_COUNTER_IMX_EPIT_2_BASE_ADDRESS DT_NXP_IMX_EPIT_420D4000_BASE_ADDRESS -#define DT_COUNTER_IMX_EPIT_2_IRQ DT_NXP_IMX_EPIT_420D4000_IRQ_0 -#define DT_COUNTER_IMX_EPIT_2_IRQ_PRI DT_NXP_IMX_EPIT_420D4000_IRQ_0_PRIORITY -#define DT_COUNTER_IMX_EPIT_2_LABEL DT_NXP_IMX_EPIT_420D4000_LABEL -#define DT_COUNTER_IMX_EPIT_2_PRESCALER DT_NXP_IMX_EPIT_420D4000_PRESCALER diff --git a/tests/drivers/counter/counter_basic_api/boards/udoo_neo_full_m4.conf b/tests/drivers/counter/counter_basic_api/boards/udoo_neo_full_m4.conf deleted file mode 100644 index 705ddc93476..00000000000 --- a/tests/drivers/counter/counter_basic_api/boards/udoo_neo_full_m4.conf +++ /dev/null @@ -1,2 +0,0 @@ -CONFIG_COUNTER_IMX_EPIT_1=y -CONFIG_COUNTER_IMX_EPIT_2=y diff --git a/tests/drivers/counter/counter_basic_api/src/test_counter.c b/tests/drivers/counter/counter_basic_api/src/test_counter.c index c9a1c12378a..c560f28ade3 100644 --- a/tests/drivers/counter/counter_basic_api/src/test_counter.c +++ b/tests/drivers/counter/counter_basic_api/src/test_counter.c @@ -51,11 +51,11 @@ static const char * const devices[] = { #ifdef CONFIG_COUNTER_RTC2 DT_NORDIC_NRF_RTC_RTC_2_LABEL, #endif -#ifdef CONFIG_COUNTER_IMX_EPIT_1 - DT_COUNTER_IMX_EPIT_1_LABEL, +#if DT_HAS_NODE(DT_INST(0, nxp_imx_epit)) + DT_LABEL(DT_INST(0, nxp_imx_epit)), #endif -#ifdef CONFIG_COUNTER_IMX_EPIT_2 - DT_COUNTER_IMX_EPIT_2_LABEL, +#if DT_HAS_NODE(DT_INST(1, nxp_imx_epit)) + DT_LABEL(DT_INST(1, nxp_imx_epit)), #endif #if DT_HAS_NODE(DT_INST(0, arm_cmsdk_timer)) DT_LABEL(DT_INST(0, arm_cmsdk_timer)),