/*
 * Copyright (c) 2017, NXP
 *
 * SPDX-License-Identifier: Apache-2.0
 */

/* SoC level DTS fixup file */

#define DT_NUM_IRQ_PRIO_BITS			DT_ARM_V7M_NVIC_E000E100_ARM_NUM_IRQ_PRIORITY_BITS

#define DT_NUM_MPU_REGIONS			DT_ARM_ARMV7M_MPU_E000ED90_ARM_NUM_MPU_REGIONS

#define DT_MCUX_CCM_BASE_ADDRESS		DT_NXP_IMX_CCM_400FC000_BASE_ADDRESS
#define DT_MCUX_CCM_NAME			DT_NXP_IMX_CCM_400FC000_LABEL

#define DT_MCUX_IGPIO_1_BASE_ADDRESS		DT_NXP_IMX_GPIO_401B8000_BASE_ADDRESS
#define DT_MCUX_IGPIO_1_NAME			DT_NXP_IMX_GPIO_401B8000_LABEL
#define DT_MCUX_IGPIO_1_IRQ_0			DT_NXP_IMX_GPIO_401B8000_IRQ_0
#define DT_MCUX_IGPIO_1_IRQ_0_PRI		DT_NXP_IMX_GPIO_401B8000_IRQ_0_PRIORITY
#define DT_MCUX_IGPIO_1_IRQ_1			DT_NXP_IMX_GPIO_401B8000_IRQ_1
#define DT_MCUX_IGPIO_1_IRQ_1_PRI		DT_NXP_IMX_GPIO_401B8000_IRQ_1_PRIORITY

#define DT_MCUX_IGPIO_2_BASE_ADDRESS		DT_NXP_IMX_GPIO_401BC000_BASE_ADDRESS
#define DT_MCUX_IGPIO_2_NAME			DT_NXP_IMX_GPIO_401BC000_LABEL
#define DT_MCUX_IGPIO_2_IRQ_0			DT_NXP_IMX_GPIO_401BC000_IRQ_0
#define DT_MCUX_IGPIO_2_IRQ_0_PRI		DT_NXP_IMX_GPIO_401BC000_IRQ_0_PRIORITY
#define DT_MCUX_IGPIO_2_IRQ_1			DT_NXP_IMX_GPIO_401BC000_IRQ_1
#define DT_MCUX_IGPIO_2_IRQ_1_PRI		DT_NXP_IMX_GPIO_401BC000_IRQ_1_PRIORITY

#define DT_MCUX_IGPIO_3_BASE_ADDRESS		DT_NXP_IMX_GPIO_401C0000_BASE_ADDRESS
#define DT_MCUX_IGPIO_3_NAME			DT_NXP_IMX_GPIO_401C0000_LABEL
#define DT_MCUX_IGPIO_3_IRQ_0			DT_NXP_IMX_GPIO_401C0000_IRQ_0
#define DT_MCUX_IGPIO_3_IRQ_0_PRI		DT_NXP_IMX_GPIO_401C0000_IRQ_0_PRIORITY
#define DT_MCUX_IGPIO_3_IRQ_1			DT_NXP_IMX_GPIO_401C0000_IRQ_1
#define DT_MCUX_IGPIO_3_IRQ_1_PRI		DT_NXP_IMX_GPIO_401C0000_IRQ_1_PRIORITY

#define DT_MCUX_IGPIO_4_BASE_ADDRESS		DT_NXP_IMX_GPIO_401C4000_BASE_ADDRESS
#define DT_MCUX_IGPIO_4_NAME			DT_NXP_IMX_GPIO_401C4000_LABEL
#define DT_MCUX_IGPIO_4_IRQ_0			DT_NXP_IMX_GPIO_401C4000_IRQ_0
#define DT_MCUX_IGPIO_4_IRQ_0_PRI		DT_NXP_IMX_GPIO_401C4000_IRQ_0_PRIORITY
#define DT_MCUX_IGPIO_4_IRQ_1			DT_NXP_IMX_GPIO_401C4000_IRQ_1
#define DT_MCUX_IGPIO_4_IRQ_1_PRI		DT_NXP_IMX_GPIO_401C4000_IRQ_1_PRIORITY

