addrmap Marvell_Armada_Timer {

addrmap {
    desc = "Generated by RenodeModelsAnalyzer";
    reg {
        name="Control";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Timer0En[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Timer0Auto[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Timer1En[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Timer1Auto[3:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Timer2En[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Timer2Auto[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Timer3En[6:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Timer3Auto[7:7];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } WdTimerEn[8:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } WdTimerAuto[9:9];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } WdTimer25MhzEn[10:10];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Timer0_25MhzEn[11:11];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Timer1_25MhzEn[12:12];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Timer2_25MhzEn[13:13];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Timer3_25MhzEn[14:14];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } WdTimerRatio[18:16];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Timer0Ratio[21:19];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Timer1Ratio[24:22];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Timer2Ratio[27:25];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Timer3Ratio[30:28];
    } Control @ 0x0;
    reg {
        name="EventStatus";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Timer0Expired[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Timer1Expired[8:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Timer2Expired[16:16];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Timer3Expired[24:24];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } WdTimerExpired[31:31];
    } EventStatus @ 0x4;
    reg {
        name="Timer0ReloadValue";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Timer0Rel[31:0];
    } Timer0ReloadValue @ 0x10;
    reg {
        name="Timer0Value";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } No_name_1[31:0];
    } Timer0Value @ 0x14;
    reg {
        name="Timer1ReloadValue";
        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];
    } Timer1ReloadValue @ 0x18;
    reg {
        name="Timer1Value";
        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];
    } Timer1Value @ 0x1c;
    reg {
        name="Timer2ReloadValue";
        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];
    } Timer2ReloadValue @ 0x20;
    reg {
        name="Timer2Value";
        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];
    } Timer2Value @ 0x24;
    reg {
        name="Timer3ReloadValue";
        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];
    } Timer3ReloadValue @ 0x28;
    reg {
        name="Timer3Value";
        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];
    } Timer3Value @ 0x2c;
} Registers_addrmap;


};