addrmap PULP_I2S {

addrmap {
    desc = "Generated by RenodeModelsAnalyzer";
    reg {
        name="RxBufferPointer";
        regwidth=0x20;
            field {
                sw = rw;
            } RX_SADDR[15:0];
    } RxBufferPointer @ 0x0;
    reg {
        name="RxBufferSize";
        regwidth=0x20;
            field {
                sw = rw;
            } RX_SIZE[16:0];
    } RxBufferSize @ 0x4;
    reg {
        name="RxConfig";
        regwidth=0x20;
            field {
                sw = rw;
            } CONTINOUS[0:0];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
                reset=2'b10;
            } DATASIZE[2:1];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } EN[4:4];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } CLR_PENDING[5:5];
    } RxConfig @ 0x8;
    reg {
        name="RxInit";
        regwidth=0x20;
            field {
                desc = "This is a dummy r/w field, generated just to show the register in specs";
                sw = rw;
            } DUMMY[31:0];
    } RxInit @ 0xc;
    reg {
        name="TxBufferPointer";
        regwidth=0x20;
            field {
                sw = rw;
            } TX_SADDR[15:0];
    } TxBufferPointer @ 0x10;
    reg {
        name="TxBufferSize";
        regwidth=0x20;
            field {
                sw = rw;
            } TX_SIZE[16:0];
    } TxBufferSize @ 0x14;
    reg {
        name="TxConfig";
        regwidth=0x20;
            field {
                sw = rw;
            } CONTINOUS[0:0];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
                reset=2'b10;
            } DATASIZE[2:1];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } EN[4:4];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } CLR_PENDING[5:5];
    } TxConfig @ 0x18;
    reg {
        name="TxInit";
        regwidth=0x20;
            field {
                desc = "This is a dummy r/w field, generated just to show the register in specs";
                sw = rw;
            } DUMMY[31:0];
    } TxInit @ 0x1c;
    reg {
        name="ClockConfiguration";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MASTER_CLK_DIV[7:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SLAVE_CLK_DIV[15:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } COMMON_CLK_DIV[23:16];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } SLAVE_CLK_EN[24:24];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } MASTER_CLK_EN[25:25];
            field {
                sw = rw;
            } PDM_CLK_EN[26:26];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SLAVE_EXT[28:28];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SLAVE_NUM[29:29];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MASTER_EXT[30:30];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MASTER_NUM[31:31];
    } ClockConfiguration @ 0x20;
    reg {
        name="SlaveSettings";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SLAVE_WORDS[2:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SLAVE_BITS[12:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SLAVE_LSB[16:16];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } SLAVE_2CH[17:17];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } SLAVE_EN[31:31];
    } SlaveSettings @ 0x24;
    reg {
        name="MasterSettings";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MASTER_WORDS[2:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MASTER_BITS[12:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MASTER_LSB[16:16];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } MASTER_2CH[17:17];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } MASTER_EN[31:31];
    } MasterSettings @ 0x28;
    reg {
        name="PdmConfig";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PDM_SHIFT[2:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PDM_DECIMATION[12:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PDM_MODE[14:13];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PDM_EN[31:31];
    } PdmConfig @ 0x2c;
} Registers_addrmap;


};