#define DT_MCUX_IGPIO_5_BASE_ADDRESS		DT_NXP_IMX_GPIO_400C0000_BASE_ADDRESS
#define DT_MCUX_IGPIO_5_NAME			DT_NXP_IMX_GPIO_400C0000_LABEL
#define DT_MCUX_IGPIO_5_IRQ_0			DT_NXP_IMX_GPIO_400C0000_IRQ_0
#define DT_MCUX_IGPIO_5_IRQ_0_PRI		DT_NXP_IMX_GPIO_400C0000_IRQ_0_PRIORITY
#define DT_MCUX_IGPIO_5_IRQ_1			DT_NXP_IMX_GPIO_400C0000_IRQ_1
#define DT_MCUX_IGPIO_5_IRQ_1_PRI		DT_NXP_IMX_GPIO_400C0000_IRQ_1_PRIORITY

#define DT_I2C_1_NAME			DT_NXP_IMX_LPI2C_403F0000_LABEL
#define DT_I2C_MCUX_LPI2C_1_BASE_ADDRESS	DT_NXP_IMX_LPI2C_403F0000_BASE_ADDRESS
#define DT_I2C_MCUX_LPI2C_1_IRQ			DT_NXP_IMX_LPI2C_403F0000_IRQ_0
#define DT_I2C_MCUX_LPI2C_1_IRQ_PRI		DT_NXP_IMX_LPI2C_403F0000_IRQ_0_PRIORITY
#define DT_I2C_MCUX_LPI2C_1_BITRATE		DT_NXP_IMX_LPI2C_403F0000_CLOCK_FREQUENCY
#define DT_I2C_MCUX_LPI2C_1_CLOCK_NAME		DT_NXP_IMX_LPI2C_403F0000_CLOCK_CONTROLLER
#define DT_I2C_MCUX_LPI2C_1_CLOCK_SUBSYS	DT_NXP_IMX_LPI2C_403F0000_CLOCK_NAME

#define DT_I2C_2_NAME			DT_NXP_IMX_LPI2C_403F4000_LABEL
#define DT_I2C_MCUX_LPI2C_2_BASE_ADDRESS	DT_NXP_IMX_LPI2C_403F4000_BASE_ADDRESS
#define DT_I2C_MCUX_LPI2C_2_IRQ			DT_NXP_IMX_LPI2C_403F4000_IRQ_0
#define DT_I2C_MCUX_LPI2C_2_IRQ_PRI		DT_NXP_IMX_LPI2C_403F4000_IRQ_0_PRIORITY
#define DT_I2C_MCUX_LPI2C_2_BITRATE		DT_NXP_IMX_LPI2C_403F4000_CLOCK_FREQUENCY
#define DT_I2C_MCUX_LPI2C_2_CLOCK_NAME		DT_NXP_IMX_LPI2C_403F4000_CLOCK_CONTROLLER
#define DT_I2C_MCUX_LPI2C_2_CLOCK_SUBSYS	DT_NXP_IMX_LPI2C_403F4000_CLOCK_NAME

#define DT_I2C_3_NAME			DT_NXP_IMX_LPI2C_403F8000_LABEL
#define DT_I2C_MCUX_LPI2C_3_BASE_ADDRESS	DT_NXP_IMX_LPI2C_403F8000_BASE_ADDRESS
#define DT_I2C_MCUX_LPI2C_3_IRQ			DT_NXP_IMX_LPI2C_403F8000_IRQ_0
#define DT_I2C_MCUX_LPI2C_3_IRQ_PRI		DT_NXP_IMX_LPI2C_403F8000_IRQ_0_PRIORITY
#define DT_I2C_MCUX_LPI2C_3_BITRATE		DT_NXP_IMX_LPI2C_403F8000_CLOCK_FREQUENCY
#define DT_I2C_MCUX_LPI2C_3_CLOCK_NAME		DT_NXP_IMX_LPI2C_403F8000_CLOCK_CONTROLLER
#define DT_I2C_MCUX_LPI2C_3_CLOCK_SUBSYS	DT_NXP_IMX_LPI2C_403F8000_CLOCK_NAME

