addrmap NRF52840_I2S {

addrmap {
    desc = "Generated by RenodeModelsAnalyzer";
    reg {
        name="TasksStart";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } TASKS_START[0:0];
    } TasksStart @ 0x0;
    reg {
        name="TasksStop";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } TASKS_STOP[0:0];
    } TasksStop @ 0x4;
    reg {
        name="EventsRxptrUpdated";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Change.";
                sw = rw;
            } EVENTS_RXPTRUPD[0:0];
    } EventsRxptrUpdated @ 0x104;
    reg {
        name="EventsStopped";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Change.";
                sw = rw;
            } EVENTS_STOPPED[0:0];
    } EventsStopped @ 0x108;
    reg {
        name="EventsTxptrUpdated";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Change.";
                sw = rw;
            } EVENTS_TXPTRUPD[0:0];
    } EventsTxptrUpdated @ 0x114;
    reg {
        name="InterruptEnable";
        regwidth=0x20;
            field {
                sw = rw;
            } RXPTRUPD[1:1];
            field {
                sw = rw;
            } STOPPED[2:2];
            field {
                sw = rw;
            } TXPTRUPD[5:5];
    } InterruptEnable @ 0x300;
    reg {
        name="InterruptEnableSet";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } RXPTRUPD[1:1];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } STOPPED[2:2];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } TXPTRUPD[5:5];
    } InterruptEnableSet @ 0x304;
    reg {
        name="InterruptEnableClear";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } RXPTRUPD[1:1];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } STOPPED[2:2];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } TXPTRUPD[5:5];
    } InterruptEnableClear @ 0x308;
    reg {
        name="Enable";
        regwidth=0x20;
            field {
                sw = rw;
            } ENABLE[0:0];
    } Enable @ 0x500;
    reg {
        name="ConfigMode";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } MODE[0:0];
    } ConfigMode @ 0x504;
    reg {
        name="ConfigRxEnable";
        regwidth=0x20;
            field {
                sw = rw;
            } RXEN[0:0];
    } ConfigRxEnable @ 0x508;
    reg {
        name="ConfigTxEnable";
        regwidth=0x20;
            field {
                sw = rw;
                reset=1'b1;
            } TXEN[0:0];
    } ConfigTxEnable @ 0x50c;
    reg {
        name="ConfigMasterClockEnable";
        regwidth=0x20;
            field {
                sw = rw;
                reset=1'b1;
            } MCKEN[0:0];
    } ConfigMasterClockEnable @ 0x510;
    reg {
        name="ConfigMasterClockFrequency";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
                reset=32'b100000000000000000000000000000;
            } MCKFREQ[31:0];
    } ConfigMasterClockFrequency @ 0x514;
    reg {
        name="ConfigRatio";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
                reset=4'b110;
            } RATIO[3:0];
    } ConfigRatio @ 0x518;
    reg {
        name="ConfigSwidth";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
                reset=2'b1;
            } SWIDTH[1:0];
    } ConfigSwidth @ 0x51c;
    reg {
        name="ConfigAlign";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } ALIGN[0:0];
    } ConfigAlign @ 0x520;
    reg {
        name="ConfigFormat";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } FORMAT[0:0];
    } ConfigFormat @ 0x524;
    reg {
        name="ConfigChannels";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } CHANNELS[1:0];
    } ConfigChannels @ 0x528;
    reg {
        name="RxdPointer";
        regwidth=0x20;
            field {
                sw = rw;
            } PTR[31:0];
    } RxdPointer @ 0x538;
    reg {
        name="TxdPointer";
        regwidth=0x20;
            field {
                sw = rw;
            } PTR[31:0];
    } TxdPointer @ 0x540;
    reg {
        name="RxTxBufferSize";
        regwidth=0x20;
            field {
                sw = rw;
            } MAXCNT[13:0];
    } RxTxBufferSize @ 0x550;
    reg {
        name="PinSelectMasterClock";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=5'b11111;
            } PIN[4:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=1'b1;
            } PORT[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=1'b1;
            } CONNECT[31:31];
    } PinSelectMasterClock @ 0x560;
    reg {
        name="PinSelectSCK";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=5'b11111;
            } PIN[4:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=1'b1;
            } PORT[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=1'b1;
            } CONNECT[31:31];
    } PinSelectSCK @ 0x564;
    reg {
        name="PinSelectLRCK";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=5'b11111;
            } PIN[4:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=1'b1;
            } PORT[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=1'b1;
            } CONNECT[31:31];
    } PinSelectLRCK @ 0x568;
    reg {
        name="PinSelectSDIN";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=5'b11111;
            } PIN[4:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=1'b1;
            } PORT[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=1'b1;
            } CONNECT[31:31];
    } PinSelectSDIN @ 0x56c;
    reg {
        name="PinSelectSDOUT";
        regwidth=0x20;
            field {
                sw = rw;
                reset=5'b11111;
            } PIN[4:0];
            field {
                sw = rw;
                reset=1'b1;
            } PORT[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=1'b1;
            } CONNECT[31:31];
    } PinSelectSDOUT @ 0x570;
} Registers_addrmap;


};