addrmap STM32F4_RTC {

addrmap {
    desc = "Generated by RenodeModelsAnalyzer";
    reg {
        name="TimeRegister";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } SU[3:0];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } ST[6:4];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } MU[11:8];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } MT[14:12];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } HU[19:16];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } HT[21:20];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } PM[22:22];
    } TimeRegister @ 0x0;
    reg {
        name="DateRegister";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
                reset=4'b1;
            } DU[3:0];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } DT[5:4];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
                reset=4'b1;
            } MU[11:8];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } MT[12:12];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
                reset=3'b1;
            } WDU[15:13];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } YU[19:16];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } YT[23:20];
    } DateRegister @ 0x4;
    reg {
        name="ControlRegister";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } WUCKSEL[2:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } TSEDGE[3:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } REFCKON[4:4];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } BYPSHAD[5:5];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } FMT[6:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } DCE[7:7];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } ALRAE[8:8];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } ALRBE[9:9];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } WUTE[10:10];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } TSE[11:11];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } ALRAIE[12:12];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } ALRBIE[13:13];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } WUTIE[14:14];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } TSIE[15:15];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } ADD1H[16:16];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SUB1H[17:17];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } BKP[18:18];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } COSEL[19:19];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } POL[20:20];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } OSEL[22:21];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } COE[23:23];
    } ControlRegister @ 0x8;
    reg {
        name="ISR";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
                reset=1'b1;
            } ALRAWF[0:0];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
                reset=1'b1;
            } ALRBWF[1:1];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
                reset=1'b1;
            } WUTWF[2:2];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } SHPF[3:3];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } INITS[4:4];
            field {
                desc = "This field has the following custom Renode callbacks: Read.";
                sw = rw;
                onwrite = wzc;
            } RSF[5:5];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } INITF[6:6];
            field {
                desc = "This field has the following custom Renode callbacks: Change.";
                sw = w;
            } INIT[7:7];
            field {
                desc = "This field has the following custom Renode callbacks: Change, Provider.";
                sw = wr;
                onwrite = wzc;
            } ALRAF[8:8];
            field {
                desc = "This field has the following custom Renode callbacks: Change, Provider.";
                sw = wr;
                onwrite = wzc;
            } ALRBF[9:9];
            field {
                desc = "This field has the following custom Renode callbacks: Change.";
                sw = wr;
                onwrite = wzc;
            } WUTF[10:10];
            field {
                sw = rw;
                onwrite = wzc;
            } TSF[11:11];
            field {
                sw = rw;
                onwrite = wzc;
            } TSOVF[12:12];
            field {
                sw = rw;
                onwrite = wzc;
            } TAMP1F[13:13];
            field {
                sw = rw;
                onwrite = wzc;
            } TAMP2F[14:14];
            field {
                sw = rw;
                onwrite = wzc;
            } TAMP3F[15:15];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } RECALPF[16:16];
    } ISR @ 0xc;
    reg {
        name="PrescalerRegister";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
                reset=15'b11111111;
            } PREDIV_S[14:0];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
                reset=7'b1111111;
            } PREDIV_A[22:16];
    } PrescalerRegister @ 0x10;
    reg {
        name="WakeupTimerRegister";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
                reset=16'b1111111111111111;
            } WUT[15:0];
    } WakeupTimerRegister @ 0x14;
    reg {
        name="CalibrationRegister";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } DC[4:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } DCS[7:7];
    } CalibrationRegister @ 0x18;
    reg {
        name="AlarmARegister";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } SU[3:0];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } ST[6:4];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } MSK1[7:7];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } MU[11:8];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } MT[14:12];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } MSK2[15:15];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } HU[19:16];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } HT[21:20];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } PM[22:22];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } MSK3[23:23];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } DU[27:24];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } DT[29:28];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } WDSEL[30:30];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } MSK4[31:31];
    } AlarmARegister @ 0x1c;
    reg {
        name="AlarmBRegister";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } SU[3:0];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } ST[6:4];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } MSK1[7:7];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } MU[11:8];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } MT[14:12];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } MSK2[15:15];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } HU[19:16];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } HT[21:20];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } PM[22:22];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } MSK3[23:23];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } DU[27:24];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } DT[29:28];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } WDSEL[30:30];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } MSK4[31:31];
    } AlarmBRegister @ 0x20;
    reg {
        name="WriteProtectionRegister";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } KEY[7:0];
    } WriteProtectionRegister @ 0x24;
    reg {
        name="SubSecondRegister";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } SS[15:0];
    } SubSecondRegister @ 0x28;
    reg {
        name="ShiftControlRegister";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SUBFS[14:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } ADD1S[31:31];
    } ShiftControlRegister @ 0x2c;
    reg {
        name="TimestampTimeRegister";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Second[6:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Minute[14:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Hour[21:16];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PM[22:22];
    } TimestampTimeRegister @ 0x30;
    reg {
        name="TimestampDateRegister";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Day[5:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Month[12:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } WDU[15:13];
    } TimestampDateRegister @ 0x34;
    reg {
        name="TimestampSubSecondRegister";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SS[15:0];
    } TimestampSubSecondRegister @ 0x38;
    reg {
        name="ClockCalibrationRegister";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CALM[8:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CALW16[13:13];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CALW8[14:14];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CALP[15:15];
    } ClockCalibrationRegister @ 0x3c;
    reg {
        name="TamperAndAlternateFunctionConfigurationRegister";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } TAMP1E[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } TAMP1TRG[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } TAMPIE[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } TAMP2E[3:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } TAMP2TRG[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } TAMPTS[7:7];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } TAMPFREQ[10:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } TAMPFLT[12:11];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } TAMPPRCH[14:13];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } TAMPPUDIS[15:15];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } TAMP1INSEL[16:16];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } TSINSEL[17:17];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } ALARMOUTTYPE[18:18];
    } TamperAndAlternateFunctionConfigurationRegister @ 0x40;
    reg {
        name="AlarmASubSecondRegister";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } SS[14:0];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } MASKSS[27:24];
    } AlarmASubSecondRegister @ 0x44;
    reg {
        name="AlarmBSubSecondRegister";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } SS[14:0];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } MASKSS[27:24];
    } AlarmBSubSecondRegister @ 0x48;
    reg {
        name="OptionRegister";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } RTC_ALARM_TYPE[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } RTC_OUT_RMP[1:1];
    } OptionRegister @ 0x4c;
    reg {
        name="BackupStart";
        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];
    } BackupStart @ 0x50;
    reg {
        name="BackupEnd";
        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];
    } BackupEnd @ 0x9c;
} Registers_addrmap;


};