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

#define DT_NUM_IRQ_PRIO_BITS		DT_ARM_V7M_NVIC_E000E100_ARM_NUM_IRQ_PRIORITY_BITS

#define DT_GPIO_IMX_PORT_1_BASE_ADDRESS	DT_NXP_IMX_GPIO_4209C000_BASE_ADDRESS
#define DT_GPIO_IMX_PORT_1_NAME		DT_NXP_IMX_GPIO_4209C000_LABEL
#define DT_GPIO_IMX_PORT_1_IRQ_0		DT_NXP_IMX_GPIO_4209C000_IRQ_0
#define DT_GPIO_IMX_PORT_1_IRQ_0_PRI	DT_NXP_IMX_GPIO_4209C000_IRQ_0_PRIORITY
#define DT_GPIO_IMX_PORT_1_IRQ_1		DT_NXP_IMX_GPIO_4209C000_IRQ_1
#define DT_GPIO_IMX_PORT_1_IRQ_1_PRI	DT_NXP_IMX_GPIO_4209C000_IRQ_1_PRIORITY

#define DT_GPIO_IMX_PORT_2_BASE_ADDRESS	DT_NXP_IMX_GPIO_420A0000_BASE_ADDRESS
#define DT_GPIO_IMX_PORT_2_NAME		DT_NXP_IMX_GPIO_420A0000_LABEL
#define DT_GPIO_IMX_PORT_2_IRQ_0		DT_NXP_IMX_GPIO_420A0000_IRQ_0
#define DT_GPIO_IMX_PORT_2_IRQ_0_PRI	DT_NXP_IMX_GPIO_420A0000_IRQ_0_PRIORITY
#define DT_GPIO_IMX_PORT_2_IRQ_1		DT_NXP_IMX_GPIO_420A0000_IRQ_1
#define DT_GPIO_IMX_PORT_2_IRQ_1_PRI	DT_NXP_IMX_GPIO_420A0000_IRQ_1_PRIORITY

#define DT_GPIO_IMX_PORT_3_BASE_ADDRESS	DT_NXP_IMX_GPIO_420A4000_BASE_ADDRESS
#define DT_GPIO_IMX_PORT_3_NAME		DT_NXP_IMX_GPIO_420A4000_LABEL
#define DT_GPIO_IMX_PORT_3_IRQ_0		DT_NXP_IMX_GPIO_420A4000_IRQ_0
#define DT_GPIO_IMX_PORT_3_IRQ_0_PRI	DT_NXP_IMX_GPIO_420A4000_IRQ_0_PRIORITY
#define DT_GPIO_IMX_PORT_3_IRQ_1		DT_NXP_IMX_GPIO_420A4000_IRQ_1
#define DT_GPIO_IMX_PORT_3_IRQ_1_PRI	DT_NXP_IMX_GPIO_420A4000_IRQ_1_PRIORITY

#define DT_GPIO_IMX_PORT_4_BASE_ADDRESS	DT_NXP_IMX_GPIO_420A8000_BASE_ADDRESS
#define DT_GPIO_IMX_PORT_4_NAME		DT_NXP_IMX_GPIO_420A8000_LABEL
#define DT_GPIO_IMX_PORT_4_IRQ_0		DT_NXP_IMX_GPIO_420A8000_IRQ_0
#define DT_GPIO_IMX_PORT_4_IRQ_0_PRI	DT_NXP_IMX_GPIO_420A8000_IRQ_0_PRIORITY
#define DT_GPIO_IMX_PORT_4_IRQ_1		DT_NXP_IMX_GPIO_420A8000_IRQ_1
#define DT_GPIO_IMX_PORT_4_IRQ_1_PRI	DT_NXP_IMX_GPIO_420A8000_IRQ_1_PRIORITY

