addrmap STM32L0_LpTimer {

addrmap {
    desc = "Generated by RenodeModelsAnalyzer";
    reg {
        name="InterruptAndStatus";
        regwidth=0x20;
            field {
                sw = r;
            } Compare_match_CMPM[0:0];
            field {
                sw = r;
            } Autoreload_match_ARRM[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } External_trigger_edge_event_EXTTRIG[2:2];
            field {
                sw = r;
            } Compare_register_update_OK_CMPOK_CMP1OK[3:3];
            field {
                sw = r;
            } Autoreload_register_update_OK_ARROK[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Counter_direction_change_down_to_up_UP[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Counter_direction_change_up_to_down_DOWN[6:6];
            field {
                sw = r;
            } Repetition_register_update_OK_REPOK[8:8];
            field {
                sw = r;
            } Interrupt_enable_register_update_OK_DIEROK[24:24];
    } InterruptAndStatus @ 0x0;
    reg {
        name="InterruptClear";
        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 = woclr;
            } Compare_match_clear_flag_CMPMCF[0:0];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
                onwrite = woclr;
            } Autoreload_match_clear_flag_ARRMCF[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } External_trigger_edge_event_clear_flag_EXTTRIGCF[2:2];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
                onwrite = woclr;
            } Compare_register_update_OK_clear_flag_CMPOKCF[3:3];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
                onwrite = woclr;
            } Autoreload_register_update_OK_clear_flag_ARROKCF[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Counter_direction_change_down_to_up_clear_flag_UPCF[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Counter_direction_change_up_to_down_clear_flag_DOWNCF[6:6];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
                onwrite = woclr;
            } Repetition_register_update_OK_clear_flag_REPOKCF[8:8];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
                onwrite = woclr;
            } Interrupt_enable_register_update_OK_clear_flag_DIEROKCF[24:24];
    } InterruptClear @ 0x4;
    reg {
        name="InterruptEnable";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x20;
            field {
                sw = rw;
            } Compare_match_interrupt_enable_CMPMIE[0:0];
            field {
                sw = rw;
            } Autoreload_match_interrupt_enable_ARRMIE[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } External_trigger_edge_event_interrupt_enable_EXTTRIGIE[2:2];
            field {
                sw = rw;
            } Compare_register_update_OK_interrupt_enable_CMPOKIE[3:3];
            field {
                sw = rw;
            } Autoreload_register_update_OK_interrupt_enable_ARROKIE[4:4];
            field {
                sw = rw;
            } Counter_direction_change_down_to_up_interrupt_enable_UPIE[5:5];
            field {
                sw = rw;
            } Counter_direction_change_up_to_down_interrupt_enable_DOWNIE[6:6];
            field {
                sw = rw;
            } Repetition_register_update_OK_interrupt_Enable_REPOKIE[8:8];
    } InterruptEnable @ 0x8;
    reg {
        name="Configuration";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Clock_selector_CKSEL[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Clock_Polarity_CKPOL[2:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Configurable_digital_filter_for_external_clock_CKFLT[4:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Configurable_digital_filter_for_trigger_TRGFLT[7:6];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } Clock_prescaler_PSC[11:9];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Trigger_Selector_TRIGSEL[15:13];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Trigger_Enable_and_Polarity_TRIGEN[18:17];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Timeout_enable_TIMOUT[19:19];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Waveform_Shape_WAVE[20:20];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Waveform_shape_polarity_WAVPOL[21:21];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Registers_update_mode_PRELOAD[22:22];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Counter_mode_enabled_COUNTMODE[23:23];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Encoder_mode_enable_ENC[24:24];
    } Configuration @ 0xc;
    reg {
        name="Control";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x20;
            field {
                sw = rw;
            } LPTIM_enable_ENABLE[0:0];
            field {
                sw = rw;
            } LPTIM_start_in_Single_mode_SNGSTRT[1:1];
            field {
                sw = rw;
            } Timer_start_in_Continuous_mode_CNTSTRT[2:2];
    } Control @ 0x10;
    reg {
        name="Compare";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } Compare_value_CMP[15:0];
    } Compare @ 0x14;
    reg {
        name="AutoReload";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
                reset=16'b1;
            } Autoreload_register__ARR[15:0];
    } AutoReload @ 0x18;
    reg {
        name="Counter";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } Counter_value_CNT[15:0];
    } Counter @ 0x1c;
    reg {
        name="Repetition";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Repetition_register_value_REP[7:0];
    } Repetition @ 0x28;
} Registers_addrmap;


};