/*
 * Copyright (c) 2018, Diego Sueiro <diego.sueiro@gmail.com>
 *
 * 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_GPIO_IMX_PORT_1_NAME		   DT_NXP_IMX_GPIO_30200000_LABEL
#define DT_GPIO_IMX_PORT_1_BASE_ADDRESS    DT_NXP_IMX_GPIO_30200000_BASE_ADDRESS
#define DT_GPIO_IMX_PORT_1_IRQ_0	   DT_NXP_IMX_GPIO_30200000_IRQ_0
#define DT_GPIO_IMX_PORT_1_IRQ_0_PRI	   DT_NXP_IMX_GPIO_30200000_IRQ_0_PRIORITY
#define DT_GPIO_IMX_PORT_1_IRQ_1	   DT_NXP_IMX_GPIO_30200000_IRQ_1
#define DT_GPIO_IMX_PORT_1_IRQ_1_PRI	   DT_NXP_IMX_GPIO_30200000_IRQ_1_PRIORITY

#define DT_GPIO_IMX_PORT_2_NAME		   DT_NXP_IMX_GPIO_30210000_LABEL
#define DT_GPIO_IMX_PORT_2_BASE_ADDRESS    DT_NXP_IMX_GPIO_30210000_BASE_ADDRESS
#define DT_GPIO_IMX_PORT_2_IRQ_0	   DT_NXP_IMX_GPIO_30210000_IRQ_0
#define DT_GPIO_IMX_PORT_2_IRQ_0_PRI	   DT_NXP_IMX_GPIO_30210000_IRQ_0_PRIORITY
#define DT_GPIO_IMX_PORT_2_IRQ_1	   DT_NXP_IMX_GPIO_30210000_IRQ_1
#define DT_GPIO_IMX_PORT_2_IRQ_1_PRI	   DT_NXP_IMX_GPIO_30210000_IRQ_1_PRIORITY

#define DT_GPIO_IMX_PORT_3_NAME		   DT_NXP_IMX_GPIO_30220000_LABEL
#define DT_GPIO_IMX_PORT_3_BASE_ADDRESS    DT_NXP_IMX_GPIO_30220000_BASE_ADDRESS
#define DT_GPIO_IMX_PORT_3_IRQ_0	   DT_NXP_IMX_GPIO_30220000_IRQ_0
#define DT_GPIO_IMX_PORT_3_IRQ_0_PRI	   DT_NXP_IMX_GPIO_30220000_IRQ_0_PRIORITY
#define DT_GPIO_IMX_PORT_3_IRQ_1	   DT_NXP_IMX_GPIO_30220000_IRQ_1
#define DT_GPIO_IMX_PORT_3_IRQ_1_PRI	   DT_NXP_IMX_GPIO_30220000_IRQ_1_PRIORITY

#define DT_GPIO_IMX_PORT_4_NAME		   DT_NXP_IMX_GPIO_30230000_LABEL
#define DT_GPIO_IMX_PORT_4_BASE_ADDRESS    DT_NXP_IMX_GPIO_30230000_BASE_ADDRESS
#define DT_GPIO_IMX_PORT_4_IRQ_0	   DT_NXP_IMX_GPIO_30230000_IRQ_0
#define DT_GPIO_IMX_PORT_4_IRQ_0_PRI	   DT_NXP_IMX_GPIO_30230000_IRQ_0_PRIORITY
#define DT_GPIO_IMX_PORT_4_IRQ_1	   DT_NXP_IMX_GPIO_30230000_IRQ_1
#define DT_GPIO_IMX_PORT_4_IRQ_1_PRI	   DT_NXP_IMX_GPIO_30230000_IRQ_1_PRIORITY

#define DT_GPIO_IMX_PORT_5_NAME		   DT_NXP_IMX_GPIO_30240000_LABEL
#define DT_GPIO_IMX_PORT_5_BASE_ADDRESS    DT_NXP_IMX_GPIO_30240000_BASE_ADDRESS
#define DT_GPIO_IMX_PORT_5_IRQ_0	   DT_NXP_IMX_GPIO_30240000_IRQ_0
#define DT_GPIO_IMX_PORT_5_IRQ_0_PRI	   DT_NXP_IMX_GPIO_30240000_IRQ_0_PRIORITY
#define DT_GPIO_IMX_PORT_5_IRQ_1	   DT_NXP_IMX_GPIO_30240000_IRQ_1
#define DT_GPIO_IMX_PORT_5_IRQ_1_PRI	   DT_NXP_IMX_GPIO_30240000_IRQ_1_PRIORITY

#define DT_GPIO_IMX_PORT_6_NAME		   DT_NXP_IMX_GPIO_30250000_LABEL
#define DT_GPIO_IMX_PORT_6_BASE_ADDRESS    DT_NXP_IMX_GPIO_30250000_BASE_ADDRESS
#define DT_GPIO_IMX_PORT_6_IRQ_0	   DT_NXP_IMX_GPIO_30250000_IRQ_0
#define DT_GPIO_IMX_PORT_6_IRQ_0_PRI	   DT_NXP_IMX_GPIO_30250000_IRQ_0_PRIORITY
#define DT_GPIO_IMX_PORT_6_IRQ_1	   DT_NXP_IMX_GPIO_30250000_IRQ_1
#define DT_GPIO_IMX_PORT_6_IRQ_1_PRI	   DT_NXP_IMX_GPIO_30250000_IRQ_1_PRIORITY

#define DT_GPIO_IMX_PORT_7_NAME		   DT_NXP_IMX_GPIO_30260000_LABEL
#define DT_GPIO_IMX_PORT_7_BASE_ADDRESS    DT_NXP_IMX_GPIO_30260000_BASE_ADDRESS
#define DT_GPIO_IMX_PORT_7_IRQ_0	   DT_NXP_IMX_GPIO_30260000_IRQ_0
#define DT_GPIO_IMX_PORT_7_IRQ_0_PRI	   DT_NXP_IMX_GPIO_30260000_IRQ_0_PRIORITY
#define DT_GPIO_IMX_PORT_7_IRQ_1	   DT_NXP_IMX_GPIO_30260000_IRQ_1
#define DT_GPIO_IMX_PORT_7_IRQ_1_PRI	   DT_NXP_IMX_GPIO_30260000_IRQ_1_PRIORITY


#define DT_UART_IMX_UART_1_NAME		DT_NXP_IMX_UART_30860000_LABEL
#define DT_UART_IMX_UART_1_BASE_ADDRESS DT_NXP_IMX_UART_30860000_BASE_ADDRESS
#define DT_UART_IMX_UART_1_BAUD_RATE	DT_NXP_IMX_UART_30860000_CURRENT_SPEED
#define DT_UART_IMX_UART_1_IRQ_NUM	DT_NXP_IMX_UART_30860000_IRQ_0
#define DT_UART_IMX_UART_1_IRQ_PRI	DT_NXP_IMX_UART_30860000_IRQ_0_PRIORITY
#define DT_UART_IMX_UART_1_MODEM_MODE	DT_NXP_IMX_UART_30860000_MODEM_MODE

#define DT_UART_IMX_UART_2_NAME		DT_NXP_IMX_UART_30890000_LABEL
#define DT_UART_IMX_UART_2_BASE_ADDRESS DT_NXP_IMX_UART_30890000_BASE_ADDRESS
#define DT_UART_IMX_UART_2_BAUD_RATE	DT_NXP_IMX_UART_30890000_CURRENT_SPEED
#define DT_UART_IMX_UART_2_IRQ_NUM	DT_NXP_IMX_UART_30890000_IRQ_0
#define DT_UART_IMX_UART_2_IRQ_PRI	DT_NXP_IMX_UART_30890000_IRQ_0_PRIORITY
#define DT_UART_IMX_UART_2_MODEM_MODE	DT_NXP_IMX_UART_30890000_MODEM_MODE

#define DT_UART_IMX_UART_3_NAME		DT_NXP_IMX_UART_30880000_LABEL
#define DT_UART_IMX_UART_3_BASE_ADDRESS DT_NXP_IMX_UART_30880000_BASE_ADDRESS
#define DT_UART_IMX_UART_3_BAUD_RATE	DT_NXP_IMX_UART_30880000_CURRENT_SPEED
#define DT_UART_IMX_UART_3_IRQ_NUM	DT_NXP_IMX_UART_30880000_IRQ_0
#define DT_UART_IMX_UART_3_IRQ_PRI	DT_NXP_IMX_UART_30880000_IRQ_0_PRIORITY
#define DT_UART_IMX_UART_3_MODEM_MODE	DT_NXP_IMX_UART_30880000_MODEM_MODE

#define DT_UART_IMX_UART_4_NAME		DT_NXP_IMX_UART_30A60000_LABEL
#define DT_UART_IMX_UART_4_BASE_ADDRESS DT_NXP_IMX_UART_30A60000_BASE_ADDRESS
#define DT_UART_IMX_UART_4_BAUD_RATE	DT_NXP_IMX_UART_30A60000_CURRENT_SPEED
#define DT_UART_IMX_UART_4_IRQ_NUM	DT_NXP_IMX_UART_30A60000_IRQ_0
#define DT_UART_IMX_UART_4_IRQ_PRI	DT_NXP_IMX_UART_30A60000_IRQ_0_PRIORITY
#define DT_UART_IMX_UART_4_MODEM_MODE	DT_NXP_IMX_UART_30A60000_MODEM_MODE

#define DT_UART_IMX_UART_5_NAME		DT_NXP_IMX_UART_30A70000_LABEL
#define DT_UART_IMX_UART_5_BASE_ADDRESS DT_NXP_IMX_UART_30A70000_BASE_ADDRESS
#define DT_UART_IMX_UART_5_BAUD_RATE	DT_NXP_IMX_UART_30A70000_CURRENT_SPEED
#define DT_UART_IMX_UART_5_IRQ_NUM	DT_NXP_IMX_UART_30A70000_IRQ_0
#define DT_UART_IMX_UART_5_IRQ_PRI	DT_NXP_IMX_UART_30A70000_IRQ_0_PRIORITY
#define DT_UART_IMX_UART_5_MODEM_MODE	DT_NXP_IMX_UART_30A70000_MODEM_MODE

#define DT_UART_IMX_UART_6_NAME		DT_NXP_IMX_UART_30A80000_LABEL
#define DT_UART_IMX_UART_6_BASE_ADDRESS DT_NXP_IMX_UART_30A80000_BASE_ADDRESS
#define DT_UART_IMX_UART_6_BAUD_RATE	DT_NXP_IMX_UART_30A80000_CURRENT_SPEED
#define DT_UART_IMX_UART_6_IRQ_NUM	DT_NXP_IMX_UART_30A80000_IRQ_0
#define DT_UART_IMX_UART_6_IRQ_PRI	DT_NXP_IMX_UART_30A80000_IRQ_0_PRIORITY
#define DT_UART_IMX_UART_6_MODEM_MODE	DT_NXP_IMX_UART_30A80000_MODEM_MODE

#define DT_UART_IMX_UART_7_NAME		DT_NXP_IMX_UART_30A90000_LABEL
#define DT_UART_IMX_UART_7_BASE_ADDRESS DT_NXP_IMX_UART_30A90000_BASE_ADDRESS
#define DT_UART_IMX_UART_7_BAUD_RATE	DT_NXP_IMX_UART_30A90000_CURRENT_SPEED
#define DT_UART_IMX_UART_7_IRQ_NUM	DT_NXP_IMX_UART_30A90000_IRQ_0
#define DT_UART_IMX_UART_7_IRQ_PRI	DT_NXP_IMX_UART_30A90000_IRQ_0_PRIORITY
#define DT_UART_IMX_UART_7_MODEM_MODE	DT_NXP_IMX_UART_30A90000_MODEM_MODE

#define DT_IPM_IMX_MU_B_BASE_ADDRESS	DT_NXP_IMX_MU_30AB0000_BASE_ADDRESS
#define DT_IPM_IMX_MU_B_IRQ		DT_NXP_IMX_MU_30AB0000_IRQ_0
#define DT_IPM_IMX_MU_B_IRQ_PRI		DT_NXP_IMX_MU_30AB0000_IRQ_0_PRIORITY
#define DT_IPM_IMX_MU_B_NAME		DT_NXP_IMX_MU_30AB0000_LABEL

/* End of SoC Level DTS fixup file */
