addrmap MPFS_QSPI {

addrmap {
    desc = "Generated by RenodeModelsAnalyzer";
    reg {
        name="Control";
        regwidth=0x20;
            field {
                sw = rw;
            } ENABLE[0:0];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
                reset=1'b1;
            } MASTER[1:1];
            field {
                sw = rw;
            } XIP[2:2];
            field {
                sw = rw;
            } XIPADDR[3:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=1'b1;
            } CLKIDLE[10:10];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SAMPLE[12:11];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } QSPIMODE0[13:13];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } QSPIMODE1[15:14];
            field {
                sw = rw;
            } FLAGS4X[16:16];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CLKRATE[27:24];
    } Control @ 0x0;
    reg {
        name="Frames";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } TOTALBYTES[15:0];
            field {
                sw = rw;
            } CMDBYTES[24:16];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } QSPI[25:25];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } IDLE[29:26];
            field {
                desc = "This field has the following custom Renode callbacks: Change, Provider.";
                sw = rw;
            } FLAGBYTE[30:30];
            field {
                desc = "This field has the following custom Renode callbacks: Change, Provider.";
                sw = rw;
            } FLAGWORD[31:31];
    } Frames @ 0x4;
    reg {
        name="InterruptEnable";
        desc = "This register has the following custom Renode callbacks: Change";
        regwidth=0x20;
            field {
                sw = rw;
            } TXDONE[0:0];
            field {
                sw = rw;
            } RXDONE[1:1];
            field {
                sw = rw;
            } RXAVAILABLE[2:2];
            field {
                sw = rw;
            } TXAVAILABLE[3:3];
            field {
                sw = rw;
            } RXFIFOEMPTY[4:4];
            field {
                sw = rw;
            } TXFIFOFULL[5:5];
    } InterruptEnable @ 0xc;
    reg {
        name="Status";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x20;
            field {
                sw = wr;
                onwrite = woclr;
            } TXDONE[0:0];
            field {
                sw = wr;
                onwrite = woclr;
            } RXDONE[1:1];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } RXAVAILABLE[2:2];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } TXAVAILABLE[3:3];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } RXFIFOEMPTY[4:4];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } TXFIFOFULL[5:5];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } READY[7:7];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } FLAGSX4[8:8];
    } Status @ 0x10;
    reg {
        name="DirectAccess";
        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];
    } DirectAccess @ 0x14;
    reg {
        name="UpperAddress";
        regwidth=0x20;
            field {
                sw = rw;
            } ADDRUP[7:0];
    } UpperAddress @ 0x18;
    reg {
        name="RxData1";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } RXDATA[7:0];
    } RxData1 @ 0x40;
    reg {
        name="TxData1";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } TXDATA[7:0];
    } TxData1 @ 0x44;
    reg {
        name="RxData4";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } RXDATA4[31:0];
    } RxData4 @ 0x48;
    reg {
        name="TxData4";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } TXDATA4[31:0];
    } TxData4 @ 0x4c;
    reg {
        name="FramesUpper";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } BYTESLOWER[15:0];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } BYTESUPPER[31:16];
    } FramesUpper @ 0x50;
} Registers_addrmap;


};