addrmap EOSS3_SimplePeriodicTimer {

addrmap {
    desc = "Generated by RenodeModelsAnalyzer";
    reg {
        name="TimerConfiguration";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } SPT_EN[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CLK_SRC_SEL[1:1];
            field {
                sw = rw;
            } INT_MASK_N[9:2];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } FFE_TO_PERIOD[17:10];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PMU_TO_PERIOD[21:18];
    } TimerConfiguration @ 0x0;
    reg {
        name="SleepMode";
        regwidth=0x20;
            field {
                sw = rw;
            } SLEEP_MODE[0:0];
    } SleepMode @ 0x4;
    reg {
        name="ErrorCompensation40ms";
        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];
    } ErrorCompensation40ms @ 0x8;
    reg {
        name="ErrorCompensation1s0";
        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];
    } ErrorCompensation1s0 @ 0xc;
    reg {
        name="ErrorCompensation1s1";
        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];
    } ErrorCompensation1s1 @ 0x10;
    reg {
        name="ErrorCompensation1s2";
        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];
    } ErrorCompensation1s2 @ 0x14;
    reg {
        name="ErrorCompensation1s3";
        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];
    } ErrorCompensation1s3 @ 0x18;
    reg {
        name="ErrorCompensationRTC0";
        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];
    } ErrorCompensationRTC0 @ 0x1c;
    reg {
        name="ErrorCompensationRTC1";
        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];
    } ErrorCompensationRTC1 @ 0x20;
    reg {
        name="ErrorCompensationRTC2";
        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];
    } ErrorCompensationRTC2 @ 0x24;
    reg {
        name="ErrorCompensationRTC3";
        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];
    } ErrorCompensationRTC3 @ 0x28;
    reg {
        name="UpdateTimerValue";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } UPDATE_TIMER_VALUE[29:0];
    } UpdateTimerValue @ 0x2c;
    reg {
        name="SpareBits";
        regwidth=0x20;
            field {
                sw = rw;
            } SPARE_BITS[7:0];
    } SpareBits @ 0x30;
    reg {
        name="TimerValue";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } TIMER_VALUE[29:0];
    } TimerValue @ 0x34;
    reg {
        name="EventCounterValue";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } EVENT_CNT_VALUE[7:0];
    } EventCounterValue @ 0x38;
    reg {
        name="MsecCounterValue";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } MS_CNT_VALUE[7:0];
    } MsecCounterValue @ 0x3c;
} Registers_addrmap;


};