addrmap IMXRT_LPSPI {

addrmap {
    desc = "Generated by RenodeModelsAnalyzer";
    reg {
        name="VersionID";
        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];
    } VersionID @ 0x0;
    reg {
        name="Parameter";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } TXFIFO___Transmit_FIFO_Size_in_words_size__2TXFIFO[7:0];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } RXFIFO___Receive_FIFO_Size_in_words_size__2RXFIFO[15:8];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } PCSNUM___PCS_Number_Indicates_the_number_of_PCS_pins_supported[23:16];
    } Parameter @ 0x4;
    reg {
        name="Control";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Change.";
                sw = rw;
            } MEN___Module_Enable[0:0];
            field {
                desc = "This field has the following custom Renode callbacks: Change.";
                sw = rw;
            } RST___Software_Reset[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } DOZEN___Doze_mode_enable[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } DBGEN___Debug_Enable[3:3];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } RTF___Reset_Transmit_FIFO[8:8];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } RRF___Reset_Receive_FIFO[9:9];
    } Control @ 0x10;
    reg {
        name="Status";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } TDF___Transmit_Data_Flag[0:0];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } RDF___Receive_Data_Flag[1:1];
            field {
                sw = w;
                onwrite = woclr;
            } WCF___Word_Complete_Flag[8:8];
            field {
                sw = w;
                onwrite = woclr;
            } FCF___Frame_Complete_Flag[9:9];
            field {
                sw = rw;
                onwrite = woclr;
            } TCF___Transfer_Complete_Flag[10:10];
            field {
                sw = w;
                onwrite = woclr;
            } TEF___Transmit_Error_Flag[11:11];
            field {
                sw = w;
                onwrite = woclr;
            } REF___Receive_Error_Flag[12:12];
            field {
                sw = rw;
                onwrite = woclr;
            } DMF___Data_Match_Flag[13:13];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MBF___Module_Busy_Flag[24:24];
    } Status @ 0x14;
    reg {
        name="InterruptEnable";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x20;
            field {
                sw = rw;
            } TDIE___Transmit_Data_Interrupt_Enable[0:0];
            field {
                sw = rw;
            } RDIE___Receive_Data_Interrupt_Enable[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } WCIE___Word_Complete_Interrupt_Enable[8:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } FCIE___Frame_Complete_Interrupt_Enable[9:9];
            field {
                sw = rw;
            } TCIE___Transfer_Complete_Interrupt_Enable[10:10];
            field {
                sw = rw;
            } TEIE___Transmit_Error_Interrupt_Enable[11:11];
            field {
                sw = rw;
            } REIE___Receive_Error_Interrupt_Enable[12:12];
            field {
                sw = rw;
            } DMIE___Data_Match_Interrupt_Enable[13:13];
    } InterruptEnable @ 0x18;
    reg {
        name="DMAEnable";
        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];
    } DMAEnable @ 0x1c;
    reg {
        name="Configuration0";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } RDMO___Receive_Data_Match_Only[9:9];
            field {
                desc = "This field has the following custom Renode callbacks: Change.";
                sw = rw;
            } CIRFIFO___Circular_FIFO_Enable[8:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } HRDIR___HostRequest_Direction[3:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } HRSEL___Host_Request_Select[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } HRPOL___Host_Request_Polarity[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } HREN___Host_Request_Enable[0:0];
    } Configuration0 @ 0x20;
    reg {
        name="Configuration1";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Change.";
                sw = rw;
            } MASTER___Master_Mode[0:0];
            field {
                sw = rw;
            } SAMPLE___Sample_Point[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } AUTOPCS___Automatic_PCS[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } NOSTALL___No_Stall[3:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PCSPOL___Peripheral_Chip_Select_Polarity[11:8];
            field {
                sw = rw;
            } MATCFG___Match_Configuration[18:16];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PINCFG___Pin_Configuration[25:24];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } OUTCFG___Output_Config[26:26];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PCSCFG___Peripheral_Chip_Select_Configuration[28:27];
    } Configuration1 @ 0x24;
    reg {
        name="DataMatch0";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Change.";
                sw = rw;
            } MATCH0___Data_match_0[31:0];
    } DataMatch0 @ 0x30;
    reg {
        name="DataMatch1";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Change.";
                sw = rw;
            } MATCH1___Data_match_1[31:0];
    } DataMatch1 @ 0x34;
    reg {
        name="ClockConfiguration";
        regwidth=0x20;
            field {
                sw = rw;
            } SCKDIV___SCK_Divider[7:0];
            field {
                sw = rw;
            } DBT___Delay_Between_Transfers[15:8];
            field {
                sw = rw;
            } PCSSCK___PCS_to_SCK_Delay[23:16];
            field {
                sw = rw;
            } SCKPCS___SCK_to_PCS_Delay[31:24];
    } ClockConfiguration @ 0x40;
    reg {
        name="FIFOControl";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } TXWATER___Transmit_FIFO_Watermark[1:0];
            field {
                sw = rw;
            } RXWATER___Receive_FIFO_Watermark[17:16];
    } FIFOControl @ 0x58;
    reg {
        name="FIFOStatus";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } TXCOUNT___Transmit_FIFO_Count[4:0];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } RXCOUNT___Receive_FIFO_Count[20:16];
    } FIFOStatus @ 0x5c;
    reg {
        name="TransmitCommand";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x20;
            field {
                sw = rw;
            } FRAMESZ___Frame_Size[11:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } WIDTH___Transfer_Width[17:16];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = rw;
            } TXMSK___Transmit_Data_Mask[18:18];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = rw;
            } RXMSK___Receive_Data_Mask[19:19];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = rw;
            } CONTC___Continuing_Command[20:20];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = rw;
            } CONT___Continuous_Transfer[21:21];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } BYSW___Byte_Swap[22:22];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } LSBF___LSB_First[23:23];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } PCS___Peripheral_Chip_Select[25:24];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PRESCALE___Prescaler_Value[29:27];
            field {
                sw = rw;
            } CPHA___Clock_Phase[30:30];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CPOL___Clock_Polarity[31:31];
    } TransmitCommand @ 0x60;
    reg {
        name="TransmitData";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } No_name_1[31:0];
    } TransmitData @ 0x64;
    reg {
        name="ReceiveStatus";
        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];
    } ReceiveStatus @ 0x70;
    reg {
        name="ReceiveData";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Read, Provider.";
                sw = r;
            } RDR___Receive_Data[31:0];
    } ReceiveData @ 0x74;
} Registers_addrmap;


};