#define DT_I2C_4_NAME			DT_NXP_IMX_LPI2C_403FC000_LABEL
#define DT_I2C_MCUX_LPI2C_4_BASE_ADDRESS	DT_NXP_IMX_LPI2C_403FC000_BASE_ADDRESS
#define DT_I2C_MCUX_LPI2C_4_IRQ			DT_NXP_IMX_LPI2C_403FC000_IRQ_0
#define DT_I2C_MCUX_LPI2C_4_IRQ_PRI		DT_NXP_IMX_LPI2C_403FC000_IRQ_0_PRIORITY
#define DT_I2C_MCUX_LPI2C_4_BITRATE		DT_NXP_IMX_LPI2C_403FC000_CLOCK_FREQUENCY
#define DT_I2C_MCUX_LPI2C_4_CLOCK_NAME		DT_NXP_IMX_LPI2C_403FC000_CLOCK_CONTROLLER
#define DT_I2C_MCUX_LPI2C_4_CLOCK_SUBSYS	DT_NXP_IMX_LPI2C_403FC000_CLOCK_NAME

#define DT_UART_MCUX_LPUART_1_BASE_ADDRESS	DT_NXP_KINETIS_LPUART_40184000_BASE_ADDRESS
#define DT_UART_MCUX_LPUART_1_NAME		DT_NXP_KINETIS_LPUART_40184000_LABEL
#define DT_UART_MCUX_LPUART_1_IRQ_0		DT_NXP_KINETIS_LPUART_40184000_IRQ_0
#define DT_UART_MCUX_LPUART_1_IRQ_0_PRI		DT_NXP_KINETIS_LPUART_40184000_IRQ_0_PRIORITY
#define DT_UART_MCUX_LPUART_1_BAUD_RATE		DT_NXP_KINETIS_LPUART_40184000_CURRENT_SPEED
#define DT_UART_MCUX_LPUART_1_CLOCK_NAME	DT_NXP_KINETIS_LPUART_40184000_CLOCK_CONTROLLER
#define DT_UART_MCUX_LPUART_1_CLOCK_SUBSYS	DT_NXP_KINETIS_LPUART_40184000_CLOCK_NAME

#define DT_UART_MCUX_LPUART_2_BASE_ADDRESS	DT_NXP_KINETIS_LPUART_40188000_BASE_ADDRESS
#define DT_UART_MCUX_LPUART_2_NAME		DT_NXP_KINETIS_LPUART_40188000_LABEL
#define DT_UART_MCUX_LPUART_2_IRQ_0		DT_NXP_KINETIS_LPUART_40188000_IRQ_0
#define DT_UART_MCUX_LPUART_2_IRQ_0_PRI		DT_NXP_KINETIS_LPUART_40188000_IRQ_0_PRIORITY
#define DT_UART_MCUX_LPUART_2_BAUD_RATE		DT_NXP_KINETIS_LPUART_40188000_CURRENT_SPEED
#define DT_UART_MCUX_LPUART_2_CLOCK_NAME	DT_NXP_KINETIS_LPUART_40188000_CLOCK_CONTROLLER
#define DT_UART_MCUX_LPUART_2_CLOCK_SUBSYS	DT_NXP_KINETIS_LPUART_40188000_CLOCK_NAME

#define DT_UART_MCUX_LPUART_3_BASE_ADDRESS	DT_NXP_KINETIS_LPUART_4018C000_BASE_ADDRESS
#define DT_UART_MCUX_LPUART_3_NAME		DT_NXP_KINETIS_LPUART_4018C000_LABEL
#define DT_UART_MCUX_LPUART_3_IRQ_0		DT_NXP_KINETIS_LPUART_4018C000_IRQ_0
#define DT_UART_MCUX_LPUART_3_IRQ_0_PRI		DT_NXP_KINETIS_LPUART_4018C000_IRQ_0_PRIORITY
#define DT_UART_MCUX_LPUART_3_BAUD_RATE		DT_NXP_KINETIS_LPUART_4018C000_CURRENT_SPEED
#define DT_UART_MCUX_LPUART_3_CLOCK_NAME	DT_NXP_KINETIS_LPUART_4018C000_CLOCK_CONTROLLER
#define DT_UART_MCUX_LPUART_3_CLOCK_SUBSYS	DT_NXP_KINETIS_LPUART_4018C000_CLOCK_NAME