#define DT_GPIO_IMX_PORT_5_BASE_ADDRESS	DT_NXP_IMX_GPIO_420AC000_BASE_ADDRESS
#define DT_GPIO_IMX_PORT_5_NAME		DT_NXP_IMX_GPIO_420AC000_LABEL
#define DT_GPIO_IMX_PORT_5_IRQ_0		DT_NXP_IMX_GPIO_420AC000_IRQ_0
#define DT_GPIO_IMX_PORT_5_IRQ_0_PRI	DT_NXP_IMX_GPIO_420AC000_IRQ_0_PRIORITY
#define DT_GPIO_IMX_PORT_5_IRQ_1		DT_NXP_IMX_GPIO_420AC000_IRQ_1
#define DT_GPIO_IMX_PORT_5_IRQ_1_PRI	DT_NXP_IMX_GPIO_420AC000_IRQ_1_PRIORITY

#define DT_GPIO_IMX_PORT_6_BASE_ADDRESS	DT_NXP_IMX_GPIO_420B0000_BASE_ADDRESS
#define DT_GPIO_IMX_PORT_6_NAME		DT_NXP_IMX_GPIO_420B0000_LABEL
#define DT_GPIO_IMX_PORT_6_IRQ_0		DT_NXP_IMX_GPIO_420B0000_IRQ_0
#define DT_GPIO_IMX_PORT_6_IRQ_0_PRI	DT_NXP_IMX_GPIO_420B0000_IRQ_0_PRIORITY
#define DT_GPIO_IMX_PORT_6_IRQ_1		DT_NXP_IMX_GPIO_420B0000_IRQ_1
#define DT_GPIO_IMX_PORT_6_IRQ_1_PRI	DT_NXP_IMX_GPIO_420B0000_IRQ_1_PRIORITY

#define DT_GPIO_IMX_PORT_7_BASE_ADDRESS	DT_NXP_IMX_GPIO_420B4000_BASE_ADDRESS
#define DT_GPIO_IMX_PORT_7_NAME		DT_NXP_IMX_GPIO_420B4000_LABEL
#define DT_GPIO_IMX_PORT_7_IRQ_0		DT_NXP_IMX_GPIO_420B4000_IRQ_0
#define DT_GPIO_IMX_PORT_7_IRQ_0_PRI	DT_NXP_IMX_GPIO_420B4000_IRQ_0_PRIORITY
#define DT_GPIO_IMX_PORT_7_IRQ_1		DT_NXP_IMX_GPIO_420B4000_IRQ_1
#define DT_GPIO_IMX_PORT_7_IRQ_1_PRI	DT_NXP_IMX_GPIO_420B4000_IRQ_1_PRIORITY

#define DT_UART_IMX_UART_1_BASE_ADDRESS	DT_NXP_IMX_UART_42020000_BASE_ADDRESS
#define DT_UART_IMX_UART_1_NAME		DT_NXP_IMX_UART_42020000_LABEL
#define DT_UART_IMX_UART_1_IRQ_NUM		DT_NXP_IMX_UART_42020000_IRQ_0
#define DT_UART_IMX_UART_1_IRQ_PRI		DT_NXP_IMX_UART_42020000_IRQ_0_PRIORITY
#define DT_UART_IMX_UART_1_BAUD_RATE	DT_NXP_IMX_UART_42020000_CURRENT_SPEED
#define DT_UART_IMX_UART_1_MODEM_MODE	DT_NXP_IMX_UART_42020000_MODEM_MODE

#define DT_UART_IMX_UART_2_BASE_ADDRESS	DT_NXP_IMX_UART_421E8000_BASE_ADDRESS
#define DT_UART_IMX_UART_2_NAME		DT_NXP_IMX_UART_421E8000_LABEL
#define DT_UART_IMX_UART_2_IRQ_NUM		DT_NXP_IMX_UART_421E8000_IRQ_0
#define DT_UART_IMX_UART_2_IRQ_PRI		DT_NXP_IMX_UART_421E8000_IRQ_0_PRIORITY
#define DT_UART_IMX_UART_2_BAUD_RATE	DT_NXP_IMX_UART_421E8000_CURRENT_SPEED
#define DT_UART_IMX_UART_2_MODEM_MODE	DT_NXP_IMX_UART_421E8000_MODEM_MODE

