/* This file is a temporary workaround for mapping of the generated information
 * to the current driver definitions.  This will be removed when the drivers
 * are modified to handle the generated information, or the mapping of
 * generated data matches the driver definitions.
 */

#define CONFIG_NUM_IRQ_PRIO_BITS               ARM_V7M_NVIC_E000E100_ARM_NUM_IRQ_PRIORITY_BITS

#define CONFIG_UART_MSP432P4XX_NAME            TI_MSP432P4XX_UART_40001000_LABEL
#define CONFIG_UART_MSP432P4XX_BASE_ADDRESS    TI_MSP432P4XX_UART_40001000_BASE_ADDRESS
#define CONFIG_UART_MSP432P4XX_BAUD_RATE       TI_MSP432P4XX_UART_40001000_CURRENT_SPEED

