addrmap MAX32655_UART {

addrmap {
    desc = "Generated by RenodeModelsAnalyzer";
    reg {
        name="Control";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Change.";
                sw = rw;
            } rx_thd_val[3:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } par_en[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } par_eo[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } par_md[6:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } cts_dis[7:7];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } tx_flush[8:8];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } rx_flush[9:9];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } char_size[11:10];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } stopbits[12:12];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } hfc_en[13:13];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } rtsdc[14:14];
            field {
                sw = rw;
            } bclken[15:15];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } bclksrc[17:16];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } dpfe_en[18:18];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } bclkrdy[19:19];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } ucagm[20:20];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } fdm[21:21];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } desm[22:22];
    } Control @ 0x0;
    reg {
        name="Status";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } tx_busy[0:0];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } rx_busy[1:1];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } rx_em[4:4];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } rx_full[5:5];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } tx_em[6:6];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } tx_full[7:7];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } rx_lvl[11:8];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } tx_lvl[15:12];
    } Status @ 0x4;
    reg {
        name="InterruptEnable";
        desc = "This register has the following custom Renode callbacks: Change";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } rx_ferr[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } rx_par[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } cts_ev[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } rx_ov[3:3];
            field {
                sw = rw;
            } rx_thd[4:4];
            field {
                sw = rw;
            } tx_he[6:6];
    } InterruptEnable @ 0x8;
    reg {
        name="InterruptFlag";
        desc = "This register has the following custom Renode callbacks: Change";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } rx_ferr[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } rx_par[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } cts_ev[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } rx_ov[3:3];
            field {
                sw = rw;
                onwrite = woclr;
            } rx_thd[4:4];
            field {
                sw = rw;
                onwrite = woclr;
            } tx_he[6:6];
    } InterruptFlag @ 0xc;
    reg {
        name="ClockDivisor";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } clkdiv[19:0];
    } ClockDivisor @ 0x10;
    reg {
        name="OversamplingControl";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } osr[2:0];
    } OversamplingControl @ 0x14;
    reg {
        name="TransmitFifo";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } data[7:0];
    } TransmitFifo @ 0x18;
    reg {
        name="PinControl";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } cts[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } rts[1:1];
    } PinControl @ 0x1c;
    reg {
        name="FifoData";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } data[7:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } rx_par[8:8];
    } FifoData @ 0x20;
    reg {
        name="DmaControl";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } tx_thd_val[3:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } tx_en[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } rx_thd_val[8:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } rx_en[9:9];
    } DmaControl @ 0x30;
    reg {
        name="WakeupInterruptEnable";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } rx_ne[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } rx_full[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } rx_thd[2:2];
    } WakeupInterruptEnable @ 0x34;
    reg {
        name="WakeupInterruptFlag";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } rx_ne[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } rx_full[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } rx_thd[2:2];
    } WakeupInterruptFlag @ 0x38;
} Registers_addrmap;


};