addrmap S32K3XX_PeriodicInterruptTimer {

addrmap {
    desc = "Generated by RenodeModelsAnalyzer";
    reg {
        name="ModuleControl";
        regwidth=0x20;
        `ifdef VARIANT0
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } ModuleDisableForPIT[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Freeze[0:0];
        `elsif VARIANT3
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } ModuleDisableForRTI[2:2];
        `endif

    } ModuleControl @ 0x0;
    reg {
        name="UpperLifetimer";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } LifetimerValue[31:0];
    } UpperLifetimer @ 0xe0;
    reg {
        name="LowerLifetimer";
        regwidth=0x20;
            field {
                sw = r;
            } LifetimerValue[31:0];
    } LowerLifetimer @ 0xe4;
    reg {
        name="LoadValueSyncStatusRTI";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SyncStatus[0:0];
    } LoadValueSyncStatusRTI @ 0xec;
    reg {
        name="LoadValueRTI";
        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];
    } LoadValueRTI @ 0xf0;
    reg {
        name="CurrentValueRTI";
        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];
    } CurrentValueRTI @ 0xf4;
    reg {
        name="ControlRTI";
        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];
    } ControlRTI @ 0xf8;
    reg {
        name="FlagRTI";
        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];
    } FlagRTI @ 0xfc;
    reg {
        name="LoadValue0";
        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];
    } LoadValue0 @ 0x100;
    reg {
        name="CurrentValue0";
        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];
    } CurrentValue0 @ 0x104;
    reg {
        name="Control0";
        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];
    } Control0 @ 0x108;
    reg {
        name="Flag0";
        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];
    } Flag0 @ 0x10c;
    reg {
        name="LoadValue1";
        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];
    } LoadValue1 @ 0x110;
    reg {
        name="CurrentValue1";
        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];
    } CurrentValue1 @ 0x114;
    reg {
        name="Control1";
        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];
    } Control1 @ 0x118;
    reg {
        name="Flag1";
        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];
    } Flag1 @ 0x11c;
    reg {
        name="LoadValue2";
        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];
    } LoadValue2 @ 0x120;
    reg {
        name="CurrentValue2";
        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];
    } CurrentValue2 @ 0x124;
    reg {
        name="Control2";
        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];
    } Control2 @ 0x128;
    reg {
        name="Flag2";
        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];
    } Flag2 @ 0x12c;
    reg {
        name="LoadValue3";
        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];
    } LoadValue3 @ 0x130;
    reg {
        name="CurrentValue3";
        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];
    } CurrentValue3 @ 0x134;
    reg {
        name="Control3";
        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];
    } Control3 @ 0x138;
    reg {
        name="Flag3";
        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];
    } Flag3 @ 0x13c;
} Registers_addrmap;


};