#define DT_COUNTER_MCUX_GPT_1_BASE_ADDRESS	DT_NXP_IMX_GPT_401EC000_BASE_ADDRESS
#define DT_COUNTER_MCUX_GPT_1_IRQ		DT_NXP_IMX_GPT_401EC000_IRQ_0
#define DT_COUNTER_MCUX_GPT_1_IRQ_PRI		DT_NXP_IMX_GPT_401EC000_IRQ_0_PRIORITY
#define DT_COUNTER_MCUX_GPT_1_NAME		DT_NXP_IMX_GPT_401EC000_LABEL
#define DT_RTC_0_NAME				DT_COUNTER_MCUX_GPT_1_NAME

#define DT_COUNTER_MCUX_GPT_2_BASE_ADDRESS	DT_NXP_IMX_GPT_401F0000_BASE_ADDRESS
#define DT_COUNTER_MCUX_GPT_2_IRQ		DT_NXP_IMX_GPT_401F0000_IRQ_0
#define DT_COUNTER_MCUX_GPT_2_IRQ_PRI		DT_NXP_IMX_GPT_401F0000_IRQ_0_PRIORITY
#define DT_COUNTER_MCUX_GPT_2_NAME		DT_NXP_IMX_GPT_401F0000_LABEL
#define DT_RTC_1_NAME				DT_COUNTER_MCUX_GPT_2_NAME

#define DT_ETH_MCUX_0_NAME  			DT_NXP_KINETIS_ETHERNET_402D8000_LABEL

#define DT_ETH_MCUX_0_MAC			DT_NXP_KINETIS_ETHERNET_402D8000_LOCAL_MAC_ADDRESS

#define DT_IRQ_ETH_COMMON   			DT_NXP_KINETIS_ETHERNET_402D8000_IRQ_0
#define DT_IRQ_ETH_IEEE1588_TMR			DT_NXP_KINETIS_PTP_402D8000_PTP_IRQ_0
#define DT_ETH_MCUX_0_IRQ_PRI   		DT_NXP_KINETIS_ETHERNET_402D8000_IRQ_0_PRIORITY

#define DT_ENTROPY_MCUX_TRNG_BASE_ADDRESS	DT_NXP_KINETIS_TRNG_400CC000_BASE_ADDRESS
#define DT_ENTROPY_MCUX_TRNG_IRQ		DT_NXP_KINETIS_TRNG_400CC000_IRQ_0
#define DT_ENTROPY_MCUX_TRNG_IRQ_PRI		DT_NXP_KINETIS_TRNG_400CC000_IRQ_0_PRIORITY
#define DT_ENTROPY_MCUX_TRNG_NAME		DT_NXP_KINETIS_TRNG_400CC000_LABEL
#define CONFIG_ENTROPY_NAME			DT_NXP_KINETIS_TRNG_400CC000_LABEL

#define DT_USBD_MCUX_EHCI_NAME        DT_NXP_KINETIS_USBD_402E0000_LABEL
#define DT_USBD_MCUX_EHCI_IRQ         DT_NXP_KINETIS_USBD_402E0000_IRQ_USB_OTG
#define DT_USBD_MCUX_EHCI_IRQ_PRI     DT_NXP_KINETIS_USBD_402E0000_IRQ_0_PRIORITY
#define DT_USBD_MCUX_EHCI_BASE_ADDRESS    DT_NXP_KINETIS_USBD_402E0000_BASE_ADDRESS
#define DT_USBD_MCUX_EHCI_NUM_BIDIR_EP    DT_NXP_KINETIS_USBD_402E0000_NUM_BIDIR_ENDPOINTS
#define DT_USBD_MCUX_EHCI_MAXIMUM_SPEED   DT_NXP_KINETIS_USBD_402E0000_MAXIMUM_SPEED

