addrmap STM32_UART {

addrmap {
    desc = "Generated by RenodeModelsAnalyzer";
    reg {
        name="Status";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PE[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } FE[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } NF[2:2];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } ORE[3:3];
            field {
                sw = r;
            } IDLE[4:4];
            field {
                sw = rw;
                onwrite = wzc;
            } RXNE[5:5];
            field {
                sw = rw;
                onwrite = wzc;
                reset=1'b1;
            } TC[6:6];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
                reset=1'b1;
            } TXE[7:7];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } LBD[8:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CTS[9:9];
    } USART_SR @ 0x0;
    reg {
        name="Data";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } DR[8:0];
    } USART_DR @ 0x4;
    reg {
        name="BaudRate";
        regwidth=0x20;
            field {
                sw = rw;
            } DIV_Fraction[3:0];
            field {
                sw = rw;
            } DIV_Mantissa[15:4];
    } USART_BRR @ 0x8;
    reg {
        name="Control1";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SBK[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } RWU[1:1];
            field {
                sw = rw;
            } RE[2:2];
            field {
                sw = rw;
            } TE[3:3];
            field {
                sw = rw;
            } IDLEIE[4:4];
            field {
                sw = rw;
            } RXNEIE[5:5];
            field {
                sw = rw;
            } TCIE[6:6];
            field {
                sw = rw;
            } TXEIE[7:7];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PEIE[8:8];
            field {
                sw = rw;
            } PS[9:9];
            field {
                sw = rw;
            } PCE[10:10];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } WAKE[11:11];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } M[12:12];
            field {
                sw = rw;
            } UE[13:13];
            field {
                sw = rw;
            } OVER8[15:15];
    } USART_CR1 @ 0xc;
    reg {
        name="Control2";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } ADD[3:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } LBDIE[6:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } LBCL[8:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CPHA[9:9];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CPOL[10:10];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CLKEN[11:11];
            field {
                sw = rw;
            } STOP[13:12];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } LINEN[14:14];
    } USART_CR2 @ 0x10;
    reg {
        name="Control3";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } EIE[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } IREN[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } IRLP[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } HDSEL[3:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } NACK[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SCEN[5:5];
            field {
                sw = rw;
            } DMAR[6:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } DMAT[7:7];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } RTSE[8:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CTSE[9:9];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CTSIE[10:10];
    } USART_CR3 @ 0x14;
    reg {
        name="GuardTimeAndPrescaler";
        desc = "Could not determine register's width, guessed 8 bits.";
        regwidth=0x8;
            field {
                desc = "This is a dummy r/w field, generated just to show the register in specs";
                sw = rw;
            } DUMMY[7:0];
    } GuardTimeAndPrescaler @ 0x18;
} Register_addrmap;


};