addrmap DesignWare_SPI {

addrmap {
    desc = "Generated by RenodeModelsAnalyzer";
    reg {
        name="Control0";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } DFS_32[19:16];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CFS[15:12];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SRL[11:11];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SLV_OE[10:10];
            field {
                sw = rw;
            } TMOD[9:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SCPOL[7:7];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SCPH[6:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } FRF[5:4];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
                reset=4'b111;
            } DFS[3:0];
    } Control0 @ 0x0;
    reg {
        name="Control1";
        regwidth=0x20;
            field {
                sw = rw;
            } NDF[15:0];
    } Control1 @ 0x4;
    reg {
        name="Enable";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Change.";
                sw = rw;
            } SSI_EN[0:0];
    } Enable @ 0x8;
    reg {
        name="SlaveSelect";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } SER[2:0];
    } SlaveSelect @ 0x10;
    reg {
        name="ClockDivider";
        regwidth=0x20;
            field {
                sw = rw;
            } SCKDV_15_1[16:1];
            field {
                sw = r;
            } SCKDV_0[0:0];
    } ClockDivider @ 0x14;
    reg {
        name="TransmitTreshold";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } TFT[7:0];
    } TransmitTreshold @ 0x18;
    reg {
        name="ReceiveTreshold";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } RFT[7:0];
    } ReceiveTreshold @ 0x1c;
    reg {
        name="TransmitLevel";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } TXFLR[2:0];
    } TransmitLevel @ 0x20;
    reg {
        name="ReceiveLevel";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } RXFLR[2:0];
    } ReceiveLevel @ 0x24;
    reg {
        name="Status";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } DCOL[6:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } TXE[5:5];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } RFF[4:4];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } RFNE[3:3];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } TFE[2:2];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } TFNF[1:1];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } BUSY[0:0];
    } Status @ 0x28;
    reg {
        name="InterruptMask";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x20;
            field {
                sw = rw;
            } MSTIM[5:5];
            field {
                sw = rw;
            } RXFIM[4:4];
            field {
                sw = rw;
            } RXFOIM[3:3];
            field {
                sw = rw;
            } RXUIM[2:2];
            field {
                sw = rw;
            } TXOIM[1:1];
            field {
                sw = rw;
            } TXEIM[0:0];
    } InterruptMask @ 0x2c;
    reg {
        name="InterruptStatus";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } MSTIS[5:5];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } RXFIS[4:4];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } RXFOIS[3:3];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } RXUIS[2:2];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } TXOIS[1:1];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } TXEIS[0:0];
    } InterruptStatus @ 0x30;
    reg {
        name="InterruptRawStatus";
        regwidth=0x20;
            field {
                sw = r;
            } MSTIR[5:5];
            field {
                sw = r;
            } RXFIR[4:4];
            field {
                sw = r;
            } RXFOIR[3:3];
            field {
                sw = r;
            } RXUIR[2:2];
            field {
                sw = r;
            } TXOIR[1:1];
            field {
                sw = r;
            } TXEIR[0:0];
    } InterruptRawStatus @ 0x34;
    reg {
        name="TransmitOverflowInterruptClear";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Read.";
                sw = r;
            } TXOICR[0:0];
    } TransmitOverflowInterruptClear @ 0x38;
    reg {
        name="ReceiveOverflowInterruptClear";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Read.";
                sw = r;
            } RXOICR[0:0];
    } ReceiveOverflowInterruptClear @ 0x3c;
    reg {
        name="ReceiveUnderflowInterruptClear";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Read.";
                sw = r;
            } RXUICR[0:0];
    } ReceiveUnderflowInterruptClear @ 0x40;
    reg {
        name="MultiMasterContentionInterruptClear";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Read.";
                sw = r;
            } MSTICR[0:0];
    } MultiMasterContentionInterruptClear @ 0x44;
    reg {
        name="InterruptClear";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Read.";
                sw = r;
            } ICR[0:0];
    } InterruptClear @ 0x48;
    reg {
        name="DeviceIdentificationCode";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } IDCODE[31:0];
    } DeviceIdentificationCode @ 0x58;
    reg {
        name="SynopsisComponentVersion";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } SSI_COMP_VERSION[31:0];
    } SynopsisComponentVersion @ 0x5c;
    reg {
        name="DataRegister";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } DR[15:0];
    } DataRegister @ 0x60;
} Registers_addrmap;


};