addrmap STM32H7_QuadSPI {

addrmap {
    desc = "Generated by RenodeModelsAnalyzer";
    reg {
        name="Control";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x20;
            field {
                sw = rw;
            } Enable[0:0];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } Abort[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Timeout_counter_enable[3:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Sample_shift[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Dual_flash_mode[6:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Flash_memory_selection[7:7];
            field {
                sw = rw;
            } FIFO_threshold_level[12:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Transfer_error_interrupt_enable[16:16];
            field {
                sw = rw;
            } Transfer_complete_interrupt_enable[17:17];
            field {
                sw = rw;
            } FIFO_threshold_interrupt_enable[18:18];
            field {
                sw = rw;
            } Status_match_interrupt_enable[19:19];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Timeout_interrupt_enable[20:20];
            field {
                sw = rw;
            } Automatic_status_polling_mode_stop[22:22];
            field {
                sw = rw;
            } Polling_match_mode[23:23];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Prescaler[31:24];
    } Control @ 0x0;
    reg {
        name="DeviceConfiguration";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Clock_mode_mode_0_mode_3[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Chip_select_high_time[10:8];
            field {
                sw = rw;
            } Flash_memory_size[20:16];
    } DeviceConfiguration @ 0x4;
    reg {
        name="Status";
        regwidth=0x20;
            field {
                sw = r;
            } Transmit_error_flag[0:0];
            field {
                sw = r;
            } Transfer_complete_flag[1:1];
            field {
                sw = r;
            } FIFO_threshold_flag[2:2];
            field {
                sw = r;
            } Status_match_flag[3:3];
            field {
                sw = r;
            } Timeout_flag[4:4];
            field {
                sw = r;
            } Busy[5:5];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } FIFO_level[13:8];
    } Status @ 0x8;
    reg {
        name="FlagClear";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x20;
            field {
                sw = w;
                onwrite = woclr;
            } Transmit_error_flag_clear[0:0];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
                onwrite = woclr;
            } Transfer_complete_flag_clear[1:1];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
                onwrite = woclr;
            } Status_match_flag_clear[3:3];
            field {
                sw = w;
                onwrite = woclr;
            } Timeout_flag_clear[4:4];
    } FlagClear @ 0xc;
    reg {
        name="DataLength";
        regwidth=0x20;
            field {
                sw = rw;
            } Data_length[31:0];
    } DataLength @ 0x10;
    reg {
        name="CommunicationConfiguration";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x20;
            field {
                sw = rw;
            } Instruction[7:0];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } Instruction_mode[9:8];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } Address_mode[11:10];
            field {
                sw = rw;
            } Address_size[13:12];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } Alternate_byte_mode[15:14];
            field {
                sw = rw;
            } Alternate_byte_size[17:16];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Number_of_dummy_cycles[22:18];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } Data_mode[25:24];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } Functional_mode[27:26];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Send_instruction_only_once[28:28];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Free_running_clock_mode[29:29];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } DDR_hold[30:30];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } DDR_mode[31:31];
    } CommunicationConfiguration @ 0x14;
    reg {
        name="Address";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x20;
            field {
                sw = rw;
            } Address[31:0];
    } Address @ 0x18;
    reg {
        name="AlternateByte";
        regwidth=0x20;
            field {
                sw = rw;
            } Alternate_bytes[31:0];
    } AlternateByte @ 0x1c;
    reg {
        name="Data";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } Data_bytes[31:0];
    } Data @ 0x20;
    reg {
        name="PollingStatusMask";
        regwidth=0x20;
            field {
                sw = rw;
            } Polling_status_mask[31:0];
    } PollingStatusMask @ 0x24;
    reg {
        name="PollingStatusMatch";
        regwidth=0x20;
            field {
                sw = rw;
            } Polling_status_match[31:0];
    } PollingStatusMatch @ 0x28;
    reg {
        name="PollingInterval";
        regwidth=0x20;
            field {
                sw = rw;
            } Polling_interval[15:0];
    } PollingInterval @ 0x2c;
    reg {
        name="LowPowerTimeout";
        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];
    } LowPowerTimeout @ 0x30;
} Registers_addrmap;


};