addrmap MAX32650_TPU {

addrmap {
    desc = "Generated by RenodeModelsAnalyzer";
    reg {
        name="CryptoControl";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
                onwrite = woclr;
            } CRYPTO_CTRL_rst[0:0];
            field {
                desc = "This field has the following custom Renode callbacks: Change.";
                sw = rw;
            } CRYPTO_CTRL_int[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CRYPTO_CTRL_src[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CRYPTO_CTRL_bso[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CRYPTO_CTRL_bsi[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CRYPTO_CTRL_wait_end[6:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CRYPTO_CTRL_wait_pol[7:7];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CRYPTO_CTRL_wrsrc[9:8];
            field {
                desc = "This field has the following custom Renode callbacks: Change.";
                sw = rw;
            } CRYPTO_CTRL_rdsrc[11:10];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CRYPTO_CTRL_flag_mode[14:14];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CRYPTO_CTRL_dmadnemsk[15:15];
            field {
                sw = rw;
            } CRYPTO_CTRL_dma_done[24:24];
            field {
                desc = "This field has the following custom Renode callbacks: Change.";
                sw = rw;
            } CRYPTO_CTRL_gls_done[25:25];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CRYPTO_CTRL_hsh_done[26:26];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CRYPTO_CTRL_cph_done[27:27];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CRYPTO_CTRL_maa_done[28:28];
            field {
                sw = r;
            } CRYPTO_CTRL_err[29:29];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } CRYPTO_CTRL_rdy[30:30];
            field {
                sw = rw;
            } CRYPTO_CTRL_done[31:31];
    } CryptoControl @ 0x0;
    reg {
        name="CipherControl";
        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];
    } CipherControl @ 0x4;
    reg {
        name="HashControl";
        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];
    } HashControl @ 0x8;
    reg {
        name="CRCControl";
        regwidth=0x20;
            field {
                sw = rw;
            } CRC_CTRL_crc[0:0];
            field {
                desc = "This field has the following custom Renode callbacks: Change.";
                sw = rw;
            } CRC_CTRL_msb[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CRC_CTRL_prng[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CRC_CTRL_ent[3:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CRC_CTRL_ham[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CRC_CTRL_hrst[5:5];
    } CRCControl @ 0xc;
    reg {
        name="DMASource";
        regwidth=0x20;
            field {
                sw = rw;
            } DMA_SRC_addr[31:0];
    } DMASource @ 0x10;
    reg {
        name="DMADestination";
        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];
    } DMADestination @ 0x14;
    reg {
        name="DMACount";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x20;
            field {
                sw = rw;
            } DMA_CNT_addr[31:0];
    } DMACount @ 0x18;
    reg {
        name="MAAControl";
        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];
    } MAAControl @ 0x1c;
    reg {
        name="DataIn0";
        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];
    } DataIn0 @ 0x20;
    reg {
        name="DataIn1";
        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];
    } DataIn1 @ 0x24;
    reg {
        name="DataIn2";
        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];
    } DataIn2 @ 0x28;
    reg {
        name="DataIn3";
        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];
    } DataIn3 @ 0x2c;
    reg {
        name="DataOut0";
        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];
    } DataOut0 @ 0x30;
    reg {
        name="DataOut1";
        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];
    } DataOut1 @ 0x34;
    reg {
        name="DataOut2";
        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];
    } DataOut2 @ 0x38;
    reg {
        name="DataOut3";
        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];
    } DataOut3 @ 0x3c;
    reg {
        name="CRCPolynomial";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Change.";
                sw = w;
                reset=32'b11101101101110001000001100100000;
            } CRC_POLY_data[31:0];
    } CRCPolynomial @ 0x40;
    reg {
        name="CRCValue";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Change.";
                sw = rw;
                reset=32'b11111111111111111111111111111111;
            } CRC_VAL_val[31:0];
    } CRCValue @ 0x44;
    reg {
        name="PRNG";
        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];
    } PRNG @ 0x48;
    reg {
        name="HammingECC";
        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];
    } HammingECC @ 0x4c;
    reg {
        name="CipherInitialVector0";
        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];
    } CipherInitialVector0 @ 0x50;
    reg {
        name="CipherInitialVector1";
        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];
    } CipherInitialVector1 @ 0x54;
    reg {
        name="CipherInitialVector2";
        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];
    } CipherInitialVector2 @ 0x58;
    reg {
        name="CipherInitialVector3";
        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];
    } CipherInitialVector3 @ 0x5c;
    reg {
        name="CipherKey0";
        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];
    } CipherKey0 @ 0x60;
    reg {
        name="CipherKey1";
        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];
    } CipherKey1 @ 0x64;
    reg {
        name="CipherKey2";
        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];
    } CipherKey2 @ 0x68;
    reg {
        name="CipherKey3";
        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];
    } CipherKey3 @ 0x6c;
    reg {
        name="CipherKey4";
        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];
    } CipherKey4 @ 0x70;
    reg {
        name="CipherKey5";
        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];
    } CipherKey5 @ 0x74;
    reg {
        name="CipherKey6";
        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];
    } CipherKey6 @ 0x78;
    reg {
        name="CipherKey7";
        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];
    } CipherKey7 @ 0x7c;
    reg {
        name="HashMessageDigest0";
        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];
    } HashMessageDigest0 @ 0x80;
    reg {
        name="HashMessageDigest1";
        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];
    } HashMessageDigest1 @ 0x84;
    reg {
        name="HashMessageDigest2";
        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];
    } HashMessageDigest2 @ 0x88;
    reg {
        name="HashMessageDigest3";
        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];
    } HashMessageDigest3 @ 0x8c;
    reg {
        name="HashMessageDigest4";
        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];
    } HashMessageDigest4 @ 0x90;
    reg {
        name="HashMessageDigest5";
        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];
    } HashMessageDigest5 @ 0x94;
    reg {
        name="HashMessageDigest6";
        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];
    } HashMessageDigest6 @ 0x98;
    reg {
        name="HashMessageDigest7";
        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];
    } HashMessageDigest7 @ 0x9c;
    reg {
        name="HashMessageDigest8";
        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];
    } HashMessageDigest8 @ 0xa0;
    reg {
        name="HashMessageDigest9";
        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];
    } HashMessageDigest9 @ 0xa4;
    reg {
        name="HashMessageDigest10";
        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];
    } HashMessageDigest10 @ 0xa8;
    reg {
        name="HashMessageDigest11";
        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];
    } HashMessageDigest11 @ 0xac;
    reg {
        name="HashMessageDigest12";
        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];
    } HashMessageDigest12 @ 0xb0;
    reg {
        name="HashMessageDigest13";
        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];
    } HashMessageDigest13 @ 0xb4;
    reg {
        name="HashMessageDigest14";
        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];
    } HashMessageDigest14 @ 0xb8;
    reg {
        name="HashMessageDigest15";
        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];
    } HashMessageDigest15 @ 0xbc;
    reg {
        name="HashMessageSize0";
        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];
    } HashMessageSize0 @ 0xc0;
    reg {
        name="HashMessageSize1";
        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];
    } HashMessageSize1 @ 0xc4;
    reg {
        name="HashMessageSize2";
        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];
    } HashMessageSize2 @ 0xc8;
    reg {
        name="HashMessageSize3";
        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];
    } HashMessageSize3 @ 0xcc;
    reg {
        name="MAAWordSize";
        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];
    } MAAWordSize @ 0xd0;
} Registers_addrmap;


};