addrmap MAX32650_UART {

addrmap {
    desc = "Generated by RenodeModelsAnalyzer";
    reg {
        name="Control0";
        regwidth=0x20;
            field {
                sw = rw;
            } CTRL1_ENABLE[0:0];
            field {
                sw = rw;
            } CTRL1_PARITY_EN[1:1];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } CTRL1_PARITY_MODE[3:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CTRL1_PARITY_LVL[4:4];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = rw;
            } CTRL1_TX_FLUSH[5:5];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } CTRL1_RX_FLUSH[6:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CTRL1_BITACC[7:7];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } CTRL1_SIZE[9:8];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } CTRL1_STOP[10:10];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CTRL1_FLOW[11:11];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CTRL1_FLOWPOL[12:12];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CTRL1_NULLMOD[13:13];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CTRL1_BREAK[14:14];
            field {
                sw = rw;
            } CTRL1_CLK_SEL[15:15];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CTRL1_TIMEOUT_CNT[23:16];
    } Control0 @ 0x0;
    reg {
        name="Control1";
        regwidth=0x20;
            field {
                sw = rw;
            } CTRL2_RX_FIFO_LVL[5:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CTRL2_TX_FIFO_LVL[13:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CTRL2_RTS_FIFO_LVL[21:16];
    } Control1 @ 0x4;
    reg {
        name="Status";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } STAT_TX_BUSY[0:0];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } STAT_RX_BUSY[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } STAT_PARITY[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } STAT_BREAK[3:3];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
                reset=1'b1;
            } STAT_RX_EMPTY[4:4];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } STAT_RX_FULL[5:5];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
                reset=1'b1;
            } STAT_TX_EMPTY[6:6];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } STAT_TX_FULL[7:7];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } STAT_RX_NUM[13:8];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } STAT_TX_NUM[21:16];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } STAT_RX_TIMEOUT[24:24];
    } Status @ 0x8;
    reg {
        name="InterruptEnable";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x20;
            field {
                sw = rw;
            } INT_EN_RX_FRAME_ERROR[0:0];
            field {
                sw = rw;
            } INT_EN_RX_PARITY_ERROR[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } INT_EN_CTS[2:2];
            field {
                sw = rw;
            } INT_EN_RX_OVERRUN[3:3];
            field {
                sw = rw;
            } INT_EN_RX_FIFO_LVL[4:4];
            field {
                sw = rw;
            } INT_EN_TX_FIFO_AE[5:5];
            field {
                sw = rw;
            } INT_EN_TX_FIFO_LVL[6:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } INT_EN_BREAK[7:7];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } INT_EN_RX_TIMEOUT[8:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } INT_EN_LASTBREAK[9:9];
    } InterruptEnable @ 0xc;
    reg {
        name="InterruptFlags";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } INT_FL_FRAME[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } INT_FL_PARITY[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } INT_FL_CTS[2:2];
            field {
                sw = rw;
                onwrite = woclr;
            } INT_FL_RX_OVERRUN[3:3];
            field {
                sw = rw;
                onwrite = woclr;
            } INT_FL_RX_FIFO_LVL[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } INT_FL_TX_FIFO_AE[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } INT_FL_TX_FIFO_LVL[6:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } INT_FL_BREAK[7:7];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } INT_FL_RX_TIMEOUT[8:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } INT_FL_LASTBREAK[9:9];
    } InterruptFlags @ 0x10;
    reg {
        name="BaudInteger";
        regwidth=0x20;
            field {
                sw = rw;
            } BAUD0_IBAUD[11:0];
            field {
                sw = rw;
            } BAUD0_CLKDIV[18:16];
    } BaudInteger @ 0x14;
    reg {
        name="BaudDecimal";
        regwidth=0x20;
            field {
                sw = rw;
            } BAUD1_DBAUD[6:0];
    } BaudDecimal @ 0x18;
    reg {
        name="FIFO";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } FIFO_FIFO[7:0];
    } FIFO @ 0x1c;
    reg {
        name="DMA";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } DMA_TXDMA_EN[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } DMA_RXDMA_EN[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } DMA_TXDMA_LVL[13:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } DMA_RXDMA_LVL[21:16];
    } DMA @ 0x20;
    reg {
        name="TxFIFO";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } TXFIFO_DATA[7:0];
    } TxFIFO @ 0x24;
} Registers_addrmap;


};