addrmap NRF52840_UART {

addrmap {
    desc = "Generated by RenodeModelsAnalyzer";
    reg {
        name="StartRx";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } TASKS_STARTRX[0:0];
    } StartRx @ 0x0;
    reg {
        name="StopRx";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } TASKS_STOPRX[0:0];
    } StopRx @ 0x4;
    reg {
        name="StartTx";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } TASKS_STARTTX[0:0];
    } StartTx @ 0x8;
    reg {
        name="StopTx";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } TASKS_STOPTX[0:0];
    } StopTx @ 0xc;
    reg {
        name="Suspend";
        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];
    } Suspend @ 0x1c;
    reg {
        name="FlushRx";
        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];
    } FlushRx @ 0x2c;
    reg {
        name="ClearToSend";
        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];
    } ClearToSend @ 0x100;
    reg {
        name="NotClearToSend";
        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];
    } NotClearToSend @ 0x104;
    reg {
        name="RxDReady";
        regwidth=0x20;
            field {
                desc = "This is a dummy r/w field, generated just to show the register in specs";
                sw = rw;
            } DUMMY[31:0];
    } RxDReady @ 0x108;
    reg {
        name="EndRx";
        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];
    } EndRx @ 0x110;
    reg {
        name="TxDReady";
        regwidth=0x20;
            field {
                desc = "This is a dummy r/w field, generated just to show the register in specs";
                sw = rw;
            } DUMMY[31:0];
    } TxDReady @ 0x11c;
    reg {
        name="EndTx";
        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];
    } EndTx @ 0x120;
    reg {
        name="ErrorDetected";
        regwidth=0x20;
            field {
                desc = "This is a dummy r/w field, generated just to show the register in specs";
                sw = rw;
            } DUMMY[31:0];
    } ErrorDetected @ 0x124;
    reg {
        name="RxTimeout";
        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];
    } RxTimeout @ 0x144;
    reg {
        name="RxStarted";
        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];
    } RxStarted @ 0x14c;
    reg {
        name="TxStarted";
        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];
    } TxStarted @ 0x150;
    reg {
        name="TxStopped";
        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];
    } TxStopped @ 0x158;
    reg {
        name="Shortcuts";
        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];
    } Shortcuts @ 0x200;
    reg {
        name="InterruptEnable";
        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];
    } InterruptEnable @ 0x300;
    reg {
        name="InterruptEnableSet";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider. This field has reset value calculated at runtime.";
                sw = rw;
            } No_name_1[0:0];
    } InterruptEnableSet @ 0x304;
    reg {
        name="InterruptEnableClear";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider. This field has reset value calculated at runtime.";
                sw = rw;
            } No_name_2[0:0];
    } InterruptEnableClear @ 0x308;
    reg {
        name="ErrorSource";
        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];
    } ErrorSource @ 0x480;
    reg {
        name="Enable";
        regwidth=0x20;
            field {
                sw = rw;
            } ENABLE[7:0];
    } Enable @ 0x500;
    reg {
        name="PinSelectRTS";
        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];
    } PinSelectRTS @ 0x508;
    reg {
        name="PinSelectTXD";
        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];
    } PinSelectTXD @ 0x50c;
    reg {
        name="PinSelectCTS";
        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];
    } PinSelectCTS @ 0x510;
    reg {
        name="PinSelectRXD";
        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];
    } PinSelectRXD @ 0x514;
    reg {
        name="RxD";
        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];
    } RxD @ 0x518;
    reg {
        name="TxD";
        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];
    } TxD @ 0x51c;
    reg {
        name="BaudRate";
        regwidth=0x20;
            field {
                sw = rw;
                reset=32'b100000000000000000000000000;
            } BAUDRATE[31:0];
    } BaudRate @ 0x524;
    reg {
        name="RxDPointer";
        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];
    } RxDPointer @ 0x534;
    reg {
        name="RxDMaximumCount";
        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];
    } RxDMaximumCount @ 0x538;
    reg {
        name="RxDAmount";
        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];
    } RxDAmount @ 0x53c;
    reg {
        name="TxDPointer";
        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];
    } TxDPointer @ 0x544;
    reg {
        name="TxDMaximumCount";
        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];
    } TxDMaximumCount @ 0x548;
    reg {
        name="TxDAmount";
        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];
    } TxDAmount @ 0x54c;
    reg {
        name="Config";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } HWFC[0:0];
            field {
                sw = rw;
            } CONFIG_PARITY[3:1];
            field {
                sw = rw;
            } CONFIG_STOP[4:4];
    } Config @ 0x56c;
} Registers_addrmap;


};