addrmap LPC_CTimer {

addrmap {
    desc = "Generated by RenodeModelsAnalyzer";
    reg {
        name="Interrupt";
        desc = "This register has the following custom Renode callbacks: Change";
        regwidth=0x20;
            field {
                sw = rw;
                onwrite = woclr;
            } MR0INT[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MR1INT[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MR2INT[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MR3INT[3:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CR0INT[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CR1INT[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CR2INT[6:6];
    } Interrupt @ 0x0;
    reg {
        name="TimerControl";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Change, Provider.";
                sw = rw;
            } CEN[0:0];
            field {
                desc = "This field has the following custom Renode callbacks: Change.";
                sw = rw;
            } CRST[1:1];
    } TimerControl @ 0x4;
    reg {
        name="TimerCounter";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } TCVAL[31:0];
    } TimerCounter @ 0x8;
    reg {
        name="Prescale";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Change, Provider.";
                sw = rw;
            } PRVAL[31:0];
    } Prescale @ 0xc;
    reg {
        name="PrescaleCounter";
        desc = "This register has the following custom Renode callbacks: Read";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PCVAL[31:0];
    } PrescaleCounter @ 0x10;
    reg {
        name="MatchControl";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x20;
            field {
                sw = rw;
            } MR0I[0:0];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } MR0R[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MR0S[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MR1I[3:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MR1R[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MR1S[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MR2I[6:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MR2R[7:7];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MR2S[8:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MR3I[9:9];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MR3R[10:10];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MR3S[11:11];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MR0RL[24:24];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MR1RL[25:25];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MR2RL[26:26];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MR3RL[27:27];
    } MatchControl @ 0x14;
    reg {
        name="Match0";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Change, Provider.";
                sw = rw;
            } MATCH[31:0];
    } Match0 @ 0x18;
    reg {
        name="Match1";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MATCH[31:0];
    } Match1 @ 0x1c;
    reg {
        name="Match2";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MATCH[31:0];
    } Match2 @ 0x20;
    reg {
        name="Match3";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MATCH[31:0];
    } Match3 @ 0x24;
    reg {
        name="CaptureControl";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CAP0RE[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CAP0FE[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CAP0I[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CAP1RE[3:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CAP1FE[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CAP1I[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CAP2RE[6:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CAP2FE[7:7];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CAP2I[8:8];
    } CaptureControl @ 0x28;
    reg {
        name="Capture0";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CAP[31:0];
    } Capture0 [4]@ 0x2c += 4;
    reg {
        name="ExternalMatch";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } EM0[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } EM1[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } EM2[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } EM3[3:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } EMC0[5:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } EMC1[7:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } EMC2[9:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } EMC3[11:10];
    } ExternalMatch @ 0x3c;
    reg {
        name="CountControl";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CTMODE[1:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CINSEL[3:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } ENCC[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SELCC[6:5];
    } CountControl @ 0x70;
    reg {
        name="PwmControl";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PWMEN0[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PWMEN1[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PWMEN2[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PWMEN3[3:3];
    } PwmControl @ 0x74;
    reg {
        name="Match0Shadow";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SHADOW[31:0];
    } Match0Shadow [4]@ 0x78 += 4;
} Registers_addrmap;


};