addrmap RenesasDA_SPI {

addrmap {
    desc = "Generated by RenodeModelsAnalyzer";
    reg {
        name="Control";
        regwidth=0x20;
            field {
                sw = rw;
            } SPI_EN[0:0];
            field {
                sw = rw;
            } SPI_TX_EN[1:1];
            field {
                sw = rw;
            } SPI_RX_EN[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SPI_DMA_TX_EN[3:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SPI_DMA_RX_EN[4:4];
            field {
                desc = "This field has the following custom Renode callbacks: Change.";
                sw = rw;
                onwrite = woclr;
            } SPI_FIFO_RESET[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SPI_CAPTURE_AT_NEXT_EDGE[6:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SPI_SWAP_BYTES[7:7];
    } Control @ 0x0;
    reg {
        name="Configuration";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SPI_MODE[1:0];
            field {
                desc = "This field has the following custom Renode callbacks: Change.";
                sw = rw;
            } SPI_WORD_LENGTH[6:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SPI_SLAVE_EN[7:7];
    } Configuration @ 0x4;
    reg {
        name="Clock";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SPI_CLK_DIV[6:0];
    } Clock @ 0x8;
    reg {
        name="FifoConfiguration";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SPI_TX_TL[3:0];
            field {
                desc = "This field has the following custom Renode callbacks: Change.";
                sw = rw;
            } SPI_RX_TL[7:4];
    } FifoConfiguration @ 0xc;
    reg {
        name="InterruptMask";
        desc = "This register has the following custom Renode callbacks: Change";
        regwidth=0x20;
            field {
                sw = rw;
            } SPI_IRQ_MASK_TX_EMPTY[0:0];
            field {
                sw = rw;
            } SPI_IRQ_MASK_RX_FULL[1:1];
    } InterruptMask @ 0x10;
    reg {
        name="Status";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } SPI_STATUS_TX_EMPTY[0:0];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } SPI_STATUS_RX_FULL[1:1];
    } Status @ 0x14;
    reg {
        name="FifoStatus";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } SPI_RX_FIFO_LEVEL[5:0];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } SPI_TX_FIFO_LEVEL[11:6];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } SPI_STATUS_RX_EMPTY[12:12];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } SPI_STATUS_TX_FULL[13:13];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } SPI_RX_FIFO_OVFL[14:14];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } SPI_TRANSACTION_ACTIVE[15:15];
    } FifoStatus @ 0x18;
    reg {
        name="FifoRead";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } SPI_FIFO_READ[31:0];
    } FifoRead @ 0x1c;
    reg {
        name="FifoWrite";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } SPI_FIFO_WRITE[31:0];
    } FifoWrite @ 0x20;
    reg {
        name="CsConfiguration";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Change.";
                sw = rw;
            } SPI_CS_SELECT[2:0];
    } CsConfiguration @ 0x24;
    reg {
        name="TXBufferForce";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SPI_TXBUFFER_FORCE[31:0];
    } TXBufferForce @ 0x2c;
} Registers_addrmap;


};