addrmap SAM4S_DACC {

addrmap {
    desc = "Generated by RenodeModelsAnalyzer";
    reg {
        name="Control";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } SWRST[0:0];
    } Control @ 0x0;
    reg {
        name="Mode";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = rw;
            } TRGEN[0:0];
            field {
                sw = rw;
            } TRGSEL[3:1];
            field {
                sw = rw;
            } WORD[4:4];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = rw;
            } ONE[8:8];
            field {
                sw = rw;
            } USER_SEL[17:16];
            field {
                sw = rw;
            } TAG[20:20];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MAXS[21:21];
            field {
                sw = rw;
            } STARTUP[29:24];
    } Mode @ 0x4;
    reg {
        name="ChannelEnable";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
                onwrite = woset;
            } CH[1:0];
    } ChannelEnable @ 0x10;
    external reg {
        name="ChannelDisable";
        regwidth=0x20;
            field {
                desc = "This field uses access mode that cannot be resolved at compile-time. This field has the following custom Renode callbacks: Write.";
                sw = rw;
                onwrite = wuser;
                onread = ruser;
            } CH[1:0];
    } ChannelDisable @ 0x14;
    reg {
        name="ChannelStatus";
        regwidth=0x20;
            field {
                sw = r;
            } CH[1:0];
    } ChannelStatus @ 0x18;
    reg {
        name="ConversionData";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } DATA[31:0];
    } ConversionData @ 0x20;
    reg {
        name="InterruptEnable";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
                onwrite = woset;
            } TXRDY[0:0];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
                onwrite = woset;
            } EOC[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } ENDTX[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } TXBUFE[3:3];
    } InterruptEnable @ 0x24;
    external reg {
        name="InterruptDisable";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x20;
            field {
                desc = "This field uses access mode that cannot be resolved at compile-time. This field has the following custom Renode callbacks: Write.";
                sw = rw;
                onwrite = wuser;
                onread = ruser;
            } TXRDY[0:0];
            field {
                desc = "This field uses access mode that cannot be resolved at compile-time. This field has the following custom Renode callbacks: Write.";
                sw = rw;
                onwrite = wuser;
                onread = ruser;
            } EOC[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } ENDTX[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } TXBUFE[3:3];
    } InterruptDisable @ 0x28;
    reg {
        name="InterruptMask";
        regwidth=0x20;
            field {
                sw = r;
            } TXRDY[0:0];
            field {
                sw = r;
            } EOC[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } ENDTX[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } TXBUFE[3:3];
    } InterruptMask @ 0x2c;
    reg {
        name="InterruptStatus";
        desc = "This register has the following custom Renode callbacks: Read";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } TXRDY[0:0];
            field {
                sw = r;
                onread = rclr;
            } EOC[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } ENDTX[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } TXBUFE[3:3];
    } InterruptStatus @ 0x30;
    reg {
        name="AnalogCurrent";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } IBCTLCH0[1:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } IBCTLCH1[3:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } IBCTLDACCORE[9:8];
    } AnalogCurrent @ 0x94;
    reg {
        name="WriteProtectionMode";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x20;
            field {
                sw = w;
            } WPEN[0:0];
            field {
                sw = w;
            } WPKEY[31:8];
    } WriteProtectionMode @ 0xe4;
    reg {
        name="WriteProtectionStatus";
        regwidth=0x20;
            field {
                sw = r;
                onread = rclr;
            } WPVS[0:0];
            field {
                sw = r;
                onread = rclr;
            } WPVSRC[15:8];
    } WriteProtectionStatus @ 0xe8;
} Registers_addrmap;


};