/* Copyright 2023 Dual Tachyon * https://github.com/DualTachyon * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef HARDWARE_DP32G030_UART_H #define HARDWARE_DP32G030_UART_H #if !defined(__ASSEMBLY__) #include #endif /* -------- UART0 -------- */ #define UART0_BASE_ADDR 0x4006B000U #define UART0_BASE_SIZE 0x00000800U #define UART0 ((volatile UART_Port_t *)UART0_BASE_ADDR) /* -------- UART1 -------- */ #define UART1_BASE_ADDR 0x4006B800U #define UART1_BASE_SIZE 0x00000800U #define UART1 ((volatile UART_Port_t *)UART1_BASE_ADDR) /* -------- UART2 -------- */ #define UART2_BASE_ADDR 0x4006C000U #define UART2_BASE_SIZE 0x00000800U #define UART2 ((volatile UART_Port_t *)UART2_BASE_ADDR) /* -------- UART -------- */ typedef struct { uint32_t CTRL; uint32_t BAUD; uint32_t TDR; uint32_t RDR; uint32_t IE; uint32_t IF; uint32_t FIFO; uint32_t FC; uint32_t RXTO; } UART_Port_t; #define UART_CTRL_UARTEN_SHIFT 0 #define UART_CTRL_UARTEN_WIDTH 1 #define UART_CTRL_UARTEN_MASK (((1U << UART_CTRL_UARTEN_WIDTH) - 1U) << UART_CTRL_UARTEN_SHIFT) #define UART_CTRL_UARTEN_VALUE_DISABLE 0U #define UART_CTRL_UARTEN_BITS_DISABLE (UART_CTRL_UARTEN_VALUE_DISABLE << UART_CTRL_UARTEN_SHIFT) #define UART_CTRL_UARTEN_VALUE_ENABLE 1U #define UART_CTRL_UARTEN_BITS_ENABLE (UART_CTRL_UARTEN_VALUE_ENABLE << UART_CTRL_UARTEN_SHIFT) #define UART_CTRL_RXEN_SHIFT 1 #define UART_CTRL_RXEN_WIDTH 1 #define UART_CTRL_RXEN_MASK (((1U << UART_CTRL_RXEN_WIDTH) - 1U) << UART_CTRL_RXEN_SHIFT) #define UART_CTRL_RXEN_VALUE_DISABLE 0U #define UART_CTRL_RXEN_BITS_DISABLE (UART_CTRL_RXEN_VALUE_DISABLE << UART_CTRL_RXEN_SHIFT) #define UART_CTRL_RXEN_VALUE_ENABLE 1U #define UART_CTRL_RXEN_BITS_ENABLE (UART_CTRL_RXEN_VALUE_ENABLE << UART_CTRL_RXEN_SHIFT) #define UART_CTRL_TXEN_SHIFT 2 #define UART_CTRL_TXEN_WIDTH 1 #define UART_CTRL_TXEN_MASK (((1U << UART_CTRL_TXEN_WIDTH) - 1U) << UART_CTRL_TXEN_SHIFT) #define UART_CTRL_TXEN_VALUE_DISABLE 0U #define UART_CTRL_TXEN_BITS_DISABLE (UART_CTRL_TXEN_VALUE_DISABLE << UART_CTRL_TXEN_SHIFT) #define UART_CTRL_TXEN_VALUE_ENABLE 1U #define UART_CTRL_TXEN_BITS_ENABLE (UART_CTRL_TXEN_VALUE_ENABLE << UART_CTRL_TXEN_SHIFT) #define UART_CTRL_RXDMAEN_SHIFT 3 #define UART_CTRL_RXDMAEN_WIDTH 1 #define UART_CTRL_RXDMAEN_MASK (((1U << UART_CTRL_RXDMAEN_WIDTH) - 1U) << UART_CTRL_RXDMAEN_SHIFT) #define UART_CTRL_RXDMAEN_VALUE_DISABLE 0U #define UART_CTRL_RXDMAEN_BITS_DISABLE (UART_CTRL_RXDMAEN_VALUE_DISABLE << UART_CTRL_RXDMAEN_SHIFT) #define UART_CTRL_RXDMAEN_VALUE_ENABLE 1U #define UART_CTRL_RXDMAEN_BITS_ENABLE (UART_CTRL_RXDMAEN_VALUE_ENABLE << UART_CTRL_RXDMAEN_SHIFT) #define UART_CTRL_TXDMAEN_SHIFT 4 #define UART_CTRL_TXDMAEN_WIDTH 1 #define UART_CTRL_TXDMAEN_MASK (((1U << UART_CTRL_TXDMAEN_WIDTH) - 1U) << UART_CTRL_TXDMAEN_SHIFT) #define UART_CTRL_TXDMAEN_VALUE_DISABLE 0U #define UART_CTRL_TXDMAEN_BITS_DISABLE (UART_CTRL_TXDMAEN_VALUE_DISABLE << UART_CTRL_TXDMAEN_SHIFT) #define UART_CTRL_TXDMAEN_VALUE_ENABLE 1U #define UART_CTRL_TXDMAEN_BITS_ENABLE (UART_CTRL_TXDMAEN_VALUE_ENABLE << UART_CTRL_TXDMAEN_SHIFT) #define UART_CTRL_NINEBIT_SHIFT 5 #define UART_CTRL_NINEBIT_WIDTH 1 #define UART_CTRL_NINEBIT_MASK (((1U << UART_CTRL_NINEBIT_WIDTH) - 1U) << UART_CTRL_NINEBIT_SHIFT) #define UART_CTRL_NINEBIT_VALUE_DISABLE 0U #define UART_CTRL_NINEBIT_BITS_DISABLE (UART_CTRL_NINEBIT_VALUE_DISABLE << UART_CTRL_NINEBIT_SHIFT) #define UART_CTRL_NINEBIT_VALUE_ENABLE 1U #define UART_CTRL_NINEBIT_BITS_ENABLE (UART_CTRL_NINEBIT_VALUE_ENABLE << UART_CTRL_NINEBIT_SHIFT) #define UART_CTRL_PAREN_SHIFT 6 #define UART_CTRL_PAREN_WIDTH 1 #define UART_CTRL_PAREN_MASK (((1U << UART_CTRL_PAREN_WIDTH) - 1U) << UART_CTRL_PAREN_SHIFT) #define UART_CTRL_PAREN_VALUE_DISABLE 0U #define UART_CTRL_PAREN_BITS_DISABLE (UART_CTRL_PAREN_VALUE_DISABLE << UART_CTRL_PAREN_SHIFT) #define UART_CTRL_PAREN_VALUE_ENABLE 1U #define UART_CTRL_PAREN_BITS_ENABLE (UART_CTRL_PAREN_VALUE_ENABLE << UART_CTRL_PAREN_SHIFT) #define UART_IE_TXDONE_SHIFT 2 #define UART_IE_TXDONE_WIDTH 1 #define UART_IE_TXDONE_MASK (((1U << UART_IE_TXDONE_WIDTH) - 1U) << UART_IE_TXDONE_SHIFT) #define UART_IE_TXDONE_VALUE_DISABLE 0U #define UART_IE_TXDONE_BITS_DISABLE (UART_IE_TXDONE_VALUE_DISABLE << UART_IE_TXDONE_SHIFT) #define UART_IE_TXDONE_VALUE_ENABLE 1U #define UART_IE_TXDONE_BITS_ENABLE (UART_IE_TXDONE_VALUE_ENABLE << UART_IE_TXDONE_SHIFT) #define UART_IE_PARITYE_SHIFT 3 #define UART_IE_PARITYE_WIDTH 1 #define UART_IE_PARITYE_MASK (((1U << UART_IE_PARITYE_WIDTH) - 1U) << UART_IE_PARITYE_SHIFT) #define UART_IE_PARITYE_VALUE_DISABLE 0U #define UART_IE_PARITYE_BITS_DISABLE (UART_IE_PARITYE_VALUE_DISABLE << UART_IE_PARITYE_SHIFT) #define UART_IE_PARITYE_VALUE_ENABLE 1U #define UART_IE_PARITYE_BITS_ENABLE (UART_IE_PARITYE_VALUE_ENABLE << UART_IE_PARITYE_SHIFT) #define UART_IE_STOPE_SHIFT 4 #define UART_IE_STOPE_WIDTH 1 #define UART_IE_STOPE_MASK (((1U << UART_IE_STOPE_WIDTH) - 1U) << UART_IE_STOPE_SHIFT) #define UART_IE_STOPE_VALUE_DISABLE 0U #define UART_IE_STOPE_BITS_DISABLE (UART_IE_STOPE_VALUE_DISABLE << UART_IE_STOPE_SHIFT) #define UART_IE_STOPE_VALUE_ENABLE 1U #define UART_IE_STOPE_BITS_ENABLE (UART_IE_STOPE_VALUE_ENABLE << UART_IE_STOPE_SHIFT) #define UART_IE_RXTO_SHIFT 5 #define UART_IE_RXTO_WIDTH 1 #define UART_IE_RXTO_MASK (((1U << UART_IE_RXTO_WIDTH) - 1U) << UART_IE_RXTO_SHIFT) #define UART_IE_RXTO_VALUE_DISABLE 0U #define UART_IE_RXTO_BITS_DISABLE (UART_IE_RXTO_VALUE_DISABLE << UART_IE_RXTO_SHIFT) #define UART_IE_RXTO_VALUE_ENABLE 1U #define UART_IE_RXTO_BITS_ENABLE (UART_IE_RXTO_VALUE_ENABLE << UART_IE_RXTO_SHIFT) #define UART_IE_RXFIFO_SHIFT 6 #define UART_IE_RXFIFO_WIDTH 1 #define UART_IE_RXFIFO_MASK (((1U << UART_IE_RXFIFO_WIDTH) - 1U) << UART_IE_RXFIFO_SHIFT) #define UART_IE_RXFIFO_VALUE_DISABLE 0U #define UART_IE_RXFIFO_BITS_DISABLE (UART_IE_RXFIFO_VALUE_DISABLE << UART_IE_RXFIFO_SHIFT) #define UART_IE_RXFIFO_VALUE_ENABLE 1U #define UART_IE_RXFIFO_BITS_ENABLE (UART_IE_RXFIFO_VALUE_ENABLE << UART_IE_RXFIFO_SHIFT) #define UART_IE_TXFIFO_SHIFT 7 #define UART_IE_TXFIFO_WIDTH 1 #define UART_IE_TXFIFO_MASK (((1U << UART_IE_TXFIFO_WIDTH) - 1U) << UART_IE_TXFIFO_SHIFT) #define UART_IE_TXFIFO_VALUE_DISABLE 0U #define UART_IE_TXFIFO_BITS_DISABLE (UART_IE_TXFIFO_VALUE_DISABLE << UART_IE_TXFIFO_SHIFT) #define UART_IE_TXFIFO_VALUE_ENABLE 1U #define UART_IE_TXFIFO_BITS_ENABLE (UART_IE_TXFIFO_VALUE_ENABLE << UART_IE_TXFIFO_SHIFT) #define UART_IE_RXFIFO_OVF_SHIFT 8 #define UART_IE_RXFIFO_OVF_WIDTH 1 #define UART_IE_RXFIFO_OVF_MASK (((1U << UART_IE_RXFIFO_OVF_WIDTH) - 1U) << UART_IE_RXFIFO_OVF_SHIFT) #define UART_IE_RXFIFO_OVF_VALUE_DISABLE 0U #define UART_IE_RXFIFO_OVF_BITS_DISABLE (UART_IE_RXFIFO_OVF_VALUE_DISABLE << UART_IE_RXFIFO_OVF_SHIFT) #define UART_IE_RXFIFO_OVF_VALUE_ENABLE 1U #define UART_IE_RXFIFO_OVF_BITS_ENABLE (UART_IE_RXFIFO_OVF_VALUE_ENABLE << UART_IE_RXFIFO_OVF_SHIFT) #define UART_IE_ABRD_OVF_SHIFT 9 #define UART_IE_ABRD_OVF_WIDTH 1 #define UART_IE_ABRD_OVF_MASK (((1U << UART_IE_ABRD_OVF_WIDTH) - 1U) << UART_IE_ABRD_OVF_SHIFT) #define UART_IE_ABRD_OVF_VALUE_DISABLE 0U #define UART_IE_ABRD_OVF_BITS_DISABLE (UART_IE_ABRD_OVF_VALUE_DISABLE << UART_IE_ABRD_OVF_SHIFT) #define UART_IE_ABRD_OVF_VALUE_ENABLE 1U #define UART_IE_ABRD_OVF_BITS_ENABLE (UART_IE_ABRD_OVF_VALUE_ENABLE << UART_IE_ABRD_OVF_SHIFT) #define UART_IF_TXDONE_SHIFT 2 #define UART_IF_TXDONE_WIDTH 1 #define UART_IF_TXDONE_MASK (((1U << UART_IF_TXDONE_WIDTH) - 1U) << UART_IF_TXDONE_SHIFT) #define UART_IF_TXDONE_VALUE_NOT_SET 0U #define UART_IF_TXDONE_BITS_NOT_SET (UART_IF_TXDONE_VALUE_NOT_SET << UART_IF_TXDONE_SHIFT) #define UART_IF_TXDONE_VALUE_SET 1U #define UART_IF_TXDONE_BITS_SET (UART_IF_TXDONE_VALUE_SET << UART_IF_TXDONE_SHIFT) #define UART_IF_PARITYE_SHIFT 3 #define UART_IF_PARITYE_WIDTH 1 #define UART_IF_PARITYE_MASK (((1U << UART_IF_PARITYE_WIDTH) - 1U) << UART_IF_PARITYE_SHIFT) #define UART_IF_PARITYE_VALUE_NOT_SET 0U #define UART_IF_PARITYE_BITS_NOT_SET (UART_IF_PARITYE_VALUE_NOT_SET << UART_IF_PARITYE_SHIFT) #define UART_IF_PARITYE_VALUE_SET 1U #define UART_IF_PARITYE_BITS_SET (UART_IF_PARITYE_VALUE_SET << UART_IF_PARITYE_SHIFT) #define UART_IF_STOPE_SHIFT 4 #define UART_IF_STOPE_WIDTH 1 #define UART_IF_STOPE_MASK (((1U << UART_IF_STOPE_WIDTH) - 1U) << UART_IF_STOPE_SHIFT) #define UART_IF_STOPE_VALUE_NOT_SET 0U #define UART_IF_STOPE_BITS_NOT_SET (UART_IF_STOPE_VALUE_NOT_SET << UART_IF_STOPE_SHIFT) #define UART_IF_STOPE_VALUE_SET 1U #define UART_IF_STOPE_BITS_SET (UART_IF_STOPE_VALUE_SET << UART_IF_STOPE_SHIFT) #define UART_IF_RXTO_SHIFT 5 #define UART_IF_RXTO_WIDTH 1 #define UART_IF_RXTO_MASK (((1U << UART_IF_RXTO_WIDTH) - 1U) << UART_IF_RXTO_SHIFT) #define UART_IF_RXTO_VALUE_NOT_SET 0U #define UART_IF_RXTO_BITS_NOT_SET (UART_IF_RXTO_VALUE_NOT_SET << UART_IF_RXTO_SHIFT) #define UART_IF_RXTO_VALUE_SET 1U #define UART_IF_RXTO_BITS_SET (UART_IF_RXTO_VALUE_SET << UART_IF_RXTO_SHIFT) #define UART_IF_RXFIFO_SHIFT 6 #define UART_IF_RXFIFO_WIDTH 1 #define UART_IF_RXFIFO_MASK (((1U << UART_IF_RXFIFO_WIDTH) - 1U) << UART_IF_RXFIFO_SHIFT) #define UART_IF_RXFIFO_VALUE_NOT_SET 0U #define UART_IF_RXFIFO_BITS_NOT_SET (UART_IF_RXFIFO_VALUE_NOT_SET << UART_IF_RXFIFO_SHIFT) #define UART_IF_RXFIFO_VALUE_SET 1U #define UART_IF_RXFIFO_BITS_SET (UART_IF_RXFIFO_VALUE_SET << UART_IF_RXFIFO_SHIFT) #define UART_IF_TXFIFO_SHIFT 7 #define UART_IF_TXFIFO_WIDTH 1 #define UART_IF_TXFIFO_MASK (((1U << UART_IF_TXFIFO_WIDTH) - 1U) << UART_IF_TXFIFO_SHIFT) #define UART_IF_TXFIFO_VALUE_NOT_SET 0U #define UART_IF_TXFIFO_BITS_NOT_SET (UART_IF_TXFIFO_VALUE_NOT_SET << UART_IF_TXFIFO_SHIFT) #define UART_IF_TXFIFO_VALUE_SET 1U #define UART_IF_TXFIFO_BITS_SET (UART_IF_TXFIFO_VALUE_SET << UART_IF_TXFIFO_SHIFT) #define UART_IF_RXFIFO_OVF_SHIFT 8 #define UART_IF_RXFIFO_OVF_WIDTH 1 #define UART_IF_RXFIFO_OVF_MASK (((1U << UART_IF_RXFIFO_OVF_WIDTH) - 1U) << UART_IF_RXFIFO_OVF_SHIFT) #define UART_IF_RXFIFO_OVF_VALUE_NOT_SET 0U #define UART_IF_RXFIFO_OVF_BITS_NOT_SET (UART_IF_RXFIFO_OVF_VALUE_NOT_SET << UART_IF_RXFIFO_OVF_SHIFT) #define UART_IF_RXFIFO_OVF_VALUE_SET 1U #define UART_IF_RXFIFO_OVF_BITS_SET (UART_IF_RXFIFO_OVF_VALUE_SET << UART_IF_RXFIFO_OVF_SHIFT) #define UART_IF_ABRD_OVF_SHIFT 9 #define UART_IF_ABRD_OVF_WIDTH 1 #define UART_IF_ABRD_OVF_MASK (((1U << UART_IF_ABRD_OVF_WIDTH) - 1U) << UART_IF_ABRD_OVF_SHIFT) #define UART_IF_ABRD_OVF_VALUE_NOT_SET 0U #define UART_IF_ABRD_OVF_BITS_NOT_SET (UART_IF_ABRD_OVF_VALUE_NOT_SET << UART_IF_ABRD_OVF_SHIFT) #define UART_IF_ABRD_OVF_VALUE_SET 1U #define UART_IF_ABRD_OVF_BITS_SET (UART_IF_ABRD_OVF_VALUE_SET << UART_IF_ABRD_OVF_SHIFT) #define UART_IF_RXFIFO_EMPTY_SHIFT 10 #define UART_IF_RXFIFO_EMPTY_WIDTH 1 #define UART_IF_RXFIFO_EMPTY_MASK (((1U << UART_IF_RXFIFO_EMPTY_WIDTH) - 1U) << UART_IF_RXFIFO_EMPTY_SHIFT) #define UART_IF_RXFIFO_EMPTY_VALUE_NOT_SET 0U #define UART_IF_RXFIFO_EMPTY_BITS_NOT_SET (UART_IF_RXFIFO_EMPTY_VALUE_NOT_SET << UART_IF_RXFIFO_EMPTY_SHIFT) #define UART_IF_RXFIFO_EMPTY_VALUE_SET 1U #define UART_IF_RXFIFO_EMPTY_BITS_SET (UART_IF_RXFIFO_EMPTY_VALUE_SET << UART_IF_RXFIFO_EMPTY_SHIFT) #define UART_IF_RXFIFO_FULL_SHIFT 11 #define UART_IF_RXFIFO_FULL_WIDTH 1 #define UART_IF_RXFIFO_FULL_MASK (((1U << UART_IF_RXFIFO_FULL_WIDTH) - 1U) << UART_IF_RXFIFO_FULL_SHIFT) #define UART_IF_RXFIFO_FULL_VALUE_NOT_SET 0U #define UART_IF_RXFIFO_FULL_BITS_NOT_SET (UART_IF_RXFIFO_FULL_VALUE_NOT_SET << UART_IF_RXFIFO_FULL_SHIFT) #define UART_IF_RXFIFO_FULL_VALUE_SET 1U #define UART_IF_RXFIFO_FULL_BITS_SET (UART_IF_RXFIFO_FULL_VALUE_SET << UART_IF_RXFIFO_FULL_SHIFT) #define UART_IF_RXFIFO_HFULL_SHIFT 12 #define UART_IF_RXFIFO_HFULL_WIDTH 1 #define UART_IF_RXFIFO_HFULL_MASK (((1U << UART_IF_RXFIFO_HFULL_WIDTH) - 1U) << UART_IF_RXFIFO_HFULL_SHIFT) #define UART_IF_RXFIFO_HFULL_VALUE_NOT_SET 0U #define UART_IF_RXFIFO_HFULL_BITS_NOT_SET (UART_IF_RXFIFO_HFULL_VALUE_NOT_SET << UART_IF_RXFIFO_HFULL_SHIFT) #define UART_IF_RXFIFO_HFULL_VALUE_SET 1U #define UART_IF_RXFIFO_HFULL_BITS_SET (UART_IF_RXFIFO_HFULL_VALUE_SET << UART_IF_RXFIFO_HFULL_SHIFT) #define UART_IF_TXFIFO_EMPTY_SHIFT 13 #define UART_IF_TXFIFO_EMPTY_WIDTH 1 #define UART_IF_TXFIFO_EMPTY_MASK (((1U << UART_IF_TXFIFO_EMPTY_WIDTH) - 1U) << UART_IF_TXFIFO_EMPTY_SHIFT) #define UART_IF_TXFIFO_EMPTY_VALUE_NOT_SET 0U #define UART_IF_TXFIFO_EMPTY_BITS_NOT_SET (UART_IF_TXFIFO_EMPTY_VALUE_NOT_SET << UART_IF_TXFIFO_EMPTY_SHIFT) #define UART_IF_TXFIFO_EMPTY_VALUE_SET 1U #define UART_IF_TXFIFO_EMPTY_BITS_SET (UART_IF_TXFIFO_EMPTY_VALUE_SET << UART_IF_TXFIFO_EMPTY_SHIFT) #define UART_IF_TXFIFO_FULL_SHIFT 14 #define UART_IF_TXFIFO_FULL_WIDTH 1 #define UART_IF_TXFIFO_FULL_MASK (((1U << UART_IF_TXFIFO_FULL_WIDTH) - 1U) << UART_IF_TXFIFO_FULL_SHIFT) #define UART_IF_TXFIFO_FULL_VALUE_NOT_SET 0U #define UART_IF_TXFIFO_FULL_BITS_NOT_SET (UART_IF_TXFIFO_FULL_VALUE_NOT_SET << UART_IF_TXFIFO_FULL_SHIFT) #define UART_IF_TXFIFO_FULL_VALUE_SET 1U #define UART_IF_TXFIFO_FULL_BITS_SET (UART_IF_TXFIFO_FULL_VALUE_SET << UART_IF_TXFIFO_FULL_SHIFT) #define UART_IF_TXFIFO_HFULL_SHIFT 15 #define UART_IF_TXFIFO_HFULL_WIDTH 1 #define UART_IF_TXFIFO_HFULL_MASK (((1U << UART_IF_TXFIFO_HFULL_WIDTH) - 1U) << UART_IF_TXFIFO_HFULL_SHIFT) #define UART_IF_TXFIFO_HFULL_VALUE_NOT_SET 0U #define UART_IF_TXFIFO_HFULL_BITS_NOT_SET (UART_IF_TXFIFO_HFULL_VALUE_NOT_SET << UART_IF_TXFIFO_HFULL_SHIFT) #define UART_IF_TXFIFO_HFULL_VALUE_SET 1U #define UART_IF_TXFIFO_HFULL_BITS_SET (UART_IF_TXFIFO_HFULL_VALUE_SET << UART_IF_TXFIFO_HFULL_SHIFT) #define UART_IF_TXBUSY_SHIFT 16 #define UART_IF_TXBUSY_WIDTH 1 #define UART_IF_TXBUSY_MASK (((1U << UART_IF_TXBUSY_WIDTH) - 1U) << UART_IF_TXBUSY_SHIFT) #define UART_IF_TXBUSY_VALUE_NOT_SET 0U #define UART_IF_TXBUSY_BITS_NOT_SET (UART_IF_TXBUSY_VALUE_NOT_SET << UART_IF_TXBUSY_SHIFT) #define UART_IF_TXBUSY_VALUE_SET 1U #define UART_IF_TXBUSY_BITS_SET (UART_IF_TXBUSY_VALUE_SET << UART_IF_TXBUSY_SHIFT) #define UART_IF_RF_LEVEL_SHIFT 17 #define UART_IF_RF_LEVEL_WIDTH 3 #define UART_IF_RF_LEVEL_MASK (((1U << UART_IF_RF_LEVEL_WIDTH) - 1U) << UART_IF_RF_LEVEL_SHIFT) #define UART_IF_RF_LEVEL_VALUE_0_8_BYTE 0U #define UART_IF_RF_LEVEL_BITS_0_8_BYTE (UART_IF_RF_LEVEL_VALUE_0_8_BYTE << UART_IF_RF_LEVEL_SHIFT) #define UART_IF_RF_LEVEL_VALUE_1_BYTE 1U #define UART_IF_RF_LEVEL_BITS_1_BYTE (UART_IF_RF_LEVEL_VALUE_1_BYTE << UART_IF_RF_LEVEL_SHIFT) #define UART_IF_RF_LEVEL_VALUE_2_BYTE 2U #define UART_IF_RF_LEVEL_BITS_2_BYTE (UART_IF_RF_LEVEL_VALUE_2_BYTE << UART_IF_RF_LEVEL_SHIFT) #define UART_IF_RF_LEVEL_VALUE_3_BYTE 3U #define UART_IF_RF_LEVEL_BITS_3_BYTE (UART_IF_RF_LEVEL_VALUE_3_BYTE << UART_IF_RF_LEVEL_SHIFT) #define UART_IF_RF_LEVEL_VALUE_4_BYTE 4U #define UART_IF_RF_LEVEL_BITS_4_BYTE (UART_IF_RF_LEVEL_VALUE_4_BYTE << UART_IF_RF_LEVEL_SHIFT) #define UART_IF_RF_LEVEL_VALUE_5_BYTE 5U #define UART_IF_RF_LEVEL_BITS_5_BYTE (UART_IF_RF_LEVEL_VALUE_5_BYTE << UART_IF_RF_LEVEL_SHIFT) #define UART_IF_RF_LEVEL_VALUE_6_BYTE 6U #define UART_IF_RF_LEVEL_BITS_6_BYTE (UART_IF_RF_LEVEL_VALUE_6_BYTE << UART_IF_RF_LEVEL_SHIFT) #define UART_IF_RF_LEVEL_VALUE_7_BYTE 7U #define UART_IF_RF_LEVEL_BITS_7_BYTE (UART_IF_RF_LEVEL_VALUE_7_BYTE << UART_IF_RF_LEVEL_SHIFT) #define UART_IF_TF_LEVEL_SHIFT 20 #define UART_IF_TF_LEVEL_WIDTH 3 #define UART_IF_TF_LEVEL_MASK (((1U << UART_IF_TF_LEVEL_WIDTH) - 1U) << UART_IF_TF_LEVEL_SHIFT) #define UART_IF_TF_LEVEL_VALUE_0_8_BYTE 0U #define UART_IF_TF_LEVEL_BITS_0_8_BYTE (UART_IF_TF_LEVEL_VALUE_0_8_BYTE << UART_IF_TF_LEVEL_SHIFT) #define UART_IF_TF_LEVEL_VALUE_1_BYTE 1U #define UART_IF_TF_LEVEL_BITS_1_BYTE (UART_IF_TF_LEVEL_VALUE_1_BYTE << UART_IF_TF_LEVEL_SHIFT) #define UART_IF_TF_LEVEL_VALUE_2_BYTE 2U #define UART_IF_TF_LEVEL_BITS_2_BYTE (UART_IF_TF_LEVEL_VALUE_2_BYTE << UART_IF_TF_LEVEL_SHIFT) #define UART_IF_TF_LEVEL_VALUE_3_BYTE 3U #define UART_IF_TF_LEVEL_BITS_3_BYTE (UART_IF_TF_LEVEL_VALUE_3_BYTE << UART_IF_TF_LEVEL_SHIFT) #define UART_IF_TF_LEVEL_VALUE_4_BYTE 4U #define UART_IF_TF_LEVEL_BITS_4_BYTE (UART_IF_TF_LEVEL_VALUE_4_BYTE << UART_IF_TF_LEVEL_SHIFT) #define UART_IF_TF_LEVEL_VALUE_5_BYTE 5U #define UART_IF_TF_LEVEL_BITS_5_BYTE (UART_IF_TF_LEVEL_VALUE_5_BYTE << UART_IF_TF_LEVEL_SHIFT) #define UART_IF_TF_LEVEL_VALUE_6_BYTE 6U #define UART_IF_TF_LEVEL_BITS_6_BYTE (UART_IF_TF_LEVEL_VALUE_6_BYTE << UART_IF_TF_LEVEL_SHIFT) #define UART_IF_TF_LEVEL_VALUE_7_BYTE 7U #define UART_IF_TF_LEVEL_BITS_7_BYTE (UART_IF_TF_LEVEL_VALUE_7_BYTE << UART_IF_TF_LEVEL_SHIFT) #define UART_FIFO_RF_LEVEL_SHIFT 0 #define UART_FIFO_RF_LEVEL_WIDTH 3 #define UART_FIFO_RF_LEVEL_MASK (((1U << UART_FIFO_RF_LEVEL_WIDTH) - 1U) << UART_FIFO_RF_LEVEL_SHIFT) #define UART_FIFO_RF_LEVEL_VALUE_1_BYTE 0U #define UART_FIFO_RF_LEVEL_BITS_1_BYTE (UART_FIFO_RF_LEVEL_VALUE_1_BYTE << UART_FIFO_RF_LEVEL_SHIFT) #define UART_FIFO_RF_LEVEL_VALUE_2_BYTE 1U #define UART_FIFO_RF_LEVEL_BITS_2_BYTE (UART_FIFO_RF_LEVEL_VALUE_2_BYTE << UART_FIFO_RF_LEVEL_SHIFT) #define UART_FIFO_RF_LEVEL_VALUE_3_BYTE 2U #define UART_FIFO_RF_LEVEL_BITS_3_BYTE (UART_FIFO_RF_LEVEL_VALUE_3_BYTE << UART_FIFO_RF_LEVEL_SHIFT) #define UART_FIFO_RF_LEVEL_VALUE_4_BYTE 3U #define UART_FIFO_RF_LEVEL_BITS_4_BYTE (UART_FIFO_RF_LEVEL_VALUE_4_BYTE << UART_FIFO_RF_LEVEL_SHIFT) #define UART_FIFO_RF_LEVEL_VALUE_5_BYTE 4U #define UART_FIFO_RF_LEVEL_BITS_5_BYTE (UART_FIFO_RF_LEVEL_VALUE_5_BYTE << UART_FIFO_RF_LEVEL_SHIFT) #define UART_FIFO_RF_LEVEL_VALUE_6_BYTE 5U #define UART_FIFO_RF_LEVEL_BITS_6_BYTE (UART_FIFO_RF_LEVEL_VALUE_6_BYTE << UART_FIFO_RF_LEVEL_SHIFT) #define UART_FIFO_RF_LEVEL_VALUE_7_BYTE 6U #define UART_FIFO_RF_LEVEL_BITS_7_BYTE (UART_FIFO_RF_LEVEL_VALUE_7_BYTE << UART_FIFO_RF_LEVEL_SHIFT) #define UART_FIFO_RF_LEVEL_VALUE_8_BYTE 7U #define UART_FIFO_RF_LEVEL_BITS_8_BYTE (UART_FIFO_RF_LEVEL_VALUE_8_BYTE << UART_FIFO_RF_LEVEL_SHIFT) #define UART_FIFO_TF_LEVEL_SHIFT 3 #define UART_FIFO_TF_LEVEL_WIDTH 3 #define UART_FIFO_TF_LEVEL_MASK (((1U << UART_FIFO_TF_LEVEL_WIDTH) - 1U) << UART_FIFO_TF_LEVEL_SHIFT) #define UART_FIFO_TF_LEVEL_VALUE_0_BYTE 0U #define UART_FIFO_TF_LEVEL_BITS_0_BYTE (UART_FIFO_TF_LEVEL_VALUE_0_BYTE << UART_FIFO_TF_LEVEL_SHIFT) #define UART_FIFO_TF_LEVEL_VALUE_1_BYTE 1U #define UART_FIFO_TF_LEVEL_BITS_1_BYTE (UART_FIFO_TF_LEVEL_VALUE_1_BYTE << UART_FIFO_TF_LEVEL_SHIFT) #define UART_FIFO_TF_LEVEL_VALUE_2_BYTE 2U #define UART_FIFO_TF_LEVEL_BITS_2_BYTE (UART_FIFO_TF_LEVEL_VALUE_2_BYTE << UART_FIFO_TF_LEVEL_SHIFT) #define UART_FIFO_TF_LEVEL_VALUE_3_BYTE 3U #define UART_FIFO_TF_LEVEL_BITS_3_BYTE (UART_FIFO_TF_LEVEL_VALUE_3_BYTE << UART_FIFO_TF_LEVEL_SHIFT) #define UART_FIFO_TF_LEVEL_VALUE_4_BYTE 4U #define UART_FIFO_TF_LEVEL_BITS_4_BYTE (UART_FIFO_TF_LEVEL_VALUE_4_BYTE << UART_FIFO_TF_LEVEL_SHIFT) #define UART_FIFO_TF_LEVEL_VALUE_5_BYTE 5U #define UART_FIFO_TF_LEVEL_BITS_5_BYTE (UART_FIFO_TF_LEVEL_VALUE_5_BYTE << UART_FIFO_TF_LEVEL_SHIFT) #define UART_FIFO_TF_LEVEL_VALUE_6_BYTE 6U #define UART_FIFO_TF_LEVEL_BITS_6_BYTE (UART_FIFO_TF_LEVEL_VALUE_6_BYTE << UART_FIFO_TF_LEVEL_SHIFT) #define UART_FIFO_TF_LEVEL_VALUE_7_BYTE 7U #define UART_FIFO_TF_LEVEL_BITS_7_BYTE (UART_FIFO_TF_LEVEL_VALUE_7_BYTE << UART_FIFO_TF_LEVEL_SHIFT) #define UART_FIFO_RF_CLR_SHIFT 6 #define UART_FIFO_RF_CLR_WIDTH 1 #define UART_FIFO_RF_CLR_MASK (((1U << UART_FIFO_RF_CLR_WIDTH) - 1U) << UART_FIFO_RF_CLR_SHIFT) #define UART_FIFO_RF_CLR_VALUE_DISABLE 0U #define UART_FIFO_RF_CLR_BITS_DISABLE (UART_FIFO_RF_CLR_VALUE_DISABLE << UART_FIFO_RF_CLR_SHIFT) #define UART_FIFO_RF_CLR_VALUE_ENABLE 1U #define UART_FIFO_RF_CLR_BITS_ENABLE (UART_FIFO_RF_CLR_VALUE_ENABLE << UART_FIFO_RF_CLR_SHIFT) #define UART_FIFO_TF_CLR_SHIFT 7 #define UART_FIFO_TF_CLR_WIDTH 1 #define UART_FIFO_TF_CLR_MASK (((1U << UART_FIFO_TF_CLR_WIDTH) - 1U) << UART_FIFO_TF_CLR_SHIFT) #define UART_FIFO_TF_CLR_VALUE_DISABLE 0U #define UART_FIFO_TF_CLR_BITS_DISABLE (UART_FIFO_TF_CLR_VALUE_DISABLE << UART_FIFO_TF_CLR_SHIFT) #define UART_FIFO_TF_CLR_VALUE_ENABLE 1U #define UART_FIFO_TF_CLR_BITS_ENABLE (UART_FIFO_TF_CLR_VALUE_ENABLE << UART_FIFO_TF_CLR_SHIFT) #define UART_FC_CTSEN_SHIFT 0 #define UART_FC_CTSEN_WIDTH 1 #define UART_FC_CTSEN_MASK (((1U << UART_FC_CTSEN_WIDTH) - 1U) << UART_FC_CTSEN_SHIFT) #define UART_FC_CTSEN_VALUE_DISABLE 0U #define UART_FC_CTSEN_BITS_DISABLE (UART_FC_CTSEN_VALUE_DISABLE << UART_FC_CTSEN_SHIFT) #define UART_FC_CTSEN_VALUE_ENABLE 1U #define UART_FC_CTSEN_BITS_ENABLE (UART_FC_CTSEN_VALUE_ENABLE << UART_FC_CTSEN_SHIFT) #define UART_FC_RTSEN_SHIFT 1 #define UART_FC_RTSEN_WIDTH 1 #define UART_FC_RTSEN_MASK (((1U << UART_FC_RTSEN_WIDTH) - 1U) << UART_FC_RTSEN_SHIFT) #define UART_FC_RTSEN_VALUE_DISABLE 0U #define UART_FC_RTSEN_BITS_DISABLE (UART_FC_RTSEN_VALUE_DISABLE << UART_FC_RTSEN_SHIFT) #define UART_FC_RTSEN_VALUE_ENABLE 1U #define UART_FC_RTSEN_BITS_ENABLE (UART_FC_RTSEN_VALUE_ENABLE << UART_FC_RTSEN_SHIFT) #define UART_FC_CTSPOL_SHIFT 2 #define UART_FC_CTSPOL_WIDTH 1 #define UART_FC_CTSPOL_MASK (((1U << UART_FC_CTSPOL_WIDTH) - 1U) << UART_FC_CTSPOL_SHIFT) #define UART_FC_CTSPOL_VALUE_LOW 0U #define UART_FC_CTSPOL_BITS_LOW (UART_FC_CTSPOL_VALUE_LOW << UART_FC_CTSPOL_SHIFT) #define UART_FC_CTSPOL_VALUE_HIGH 1U #define UART_FC_CTSPOL_BITS_HIGH (UART_FC_CTSPOL_VALUE_HIGH << UART_FC_CTSPOL_SHIFT) #define UART_FC_RTSPOL_SHIFT 3 #define UART_FC_RTSPOL_WIDTH 1 #define UART_FC_RTSPOL_MASK (((1U << UART_FC_RTSPOL_WIDTH) - 1U) << UART_FC_RTSPOL_SHIFT) #define UART_FC_RTSPOL_VALUE_LOW 0U #define UART_FC_RTSPOL_BITS_LOW (UART_FC_RTSPOL_VALUE_LOW << UART_FC_RTSPOL_SHIFT) #define UART_FC_RTSPOL_VALUE_HIGH 1U #define UART_FC_RTSPOL_BITS_HIGH (UART_FC_RTSPOL_VALUE_HIGH << UART_FC_RTSPOL_SHIFT) #define UART_FC_CTS_SIGNAL_SHIFT 4 #define UART_FC_CTS_SIGNAL_WIDTH 1 #define UART_FC_CTS_SIGNAL_MASK (((1U << UART_FC_CTS_SIGNAL_WIDTH) - 1U) << UART_FC_CTS_SIGNAL_SHIFT) #define UART_FC_CTS_SIGNAL_VALUE_LOW 0U #define UART_FC_CTS_SIGNAL_BITS_LOW (UART_FC_CTS_SIGNAL_VALUE_LOW << UART_FC_CTS_SIGNAL_SHIFT) #define UART_FC_CTS_SIGNAL_VALUE_HIGH 1U #define UART_FC_CTS_SIGNAL_BITS_HIGH (UART_FC_CTS_SIGNAL_VALUE_HIGH << UART_FC_CTS_SIGNAL_SHIFT) #define UART_FC_RTS_SIGNAL_SHIFT 5 #define UART_FC_RTS_SIGNAL_WIDTH 1 #define UART_FC_RTS_SIGNAL_MASK (((1U << UART_FC_RTS_SIGNAL_WIDTH) - 1U) << UART_FC_RTS_SIGNAL_SHIFT) #define UART_FC_RTS_SIGNAL_VALUE_LOW 0U #define UART_FC_RTS_SIGNAL_BITS_LOW (UART_FC_RTS_SIGNAL_VALUE_LOW << UART_FC_RTS_SIGNAL_SHIFT) #define UART_FC_RTS_SIGNAL_VALUE_HIGH 1U #define UART_FC_RTS_SIGNAL_BITS_HIGH (UART_FC_RTS_SIGNAL_VALUE_HIGH << UART_FC_RTS_SIGNAL_SHIFT) #endif