addrmap NRF52840_I2C {

addrmap {
    desc = "Generated by RenodeModelsAnalyzer";
    reg {
        name="StartReceiving";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } TASKS_STARTRX[0:0];
    } StartReceiving @ 0x0;
    reg {
        name="StartTransmitting";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } TASKS_STARTTX[0:0];
    } StartTransmitting @ 0x8;
    reg {
        name="StopTransmitting";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } TASKS_STOP[0:0];
    } StopTransmitting @ 0x14;
    reg {
        name="SuspendTransmitting";
        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];
    } SuspendTransmitting @ 0x1c;
    reg {
        name="ResumeReceiving";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } TASKS_RESUME[0:0];
    } ResumeReceiving @ 0x20;
    reg {
        name="StoppedInterruptPending";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x20;
            field {
                sw = rw;
            } EVENTS_STOPPED[0:0];
    } StoppedInterruptPending @ 0x104;
    reg {
        name="RxInterruptPending";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x20;
            field {
                sw = rw;
            } EVENTS_RXREADY[0:0];
    } RxInterruptPending @ 0x108;
    reg {
        name="TxInterruptPending";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x20;
            field {
                sw = rw;
            } EVENTS_TXDSENT[0:0];
    } TxInterruptPending @ 0x11c;
    reg {
        name="ErrorInterruptPending";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x20;
            field {
                sw = rw;
            } EVENTS_ERROR[0:0];
    } ErrorInterruptPending @ 0x124;
    reg {
        name="ByteBoundaryEventPending";
        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];
    } ByteBoundaryEventPending @ 0x138;
    reg {
        name="SuspendedInterruptPending";
        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];
    } SuspendedInterruptPending @ 0x148;
    reg {
        name="Shortcuts";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } BB_SUSPEND[0:0];
            field {
                sw = rw;
            } BB_STOP[1:1];
    } Shortcuts @ 0x200;
    reg {
        name="SetEnableInterrupts";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x20;
            field {
                sw = rw;
                onwrite = woset;
            } STOPPED[1:1];
            field {
                sw = rw;
                onwrite = woset;
            } RXREADY[2:2];
            field {
                sw = rw;
                onwrite = woset;
            } TXDSENT[7:7];
            field {
                sw = rw;
                onwrite = woset;
            } ERROR[9:9];
            field {
                sw = rw;
            } BB[14:14];
            field {
                sw = rw;
            } SUSPENDED[18:18];
    } SetEnableInterrupts @ 0x304;
    reg {
        name="ClearEnableInterrupts";
        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;
            } STOPPED[1:1];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } RXREADY[2:2];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } TXDSENT[7:7];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } ERROR[9:9];
            field {
                sw = rw;
            } BB[14:14];
            field {
                sw = rw;
            } SUSPENDED[18:18];
    } ClearEnableInterrupts @ 0x308;
    reg {
        name="ErrorSource";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } OVERRUN[0:0];
            field {
                sw = rw;
            } ANACK[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } DNACK[2:2];
    } ErrorSource @ 0x4c4;
    reg {
        name="Enable";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } No_name_1[3:0];
    } Enable @ 0x500;
    reg {
        name="PinSelectSCL";
        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];
    } PinSelectSCL @ 0x508;
    reg {
        name="PinSelectSDA";
        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];
    } PinSelectSDA @ 0x50c;
    reg {
        name="ReceiveBuffer";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } No_name_2[7:0];
    } ReceiveBuffer @ 0x518;
    reg {
        name="TransferBuffer";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } No_name_3[7:0];
    } TransferBuffer @ 0x51c;
    reg {
        name="Frequency";
        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];
    } Frequency @ 0x524;
    reg {
        name="Address";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } No_name_4[6:0];
    } Address @ 0x588;
} Registers_addrmap;


};