addrmap NPCX_UART {

addrmap {
    desc = "Generated by RenodeModelsAnalyzer";
    reg {
        name="TransmitBuffer";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x8;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } UTBUF[7:0];
    } TransmitBuffer @ 0x0;
    reg {
        name="ReceiveBuffer";
        desc = "This register has the following custom Renode callbacks: Read";
        regwidth=0x8;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } URBUF[7:0];
    } ReceiveBuffer @ 0x2;
    reg {
        name="Status";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } BKD_Break_Detect[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } DOE_Data_Overrun_Error[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } FE_Framing_Error[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PE_Parity_Error[0:0];
    } Status @ 0x6;
    reg {
        name="FrameSelect";
        regwidth=0x8;
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } PEN_Parity_Enable[6:6];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } PSEL_Parity_Select[5:4];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } STP_Stop_Bits[2:2];
    } FrameSelect @ 0x8;
    reg {
        name="ModeSelect";
        regwidth=0x8;
            field {
                sw = rw;
            } ERD_Enable_Receive_DMA[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } ETD_Enable_Transmit_DMA[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } BRK_Break_Transmit[2:2];
    } ModeSelect @ 0xa;
    reg {
        name="BaudRateDivisor";
        regwidth=0x8;
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } UDIV7_0_UART_Divisor_Bits_7_0[7:0];
    } BaudRateDivisor @ 0xc;
    reg {
        name="BaudRatePrescaler";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } UPSC_Prescaler_Select[7:3];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } UDIV10_8_UART_Divisor_Bits_10_8[2:0];
    } BaudRatePrescaler @ 0xe;
    reg {
        name="TransmitStatus";
        regwidth=0x8;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } XMIP_No_Transmit_in_Progress[7:7];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } TFIFO_EMPTY_STS_Transmit_FIFO_Empty_Status[6:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } TEMPTY_LEVEL_STS_Transmit_FIFO_Empty_Level_Status[5:5];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } TEMPTY_LEVEL_Transmit_FIFO_Empty_Level[4:0];
    } TransmitStatus @ 0x20;
    reg {
        name="ReceiveStatus";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } ERR_Receive_Error[7:7];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } RFIFO_NEMPTY_STS_Receive_FIFO_Not_Empty_Status[6:6];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } RFULL_LEVEL_STS_Receive_FIFO_Full_Level_Status[5:5];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } RFULL_LEVEL_Receive_FIFO_Full_Level[4:0];
    } ReceiveStatus @ 0x22;
    reg {
        name="TransmitControl";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x8;
            field {
                sw = rw;
            } XMIP_EN_No_Transmit_in_Progress_Interrupt_Enable[7:7];
            field {
                sw = rw;
            } TFIFO_EMPTY_EN_Transmit_FIFO_Empty_Interrupt_Enable[6:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } TEMPTY_LEVEL_EN_Transmit_FIFO_Empty_Level_Interrupt_Enable[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } TEMPTY_LEVEL_SEL_Transmit_FIFO_Empty_Level_Select[4:0];
    } TransmitControl @ 0x24;
    reg {
        name="ReceiveControl";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } ERR_EN_Receive_Error_Interrupt_Enable[7:7];
            field {
                sw = rw;
            } RFIFO_NEMPTY_EN_Receive_FIFO_Not_Empty_Status_Interrupt_Enable[6:6];
            field {
                sw = rw;
            } RFULL_LEVEL_EN_Receive_FIFO_Full_Level_Status_Interrupt_Enable[5:5];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } RFULL_LEVEL_SEL_Receive_FIFO_Full_Level_Select[4:0];
    } ReceiveControl @ 0x26;
    reg {
        name="Control";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } COM_FDBK_EN_Common_Mode_Feedback_Enable[6:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CR_SOUT_PP_CR_SOUT_Common_Push_Pull_Select[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CR_SOUT_COM_CR_SOUT_Common_Mode_Select[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CR_SIN_PP_CR_SIN_Common_Push_Pull_Select[3:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CR_SIN_COM_CR_SIN_Common_Mode_Select[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CR_SOUT_INV_CR_SOUT_Signal_Invert[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CR_SIN_INV_CR_SIN_Signal_Invert[0:0];
    } Control @ 0x2c;
} Registers_addrmap;


};