addrmap IMXRT_FlexSPI {

addrmap {
    desc = "Generated by RenodeModelsAnalyzer";
    reg {
        name="ModuleControlRegister0";
        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];
    } ModuleControlRegister0 @ 0x0;
    reg {
        name="ModuleControlRegister1";
        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];
    } ModuleControlRegister1 @ 0x4;
    reg {
        name="ModuleControlRegister2";
        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];
    } ModuleControlRegister2 @ 0x8;
    reg {
        name="AHBBusControlRegister";
        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];
    } AHBBusControlRegister @ 0xc;
    reg {
        name="InterruptEnableRegister";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x20;
            field {
                sw = rw;
            } IPCMDDONEEN___IP_triggered_Command_Sequences_Execution_finished_interrupt_enable[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } AHBCMDERREN___AHB_triggered_Command_Sequences_Error_Detected_interrupt_enable[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } IPCMDGEEN___IP_triggered_Command_Sequences_Grant_Timeout_interrupt_enable[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } AHBCMDGEEN___AHB_triggered_Command_Sequences_Grant_Timeout_interrupt_enable[3:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } IPCMDERREN___IP_triggered_Command_Sequences_Error_Detected_interrupt_enable[4:4];
            field {
                sw = rw;
            } IPRXWAEN___IP_RX_FIFO_watermark_available_interrupt_enable[5:5];
            field {
                sw = rw;
            } IPTXWEEN___IP_TX_FIFO_watermark_empty_interrupt_enable[6:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SEQTIMEOUTEN___Sequence_execution_timeout_interrupt_enable[8:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SCKSTOPBYRDEN___SCLK_is_stopped_during_command_sequence_because_Async_RX_FIFO_full_interrupt_enable[9:9];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SCKSTOPBYWREN___SCLK_is_stopped_during_command_sequence_because_Async_TX_FIFO_empty_interrupt_enable[10:10];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } AHBBUSTIMEOUTEN___AHB_Bus_timeout_interrupt_enable[11:11];
    } InterruptEnableRegister @ 0x10;
    reg {
        name="InterruptRegister";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x20;
            field {
                sw = rw;
                onwrite = woclr;
            } IPCMDDONE___IP_triggered_Command_Sequences_Execution_finished_interrupt[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } AHBCMDERR___AHB_triggered_Command_Sequences_Error_Detected_interrupt[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } IPCMDGE___IP_triggered_Command_Sequences_Grant_Timeout_interrupt[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } AHBCMDGE___AHB_triggered_Command_Sequences_Grant_Timeout_interrupt[3:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } IPCMDERR___IP_triggered_Command_Sequences_Error_Detected_interrupt[4:4];
            field {
                sw = rw;
                onwrite = woclr;
            } IPRXWA___IP_RX_FIFO_watermark_available_interrupt[5:5];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
                onwrite = woclr;
            } IPTXWE___IP_TX_FIFO_watermark_empty_interrupt[6:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SEQTIMEOUT___Sequence_execution_timeout_interrupt[8:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SCKSTOPBYRD___SCLK_is_stopped_during_command_sequence_because_Async_RX_FIFO_full_interrupt[9:9];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SCKSTOPBYWR___SCLK_is_stopped_during_command_sequence_because_Async_TX_FIFO_empty_interrupt[10:10];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } AHBBUSTIMEOUT___AHB_Bus_timeout_interrupt[11:11];
    } InterruptRegister @ 0x14;
    reg {
        name="LUTKeyRegister";
        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];
    } LUTKeyRegister @ 0x18;
    reg {
        name="LUTControlRegister";
        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];
    } LUTControlRegister @ 0x1c;
    reg {
        name="AHBRXBuffer0ControlRegister0";
        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];
    } AHBRXBuffer0ControlRegister0 @ 0x20;
    reg {
        name="AHBRXBuffer1ControlRegister0";
        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];
    } AHBRXBuffer1ControlRegister0 @ 0x24;
    reg {
        name="AHBRXBuffer2ControlRegister0";
        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];
    } AHBRXBuffer2ControlRegister0 @ 0x28;
    reg {
        name="AHBRXBuffer3ControlRegister0";
        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];
    } AHBRXBuffer3ControlRegister0 @ 0x2c;
    reg {
        name="FlashA1ControlRegister0";
        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];
    } FlashA1ControlRegister0 @ 0x60;
    reg {
        name="FlashA2ControlRegister0";
        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];
    } FlashA2ControlRegister0 @ 0x64;
    reg {
        name="FlashB1ControlRegister0";
        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];
    } FlashB1ControlRegister0 @ 0x68;
    reg {
        name="FlashB2ControlRegister0";
        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];
    } FlashB2ControlRegister0 @ 0x6c;
    reg {
        name="FlashA1ControlRegister1";
        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];
    } FlashA1ControlRegister1 @ 0x70;
    reg {
        name="FlashA2ControlRegister1";
        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];
    } FlashA2ControlRegister1 @ 0x74;
    reg {
        name="FlashB1ControlRegister1";
        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];
    } FlashB1ControlRegister1 @ 0x78;
    reg {
        name="FlashB2ControlRegister1";
        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];
    } FlashB2ControlRegister1 @ 0x7c;
    reg {
        name="FlashA1ControlRegister2";
        regwidth=0x20;
            field {
                sw = rw;
            } ARDSEQID___Sequence_Index_for_AHB_Read_triggered_Command_in_LUT[3:0];
            field {
                sw = rw;
            } ARDSEQNUM___Sequence_Number_for_AHB_Read_triggered_Command_in_LUT[7:5];
            field {
                sw = rw;
            } AWRSEQID___Sequence_Index_for_AHB_Write_triggered_Command[11:8];
            field {
                sw = rw;
            } AWRSEQNUM___Sequence_Number_for_AHB_Write_triggered_Command[15:13];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } AWRWRITE[27:16];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } AWRWAITUNIT[30:28];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CLRINSTRPTR[31:31];
    } FlashA1ControlRegister2 @ 0x80;
    reg {
        name="FlashA2ControlRegister2";
        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];
    } FlashA2ControlRegister2 @ 0x84;
    reg {
        name="FlashB1ControlRegister2";
        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];
    } FlashB1ControlRegister2 @ 0x88;
    reg {
        name="FlashB2ControlRegister2";
        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];
    } FlashB2ControlRegister2 @ 0x8c;
    reg {
        name="FlashControlRegister4";
        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];
    } FlashControlRegister4 @ 0x94;
    reg {
        name="IPControlRegister0";
        regwidth=0x20;
            field {
                sw = rw;
            } SFAR___Serial_Flash_Address_for_IP_command[31:0];
    } IPControlRegister0 @ 0xa0;
    reg {
        name="IPControlRegister1";
        regwidth=0x20;
            field {
                sw = rw;
            } IDATSZ___Flash_Read_Program_Data_Size_in_bytes_for_IP_command[15:0];
            field {
                sw = rw;
            } ISEQID___Sequence_Index_in_LUT_for_IP_command[19:16];
            field {
                sw = rw;
            } ISEQNUM___Sequence_Number_for_IP_command__ISEQNUM1[26:24];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } IPAREN___Parallel_mode_Enabled_for_IP_command[31:31];
    } IPControlRegister1 @ 0xa4;
    reg {
        name="IPCommandRegister";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } TRG[0:0];
    } IPCommandRegister @ 0xb0;
    reg {
        name="IPRXFIFOControlRegister";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } CLRIPRXF___Clear_all_valid_data_entries_in_IP_RX_FIFO[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } RXDMAEN___IP_RX_FIFO_reading_by_DMA_enabled[1:1];
            field {
                sw = rw;
            } RXWMRK___Watermark_level[5:2];
    } IPRXFIFOControlRegister @ 0xb8;
    reg {
        name="IPTXFIFOControlRegister";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } CLRIPTXF___Clear_all_valid_data_entries_in_IP_TX_FIFO[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } TXDMAEN___IP_TX_FIFO_reading_by_DMA_enabled[1:1];
            field {
                sw = rw;
            } TXWMRK___Watermark_level[5:2];
    } IPTXFIFOControlRegister @ 0xbc;
    reg {
        name="DLLAControlRegister0";
        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];
    } DLLAControlRegister0 @ 0xc0;
    reg {
        name="DLLBControlRegister0";
        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];
    } DLLBControlRegister0 @ 0xc4;
    reg {
        name="StatusRegister0";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } SEQIDLE___Command_sequence_idle_[0:0];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } ARBIDLE___Arbitrator_idle[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } ARBCMDSRC[3:2];
    } StatusRegister0 @ 0xe0;
    reg {
        name="StatusRegister1";
        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];
    } StatusRegister1 @ 0xe4;
    reg {
        name="StatusRegister2";
        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];
    } StatusRegister2 @ 0xe8;
    reg {
        name="AHBSuspendStatusRegister";
        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];
    } AHBSuspendStatusRegister @ 0xec;
    reg {
        name="IPRXFIFOStatusRegister";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } FILL___Fill_level_of_IP_RX_FIFO[7:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } RDCNTR___Total_Read_Data_Counter[31:16];
    } IPRXFIFOStatusRegister @ 0xf0;
    reg {
        name="IPTXFIFOStatusRegister";
        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];
    } IPTXFIFOStatusRegister @ 0xf4;
    reg {
        name="IPRXFIFODataRegister0";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } RXDATA[31:0];
    } IPRXFIFODataRegister0 [32]@ 0x100 += 4;
    reg {
        name="IPTXFIFODataRegister0";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } TXDATA[31:0];
    } IPTXFIFODataRegister0 [32]@ 0x180 += 4;
    reg {
        name="LUT0";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } No_name_1[3:0];
    } LUT0 [64]@ 0x200 += 4;
} Registers_addrmap;


};