#define DT_PWM_MCUX_0_BASE_ADDRESS		DT_NXP_FLEXPWM_403DC000_BASE_ADDRESS
#define DT_PWM_MCUX_0_IRQ			DT_NXP_IMX_PWM_403DC000_PWM0_IRQ_0
#define DT_PWM_MCUX_0_IRQ_PRI			DT_NXP_IMX_PWM_403DC000_PWM0_IRQ_0_PRIORITY
#define DT_PWM_MCUX_0_NAME			DT_NXP_IMX_PWM_403DC000_PWM0_LABEL
#define DT_PWM_MCUX_0_INDEX			DT_NXP_IMX_PWM_403DC000_PWM0_INDEX

#define DT_PWM_MCUX_1_BASE_ADDRESS		DT_NXP_FLEXPWM_403DC000_BASE_ADDRESS
#define DT_PWM_MCUX_1_IRQ			DT_NXP_IMX_PWM_403DC000_PWM1_IRQ_0
#define DT_PWM_MCUX_1_IRQ_PRI			DT_NXP_IMX_PWM_403DC000_PWM1_IRQ_0_PRIORITY
#define DT_PWM_MCUX_1_NAME			DT_NXP_IMX_PWM_403DC000_PWM1_LABEL
#define DT_PWM_MCUX_1_INDEX			DT_NXP_IMX_PWM_403DC000_PWM1_INDEX

#define DT_PWM_MCUX_2_BASE_ADDRESS		DT_NXP_FLEXPWM_403DC000_BASE_ADDRESS
#define DT_PWM_MCUX_2_IRQ			DT_NXP_IMX_PWM_403DC000_PWM2_IRQ_0
#define DT_PWM_MCUX_2_IRQ_PRI			DT_NXP_IMX_PWM_403DC000_PWM2_IRQ_0_PRIORITY
#define DT_PWM_MCUX_2_NAME			DT_NXP_IMX_PWM_403DC000_PWM2_LABEL
#define DT_PWM_MCUX_2_INDEX			DT_NXP_IMX_PWM_403DC000_PWM2_INDEX

#define DT_PWM_MCUX_3_BASE_ADDRESS		DT_NXP_FLEXPWM_403DC000_BASE_ADDRESS
#define DT_PWM_MCUX_3_IRQ			DT_NXP_IMX_PWM_403DC000_PWM3_IRQ_0
#define DT_PWM_MCUX_3_IRQ_PRI			DT_NXP_IMX_PWM_403DC000_PWM3_IRQ_0_PRIORITY
#define DT_PWM_MCUX_3_NAME			DT_NXP_IMX_PWM_403DC000_PWM3_LABEL
#define DT_PWM_MCUX_3_INDEX			DT_NXP_IMX_PWM_403DC000_PWM3_INDEX

#define DT_PWM_MCUX_4_BASE_ADDRESS		DT_NXP_FLEXPWM_403E0000_BASE_ADDRESS
#define DT_PWM_MCUX_4_IRQ			DT_NXP_IMX_PWM_403E0000_PWM0_IRQ_0
#define DT_PWM_MCUX_4_IRQ_PRI			DT_NXP_IMX_PWM_403E0000_PWM0_IRQ_0_PRIORITY
#define DT_PWM_MCUX_4_NAME			DT_NXP_IMX_PWM_403E0000_PWM0_LABEL
#define DT_PWM_MCUX_4_INDEX			DT_NXP_IMX_PWM_403E0000_PWM0_INDEX