#define DT_UART_IMX_UART_3_BASE_ADDRESS	DT_NXP_IMX_UART_421EC000_BASE_ADDRESS
#define DT_UART_IMX_UART_3_NAME		DT_NXP_IMX_UART_421EC000_LABEL
#define DT_UART_IMX_UART_3_IRQ_NUM		DT_NXP_IMX_UART_421EC000_IRQ_0
#define DT_UART_IMX_UART_3_IRQ_PRI		DT_NXP_IMX_UART_421EC000_IRQ_0_PRIORITY
#define DT_UART_IMX_UART_3_BAUD_RATE	DT_NXP_IMX_UART_421EC000_CURRENT_SPEED
#define DT_UART_IMX_UART_3_MODEM_MODE	DT_NXP_IMX_UART_421EC000_MODEM_MODE

#define DT_UART_IMX_UART_4_BASE_ADDRESS	DT_NXP_IMX_UART_421F0000_BASE_ADDRESS
#define DT_UART_IMX_UART_4_NAME		DT_NXP_IMX_UART_421F0000_LABEL
#define DT_UART_IMX_UART_4_IRQ_NUM		DT_NXP_IMX_UART_421F0000_IRQ_0
#define DT_UART_IMX_UART_4_IRQ_PRI		DT_NXP_IMX_UART_421F0000_IRQ_0_PRIORITY
#define DT_UART_IMX_UART_4_BAUD_RATE	DT_NXP_IMX_UART_421F0000_CURRENT_SPEED
#define DT_UART_IMX_UART_4_MODEM_MODE	DT_NXP_IMX_UART_421F0000_MODEM_MODE

#define DT_UART_IMX_UART_5_BASE_ADDRESS	DT_NXP_IMX_UART_421F4000_BASE_ADDRESS
#define DT_UART_IMX_UART_5_NAME		DT_NXP_IMX_UART_421F4000_LABEL
#define DT_UART_IMX_UART_5_IRQ_NUM		DT_NXP_IMX_UART_421F4000_IRQ_0
#define DT_UART_IMX_UART_5_IRQ_PRI		DT_NXP_IMX_UART_421F4000_IRQ_0_PRIORITY
#define DT_UART_IMX_UART_5_BAUD_RATE	DT_NXP_IMX_UART_421F4000_CURRENT_SPEED
#define DT_UART_IMX_UART_5_MODEM_MODE	DT_NXP_IMX_UART_421F4000_MODEM_MODE

#define DT_UART_IMX_UART_6_BASE_ADDRESS	DT_NXP_IMX_UART_422A0000_BASE_ADDRESS
#define DT_UART_IMX_UART_6_NAME		DT_NXP_IMX_UART_422A0000_LABEL
#define DT_UART_IMX_UART_6_IRQ_NUM		DT_NXP_IMX_UART_422A0000_IRQ_0
#define DT_UART_IMX_UART_6_IRQ_PRI		DT_NXP_IMX_UART_422A0000_IRQ_0_PRIORITY
#define DT_UART_IMX_UART_6_BAUD_RATE	DT_NXP_IMX_UART_422A0000_CURRENT_SPEED
#define DT_UART_IMX_UART_6_MODEM_MODE	DT_NXP_IMX_UART_422A0000_MODEM_MODE

#define DT_IPM_IMX_MU_B_BASE_ADDRESS	DT_NXP_IMX_MU_4229C000_BASE_ADDRESS
#define DT_IPM_IMX_MU_B_IRQ			DT_NXP_IMX_MU_4229C000_IRQ_0
#define DT_IPM_IMX_MU_B_IRQ_PRI		DT_NXP_IMX_MU_4229C000_IRQ_0_PRIORITY
#define DT_IPM_IMX_MU_B_NAME			DT_NXP_IMX_MU_4229C000_LABEL

#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
