addrmap Cadence_SPI {

addrmap {
    desc = "Generated by RenodeModelsAnalyzer";
    reg {
        name="Config";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x20;
            field {
                sw = rw;
                reset=1'b1;
            } modeFailEnable[17:17];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } manualStartTransmission[16:16];
            field {
                sw = rw;
            } manualTransmission[15:15];
            field {
                sw = rw;
            } manualChipSelect[14:14];
            field {
                sw = rw;
            } chipSelectAddress[13:10];
            field {
                sw = rw;
            } No_name_1[9:9];
            field {
                sw = rw;
            } referenceClockSelect[8:8];
            field {
                sw = rw;
            } baudRateDivider[5:3];
            field {
                sw = rw;
            } clockPhase[2:2];
            field {
                sw = rw;
            } clockPolarity[1:1];
            field {
                desc = "This field has the following custom Renode callbacks: Change.";
                sw = rw;
            } spiMode[0:0];
    } Config @ 0x0;
    reg {
        name="InterruptStatus";
        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;
            } txFifoUnderflowInterruptStatus[6:6];
            field {
                desc = "This field has the following custom Renode callbacks: Read, Write, Provider.";
                sw = rw;
            } rxFifoFullInterruptStatus[5:5];
            field {
                desc = "This field has the following custom Renode callbacks: Read, Write, Provider.";
                sw = rw;
            } rxFifoNotEmptyInterruptStatus[4:4];
            field {
                desc = "This field has the following custom Renode callbacks: Read, Write, Provider.";
                sw = rw;
            } txFifoFullInterruptStatus[3:3];
            field {
                desc = "This field has the following custom Renode callbacks: Read, Write, Provider.";
                sw = rw;
            } txFifoNotFullInterruptStatus[2:2];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } modeFailInterruptStatus[1:1];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } rxFifoOverflowInterruptStatus[0:0];
    } InterruptStatus @ 0x4;
    reg {
        name="InterruptEnable";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } txFifoUnderflowInterruptEnable[6:6];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } rxFifoFullInterruptEnable[5:5];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } rxFifoNotEmptyInterruptEnable[4:4];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } txFifoFullInterruptEnable[3:3];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } txFifoNotFullInterruptEnable[2:2];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } modeFailInterruptEnable[1:1];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } rxFifoOverflowInterruptEnable[0:0];
    } InterruptEnable @ 0x8;
    reg {
        name="InterruptDisable";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } txFifoUnderflowInterruptDisable[6:6];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } rxFifoFullInterruptDisable[5:5];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } rxFifoNotEmptyInterruptDisable[4:4];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } txFifoFullInterruptDisable[3:3];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } txFifoNotFullInterruptDisable[2:2];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } modeFailInterruptDisable[1:1];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } rxFifoOverflowInterruptDisable[0:0];
    } InterruptDisable @ 0xc;
    reg {
        name="InterruptMask";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } txFifoUnderflowInterruptMask[6:6];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } rxFifoFullInterruptMask[5:5];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } rxFifoNotEmptyInterruptMask[4:4];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } txFifoFullInterruptMask[3:3];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } txFifoNotFullInterruptMask[2:2];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } modeFailInterruptMask[1:1];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } rxFifoOverflowInterruptMask[0:0];
    } InterruptMask @ 0x10;
    reg {
        name="Enable";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } spiEnable[0:0];
    } Enable @ 0x14;
    reg {
        name="Delay";
        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];
    } Delay @ 0x18;
    reg {
        name="TxData";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } txData[7:0];
    } TxData @ 0x1c;
    reg {
        name="RxData";
        desc = "This register has the following custom Renode callbacks: Read";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } rxData[7:0];
    } RxData @ 0x20;
    reg {
        name="SlaveIdleCount";
        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];
    } SlaveIdleCount @ 0x24;
    reg {
        name="TxFifoThreshold";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x20;
            field {
                sw = rw;
                reset=1'b1;
            } No_name_2[0:0];
    } TxFifoThreshold @ 0x28;
    reg {
        name="RxFifoThreshold";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x20;
            field {
                sw = rw;
                reset=1'b1;
            } No_name_3[0:0];
    } RxFifoThreshold @ 0x2c;
    reg {
        name="ModuleID";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } moduleID[24:0];
    } ModuleID @ 0xfc;
} Registers_addrmap;


};