#define DT_PWM_MCUX_5_BASE_ADDRESS		DT_NXP_FLEXPWM_403E0000_BASE_ADDRESS
#define DT_PWM_MCUX_5_IRQ			DT_NXP_IMX_PWM_403E0000_PWM1_IRQ_0
#define DT_PWM_MCUX_5_IRQ_PRI			DT_NXP_IMX_PWM_403E0000_PWM1_IRQ_0_PRIORITY
#define DT_PWM_MCUX_5_NAME			DT_NXP_IMX_PWM_403E0000_PWM1_LABEL
#define DT_PWM_MCUX_5_INDEX			DT_NXP_IMX_PWM_403E0000_PWM1_INDEX

#define DT_PWM_MCUX_6_BASE_ADDRESS		DT_NXP_FLEXPWM_403E0000_BASE_ADDRESS
#define DT_PWM_MCUX_6_IRQ			DT_NXP_IMX_PWM_403E0000_PWM2_IRQ_0
#define DT_PWM_MCUX_6_IRQ_PRI			DT_NXP_IMX_PWM_403E0000_PWM2_IRQ_0_PRIORITY
#define DT_PWM_MCUX_6_NAME			DT_NXP_IMX_PWM_403E0000_PWM2_LABEL
#define DT_PWM_MCUX_6_INDEX			DT_NXP_IMX_PWM_403E0000_PWM2_INDEX

#define DT_PWM_MCUX_7_BASE_ADDRESS		DT_NXP_FLEXPWM_403E0000_BASE_ADDRESS
#define DT_PWM_MCUX_7_IRQ			DT_NXP_IMX_PWM_403E0000_PWM3_IRQ_0
#define DT_PWM_MCUX_7_IRQ_PRI			DT_NXP_IMX_PWM_403E0000_PWM3_IRQ_0_PRIORITY
#define DT_PWM_MCUX_7_NAME			DT_NXP_IMX_PWM_403E0000_PWM3_LABEL
#define DT_PWM_MCUX_7_INDEX			DT_NXP_IMX_PWM_403E0000_PWM3_INDEX

#define DT_PWM_MCUX_8_BASE_ADDRESS		DT_NXP_FLEXPWM_403E4000_BASE_ADDRESS
#define DT_PWM_MCUX_8_IRQ			DT_NXP_IMX_PWM_403E4000_PWM0_IRQ_0
#define DT_PWM_MCUX_8_IRQ_PRI			DT_NXP_IMX_PWM_403E4000_PWM0_IRQ_0_PRIORITY
#define DT_PWM_MCUX_8_NAME			DT_NXP_IMX_PWM_403E4000_PWM0_LABEL
#define DT_PWM_MCUX_8_INDEX			DT_NXP_IMX_PWM_403E4000_PWM0_INDEX

#define DT_PWM_MCUX_9_BASE_ADDRESS		DT_NXP_FLEXPWM_403E4000_BASE_ADDRESS
#define DT_PWM_MCUX_9_IRQ			DT_NXP_IMX_PWM_403E4000_PWM1_IRQ_0
#define DT_PWM_MCUX_9_IRQ_PRI			DT_NXP_IMX_PWM_403E4000_PWM1_IRQ_0_PRIORITY
#define DT_PWM_MCUX_9_NAME			DT_NXP_IMX_PWM_403E4000_PWM1_LABEL
#define DT_PWM_MCUX_9_INDEX			DT_NXP_IMX_PWM_403E4000_PWM1_INDEX

#define DT_PWM_MCUX_10_BASE_ADDRESS		DT_NXP_FLEXPWM_403E4000_BASE_ADDRESS
#define DT_PWM_MCUX_10_IRQ			DT_NXP_IMX_PWM_403E4000_PWM2_IRQ_0
#define DT_PWM_MCUX_10_IRQ_PRI			DT_NXP_IMX_PWM_403E4000_PWM2_IRQ_0_PRIORITY
#define DT_PWM_MCUX_10_NAME			DT_NXP_IMX_PWM_403E4000_PWM2_LABEL
#define DT_PWM_MCUX_10_INDEX			DT_NXP_IMX_PWM_403E4000_PWM2_INDEX

