addrmap EgisET171_AOSMU {

addrmap {
    desc = "Generated by RenodeModelsAnalyzer";
    reg {
        name="Version";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } Project[15:4];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } Revision[3:0];
    } Version @ 0x0;
    reg {
        name="ClockSource";
        desc = "This register has the following custom Renode callbacks: Change";
        regwidth=0x20;
            field {
                sw = rw;
                reset=3'b100;
            } Root_clk_div[6:4];
            field {
                sw = rw;
            } APB_clk_div[3:1];
            field {
                sw = rw;
                reset=1'b1;
            } Root_clk_sel[0:0];
    } ClockSource @ 0x4;
    reg {
        name="BootStrapping";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } Boot_strapping[3:0];
    } BootStrapping @ 0x8;
    reg {
        name="SecureControl";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SPIS_No_Access[31:31];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Bootloader_bypass_bootstrap[17:17];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Bootloader_DFU_en[16:16];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Sk_d_no_read[15:15];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Sk_d2_no_read[14:14];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Sk_d3_no_read[13:13];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Sk_d_disable[10:10];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Sk_d_sel[9:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=2'b1;
            } Sk_d_key_size[7:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Fw_debug_en[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Core_clk_en[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Mcu_reset[3:3];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } Warm_Reset[2:2];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } Reset[1:1];
    } SecureControl @ 0xc;
    reg {
        name="ResetVector";
        regwidth=0x20;
            field {
                sw = rw;
                reset=32'b1110000000000000000000000000000;
            } Reset_vector[31:0];
    } ResetVector @ 0x10;
    reg {
        name="ClockEnable";
        desc = "This register has the following custom Renode callbacks: Change";
        regwidth=0x20;
            field {
                sw = rw;
                reset=1'b1;
            } SySRAM1_clk_en[21:21];
            field {
                sw = rw;
                reset=1'b1;
            } LIN_clk_en[20:20];
            field {
                sw = rw;
                reset=1'b1;
            } CAN_clk_en[19:19];
            field {
                sw = rw;
                reset=1'b1;
            } SPIM3_clk_en[18:18];
            field {
                sw = rw;
                reset=1'b1;
            } SySRAM3_clk_en[17:17];
            field {
                sw = rw;
                reset=1'b1;
            } SySRAM2_clk_en[16:16];
            field {
                sw = rw;
                reset=1'b1;
            } SySRAM0_clk_en[15:15];
            field {
                sw = rw;
                reset=1'b1;
            } SPIM2_clk_en[14:14];
            field {
                sw = rw;
                reset=1'b1;
            } SPIM1_clk_en[13:13];
            field {
                sw = rw;
                reset=1'b1;
            } SPIS_clk_en[12:12];
            field {
                sw = rw;
                reset=1'b1;
            } Crypto_clk_en[11:11];
            field {
                sw = rw;
                reset=1'b1;
            } DMAC_clk_en[10:10];
            field {
                sw = rw;
                reset=1'b1;
            } USB2_clk_en[9:9];
            field {
                sw = rw;
                reset=1'b1;
            } HWA_clk_en[8:8];
            field {
                sw = rw;
                reset=1'b1;
            } HWAv2_clk_en[7:7];
            field {
                sw = rw;
                reset=1'b1;
            } GPIO_clk_en[6:6];
            field {
                sw = rw;
                reset=1'b1;
            } PITPWM_clk_en[5:5];
            field {
                sw = rw;
                reset=1'b1;
            } I2C_clk_en[4:4];
            field {
                sw = rw;
                reset=1'b1;
            } UART_clk_en[3:3];
            field {
                sw = rw;
                reset=1'b1;
            } OTPC_clk_en[2:2];
            field {
                sw = rw;
                reset=1'b1;
            } WDT_clk_en[1:1];
            field {
                sw = rw;
                reset=1'b1;
            } RTC_clk_en[0:0];
    } ClockEnable @ 0x14;
    reg {
        name="SoftwareReset";
        desc = "This register has the following custom Renode callbacks: Change";
        regwidth=0x20;
            field {
                sw = rw;
                reset=1'b1;
            } SySRAM1_sw_rst[21:21];
            field {
                sw = rw;
                reset=1'b1;
            } LIN_sw_rst[20:20];
            field {
                sw = rw;
                reset=1'b1;
            } CAN_sw_rst[19:19];
            field {
                sw = rw;
                reset=1'b1;
            } SPIM3_sw_rst[18:18];
            field {
                sw = rw;
                reset=1'b1;
            } SySRAM3_sw_rst[17:17];
            field {
                sw = rw;
                reset=1'b1;
            } SySRAM2_sw_rst[16:16];
            field {
                sw = rw;
                reset=1'b1;
            } SySRAM0_sw_rst[15:15];
            field {
                sw = rw;
                reset=1'b1;
            } SPIM2_sw_rst[14:14];
            field {
                sw = rw;
                reset=1'b1;
            } SPIM1_sw_rst[13:13];
            field {
                sw = rw;
                reset=1'b1;
            } SPIS_sw_rst[12:12];
            field {
                sw = rw;
                reset=1'b1;
            } Crypto_sw_rst[11:11];
            field {
                sw = rw;
                reset=1'b1;
            } DMAC_sw_rst[10:10];
            field {
                sw = rw;
                reset=1'b1;
            } USB2_sw_rst[9:9];
            field {
                sw = rw;
                reset=1'b1;
            } HWA_sw_rst[8:8];
            field {
                sw = rw;
                reset=1'b1;
            } HWAv2_sw_rst[7:7];
            field {
                sw = rw;
                reset=1'b1;
            } GPIO_sw_rst[6:6];
            field {
                sw = rw;
                reset=1'b1;
            } PITPWM_sw_rst[5:5];
            field {
                sw = rw;
                reset=1'b1;
            } I2C_sw_rst[4:4];
            field {
                sw = rw;
                reset=1'b1;
            } UART_sw_rst[3:3];
            field {
                sw = rw;
                reset=1'b1;
            } OTPC_sw_rst[2:2];
            field {
                sw = rw;
                reset=1'b1;
            } WDT_sw_rst[1:1];
            field {
                sw = rw;
                reset=1'b1;
            } RTC_sw_rst[0:0];
    } SoftwareReset @ 0x18;
    reg {
        name="Dummy";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
                reset=1'b1;
            } USB2_pwr_rdy[31:31];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=1'b1;
            } SPIS2_CSN_no_wake[30:30];
            field {
                sw = rw;
                reset=12'b111111111111;
            } Dummy1[29:18];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=2'b11;
            } AO_WDT_ON[17:16];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SPIS_CSN_no_wake[15:15];
            field {
                sw = rw;
            } RESET_EVENT_RSTN_PIN[14:14];
            field {
                sw = rw;
            } RESET_EVENT_POR[13:13];
            field {
                sw = rw;
            } RESET_EVENT_WDT[12:12];
            field {
                sw = rw;
            } Dummy0[10:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Bypass_BROM_update[1:1];
            field {
                sw = rw;
            } Sleep_wakeup_flag[0:0];
    } Dummy @ 0x1c;
    reg {
        name="PowerMode";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=1'b1;
            } PHY_p33ready_09v[31:31];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=1'b1;
            } PHY_p09ready_33v_09v[30:30];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } USB2_iso_en[29:29];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=1'b1;
            } USB2_pwr_en[28:28];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=12'b11;
            } SySRAM_ret_ctrl[27:16];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Sel_AO0_wake[15:14];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Sel_AO1_wake[13:12];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Sel_AO2_wake[11:10];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Fod_int_polarity[9:9];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=1'b1;
            } USB2_pwr_rdy[3:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Force_pd[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Force_sleep[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } WFI_sleep[0:0];
    } PowerMode @ 0x20;
    reg {
        name="PowerMode2";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Pwr2rstn_cycles[31:24];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=4'b10;
            } Sleep_DLDO_delta[23:20];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Cnt_initial_value[19:0];
    } PowerMode2 @ 0x24;
    reg {
        name="PowerWake";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=1'b1;
            } Sleep_fod_int_en[6:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Sleep_usb2_int_en[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Sleep_AO0_int_en[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Sleep_AO1_int_en[3:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Sleep_AO2_int_en[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Sleep_spis_int_en[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Sleep_cnt_int_en[0:0];
    } PowerWake @ 0x28;
    reg {
        name="PowerWake2";
        regwidth=0x20;
            field {
                sw = w;
                onwrite = woclr;
            } Sleep_fod_int_pending[6:6];
            field {
                sw = w;
                onwrite = woclr;
            } Sleep_usb2_int_pending[5:5];
            field {
                sw = w;
                onwrite = woclr;
            } Sleep_AO0_int_pending[4:4];
            field {
                sw = w;
                onwrite = woclr;
            } Sleep_AO1_int_pending[3:3];
            field {
                sw = w;
                onwrite = woclr;
            } Sleep_AO2_int_pending[2:2];
            field {
                sw = w;
                onwrite = woclr;
            } Sleep_spis_int_pending[1:1];
            field {
                sw = w;
                onwrite = woclr;
            } Sleep_cnt_int_pending[0:0];
    } PowerWake2 @ 0x2c;
    reg {
        name="PadOutputEnableStable";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Pad_OE_Stable[31:0];
    } PadOutputEnableStable @ 0x30;
    reg {
        name="PadDigitalOutputStable";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Pad_DO_Stable[31:0];
    } PadDigitalOutputStable @ 0x40;
    reg {
        name="PadPullDown";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Pad_PD[31:0];
    } PadPullDown @ 0x50;
    reg {
        name="PadDrivingStrength";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Pad_DS[31:0];
    } PadDrivingStrength @ 0x60;
    reg {
        name="PadInputEnable";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=32'b11111111111111111111111111111111;
            } Pad_IE[31:0];
    } PadInputEnable @ 0x70;
    reg {
        name="AnalogLDO30";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } AnalogLDO30[31:0];
    } AnalogLDO30 @ 0x200;
    reg {
        name="AnalogLDO18";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } AnalogLDO18[31:0];
    } AnalogLDO18 @ 0x204;
    reg {
        name="AnalogLDO11";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } AnalogLDO11[31:0];
    } AnalogLDO11 @ 0x208;
    reg {
        name="AnalogOscillator100K";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=32'b10111000000000000000000000000;
            } Analog_OSC100k[31:0];
    } AnalogOscillator100K @ 0x20c;
    reg {
        name="AnalogOscillator360M";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=32'b1000000011100000000000000000000;
            } Analog_OSC360M[31:0];
    } AnalogOscillator360M @ 0x210;
    reg {
        name="USB2PHY";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } USB2PHY[31:0];
    } USB2PHY @ 0x600;
} Registers_addrmap;


};