addrmap PL011 {

addrmap {
    desc = "Generated by RenodeModelsAnalyzer";
    reg {
        name="Data";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } DATA___Receive_read___Transmit_write_data_character[7:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } FE___Framing_error[8:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PE___Parity_error[9:9];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } BE___Break_error[10:10];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } OE___Overrun_error[11:11];
    } Data @ 0x0;
    reg {
        name="ReceiveStatus";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = rw;
            } FE___Framing_error[0:0];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = rw;
            } PE___Parity_error[1:1];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = rw;
            } BE___Break_error[2:2];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = rw;
            } OE___Overrun_error[3:3];
            field {
                sw = w;
            } No_name_1[7:4];
    } ReceiveStatus @ 0x4;
    reg {
        name="Flag";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CTS___Clear_to_send[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } DSR___Data_set_ready[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } DCD___Data_carrier_detect[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } BUSY___UART_busy[3:3];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } RXFE___Receive_FIFO_empty[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } TXFF___Transmit_FIFO_full[5:5];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } RXFF___Receive_FIFO_full[6:6];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } TXFE___Transmit_FIFO_empty[7:7];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } RI___Ring_indicator[8:8];
    } Flag @ 0x18;
    reg {
        name="IrDALowPowerCounter";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } ILPDVSR___8_bit_low_power_divisor_value_[7:0];
    } IrDALowPowerCounter @ 0x20;
    reg {
        name="IntegerBaudRate";
        regwidth=0x20;
            field {
                sw = rw;
            } BAUD_DIVINT___The_integer_baud_rate_divisor_[15:0];
    } IntegerBaudRate @ 0x24;
    reg {
        name="FractionalBaudRate";
        regwidth=0x20;
            field {
                sw = rw;
            } BAUD_DIVFRAC___The_fractional_baud_rate_divisor[5:0];
    } FractionalBaudRate @ 0x28;
    reg {
        name="LineControl";
        regwidth=0x20;
            field {
                desc = "The field is a Tag. This field has reset value calculated at runtime.";
                sw = rw;
            } BRK___Send_break[0:0];
            field {
                desc = "This field has reset value calculated at runtime.";
                sw = rw;
            } PEN___Parity_enable[1:1];
            field {
                desc = "This field has reset value calculated at runtime.";
                sw = rw;
            } EPS___Even_parity_select[2:2];
            field {
                desc = "This field has reset value calculated at runtime.";
                sw = rw;
            } STP2___Two_stop_bits_select[3:3];
            field {
                desc = "This field has the following custom Renode callbacks: Change. This field has reset value calculated at runtime.";
                sw = rw;
            } FEN___Enable_FIFOs[4:4];
            field {
                desc = "This field has reset value calculated at runtime.";
                sw = rw;
            } WLEN___Word_length[6:5];
            field {
                desc = "This field has reset value calculated at runtime.";
                sw = rw;
            } SPS___Stick_parity_select[7:7];
    } LineControl @ 0x2c;
    reg {
        name="Control";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Change. This field has reset value calculated at runtime.";
                sw = rw;
            } UARTEN___UART_enable[0:0];
            field {
                desc = "The field is a Tag. This field has reset value calculated at runtime.";
                sw = rw;
            } SIREN___SIR_enable[1:1];
            field {
                desc = "The field is a Tag. This field has reset value calculated at runtime.";
                sw = rw;
            } SIRLP___IrDA_SIR_low_power_mode[2:2];
            field {
                desc = "This field has reset value calculated at runtime.";
                sw = rw;
            } Vendor_specific[6:3];
            field {
                desc = "This field has reset value calculated at runtime.";
                sw = rw;
            } LBE___Loop_back_enable[7:7];
            field {
                desc = "This field has reset value calculated at runtime.";
                sw = rw;
            } TXE___Transmit_enable[8:8];
            field {
                desc = "This field has reset value calculated at runtime.";
                sw = rw;
            } RXE___Receive_enable[9:9];
            field {
                desc = "This field has reset value calculated at runtime.";
                sw = rw;
            } DTR___Data_transmit_ready[10:10];
            field {
                desc = "This field has reset value calculated at runtime.";
                sw = rw;
            } RTS___Request_to_send[11:11];
            field {
                desc = "The field is a Tag. This field has reset value calculated at runtime.";
                sw = rw;
            } Out1[12:12];
            field {
                desc = "The field is a Tag. This field has reset value calculated at runtime.";
                sw = rw;
            } Out2[13:13];
            field {
                desc = "The field is a Tag. This field has reset value calculated at runtime.";
                sw = rw;
            } RTSEn___RTS_hardware_flow_control_enable[14:14];
            field {
                desc = "The field is a Tag. This field has reset value calculated at runtime.";
                sw = rw;
            } CTSEn___CTS_hardware_flow_control_enable[15:15];
    } Control @ 0x30;
    reg {
        name="InterruptFIFOLevel";
        regwidth=0x20;
            field {
                sw = rw;
                reset=3'b10;
            } TXIFLSEL___Transmit_interrupt_FIFO_level_select[2:0];
            field {
                desc = "This field has the following custom Renode callbacks: Change.";
                sw = rw;
                reset=3'b10;
            } RXIFLSEL___Receive_interrupt_FIFO_level_select[5:3];
    } InterruptFIFOLevel @ 0x34;
    reg {
        name="InterruptMask";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Change.";
                sw = rw;
            } No_name_2[10:0];
    } InterruptMask @ 0x38;
    reg {
        name="RawInterruptStatus";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } No_name_3[10:0];
    } RawInterruptStatus @ 0x3c;
    reg {
        name="MaskedInterruptStatus";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } Masked_interrupt_status[10:0];
    } MaskedInterruptStatus @ 0x40;
    reg {
        name="InterruptClear";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } No_name_4[10:0];
    } InterruptClear @ 0x44;
    reg {
        name="DMAControl";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } RXDMAE___Receive_DMA_enable[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } TXDMAE___Transmit_DMA_enable[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } DMAONERR___DMA_on_error[2:2];
    } DMAControl @ 0x48;
    reg {
        name="UARTPeriphID0";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } No_name_5[7:0];
    } Peripheral_identification_registers_n [4]@ 0xfe0 += 4;
    reg {
        name="UARTPCellID0";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } No_name_6[7:0];
    } PrimeCell_identification_registers_n [4]@ 0xff0 += 4;
} Registers_addrmap;


};