#define DT_PWM_MCUX_11_BASE_ADDRESS		DT_NXP_FLEXPWM_403E4000_BASE_ADDRESS
#define DT_PWM_MCUX_11_IRQ			DT_NXP_IMX_PWM_403E4000_PWM3_IRQ_0
#define DT_PWM_MCUX_11_IRQ_PRI			DT_NXP_IMX_PWM_403E4000_PWM3_IRQ_0_PRIORITY
#define DT_PWM_MCUX_11_NAME			DT_NXP_IMX_PWM_403E4000_PWM3_LABEL
#define DT_PWM_MCUX_11_INDEX			DT_NXP_IMX_PWM_403E4000_PWM3_INDEX

#define DT_PWM_MCUX_12_BASE_ADDRESS		DT_NXP_FLEXPWM_403E8000_BASE_ADDRESS
#define DT_PWM_MCUX_12_IRQ			DT_NXP_IMX_PWM_403E8000_PWM0_IRQ_0
#define DT_PWM_MCUX_12_IRQ_PRI			DT_NXP_IMX_PWM_403E8000_PWM0_IRQ_0_PRIORITY
#define DT_PWM_MCUX_12_NAME			DT_NXP_IMX_PWM_403E8000_PWM0_LABEL
#define DT_PWM_MCUX_12_INDEX			DT_NXP_IMX_PWM_403E8000_PWM0_INDEX

#define DT_PWM_MCUX_13_BASE_ADDRESS		DT_NXP_FLEXPWM_403E8000_BASE_ADDRESS
#define DT_PWM_MCUX_13_IRQ			DT_NXP_IMX_PWM_403E8000_PWM1_IRQ_0
#define DT_PWM_MCUX_13_IRQ_PRI			DT_NXP_IMX_PWM_403E8000_PWM1_IRQ_0_PRIORITY
#define DT_PWM_MCUX_13_NAME			DT_NXP_IMX_PWM_403E8000_PWM1_LABEL
#define DT_PWM_MCUX_13_INDEX			DT_NXP_IMX_PWM_403E8000_PWM1_INDEX

#define DT_PWM_MCUX_14_BASE_ADDRESS		DT_NXP_FLEXPWM_403E8000_BASE_ADDRESS
#define DT_PWM_MCUX_14_IRQ			DT_NXP_IMX_PWM_403E8000_PWM2_IRQ_0
#define DT_PWM_MCUX_14_IRQ_PRI			DT_NXP_IMX_PWM_403E8000_PWM2_IRQ_0_PRIORITY
#define DT_PWM_MCUX_14_NAME			DT_NXP_IMX_PWM_403E8000_PWM2_LABEL
#define DT_PWM_MCUX_14_INDEX			DT_NXP_IMX_PWM_403E8000_PWM2_INDEX

#define DT_PWM_MCUX_15_BASE_ADDRESS		DT_NXP_FLEXPWM_403E8000_BASE_ADDRESS
#define DT_PWM_MCUX_15_IRQ			DT_NXP_IMX_PWM_403E8000_PWM3_IRQ_0
#define DT_PWM_MCUX_15_IRQ_PRI			DT_NXP_IMX_PWM_403E8000_PWM3_IRQ_0_PRIORITY
#define DT_PWM_MCUX_15_NAME			DT_NXP_IMX_PWM_403E8000_PWM3_LABEL
#define DT_PWM_MCUX_15_INDEX			DT_NXP_IMX_PWM_403E8000_PWM3_INDEX

#define DT_VIDEO_MCUX_CSI_BASE_ADDRESS		DT_NXP_IMX_CSI_402BC000_BASE_ADDRESS
#define DT_VIDEO_MCUX_CSI_IRQ			DT_NXP_IMX_CSI_402BC000_IRQ_0
#define DT_VIDEO_MCUX_CSI_IRQ_PRI		DT_NXP_IMX_CSI_402BC000_IRQ_0_PRIORITY
#define DT_VIDEO_MCUX_CSI_NAME			DT_NXP_IMX_CSI_402BC000_LABEL
#define DT_VIDEO_MCUX_CSI_SENSOR_NAME		DT_NXP_IMX_CSI_402BC000_SENSOR_LABEL

/* End of SoC Level DTS fixup file */
