addrmap Cadence_xSPI_HWLayer {

/* Some conversion errors detected, this might mean that the peripheral's registers structure in this file is incomplete.
 * Please refer to logs and comments in the file for more information.
 * 
 * Register "ShortPollingCount" overlaps another register at the same offset (0x208) and will be skipped, as it is illegal in SystemRDL.
 */

addrmap {
    desc = "Generated by RenodeModelsAnalyzer";
    reg {
        name="Command0";
        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;
            } command0Payload[31:0];
    } Command0 @ 0x0;
    reg {
        name="Command1";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } command1Payload[31:0];
    } Command1 @ 0x4;
    reg {
        name="Command2";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } command2Payload[31:0];
    } Command2 @ 0x8;
    reg {
        name="Command3";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } command3Payload[31:0];
    } Command3 @ 0xc;
    reg {
        name="Command4";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } command4Payload[31:0];
    } Command4 @ 0x10;
    reg {
        name="Command5";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } command5Payload[31:0];
    } Command5 @ 0x14;
    reg {
        name="CommandStatusPointer";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } threadSelect[2:0];
    } CommandStatusPointer @ 0x40;
    reg {
        name="CommandStatus";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = rw;
            } dataFromDev[31:16];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } commandCompleted[15:15];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } commandFailed[14:14];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } commandDQSError[3:3];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } commandCRCError[2:2];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } commandBusError[1:1];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } commandInvalidCommandError[0:0];
    } CommandStatus @ 0x44;
    reg {
        name="ControllerStatus";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } initializationCompleted[16:16];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } initializationLegacy[9:9];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } initializationFail[8:8];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } controllerBusy[7:7];
    } ControllerStatus @ 0x100;
    reg {
        name="AutoCommandStatus";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } autoCommandControllerBusy[0:0];
    } AutoCommandStatus @ 0x104;
    reg {
        name="InterruptStatus";
        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;
            } commandCompletedInterruptStatus[23:23];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } dmaErrorInterruptStatus[22:22];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } dmaTriggeredInterruptStatus[21:21];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } commandIgnoredInterruptStatus[20:20];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } DDMA_TERR_InterruptStatus[18:18];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } DMA_TREE_InterruptStatus[17:17];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } controllerIdleInterruptStatus[16:16];
    } InterruptStatus @ 0x110;
    reg {
        name="InterruptEnable";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x20;
            field {
                sw = rw;
            } enableInterrupts[31:31];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } commandCompletedInterruptEnable[23:23];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } dmaErrorInterruptEnable[22:22];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } dmaTriggeredInterruptEnable[21:21];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } commandIgnoredInterruptEnable[20:20];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } DDMA_TERR_InterruptEnable[18:18];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } DMA_TREE_InterruptEnable[17:17];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } controllerIdleInterruptEnable[16:16];
    } InterruptEnable @ 0x114;
    reg {
        name="AutoCommandCompleteInterruptStatus";
        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;
            } autoCommandCompletedInterruptStatus[0:0];
    } AutoCommandCompleteInterruptStatus @ 0x120;
    reg {
        name="AutoCommandErrorInterruptStatus";
        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];
    } AutoCommandErrorInterruptStatus @ 0x130;
    reg {
        name="AutoCommandErrorInterruptEnable";
        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];
    } AutoCommandErrorInterruptEnable @ 0x134;
    reg {
        name="DMAErrorAddressLow";
        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];
    } DMAErrorAddressLow @ 0x150;
    reg {
        name="DMAErrorAddressHigh";
        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];
    } DMAErrorAddressHigh @ 0x154;
    reg {
        name="BootStatus";
        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];
    } BootStatus @ 0x158;
    reg {
        name="LongPollingCount";
        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];
    } LongPollingCount @ 0x208;
    /* Conversion error: Register "ShortPollingCount" overlaps another register at the same offset (0x208) and will be skipped, as it is illegal in SystemRDL.
    reg {
        name="ShortPollingCount";
        desc = "Could not determine register's width, guessed 8 bits.";
        regwidth=0x8;

    } ShortPollingCount @ 0x208;
    */
    reg {
        name="ControllerConfig";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Change.";
                sw = rw;
            } controllerMode[6:5];
    } ControllerConfig @ 0x230;
    reg {
        name="DMAInterfaceControl";
        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];
    } DMAInterfaceControl @ 0x23c;
    reg {
        name="DMASize";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } DMASize[31:0];
    } DMASize @ 0x240;
    reg {
        name="DMAStatus";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } DMADirection[8:8];
    } DMAStatus @ 0x244;
    reg {
        name="DMABufferAddress0";
        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];
    } DMABufferAddress0 @ 0x24c;
    reg {
        name="DMABufferAddress1";
        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];
    } DMABufferAddress1 @ 0x250;
    reg {
        name="DiscoveryControl";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } REQ[0:0];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } REQ_TYP[1:1];
            field {
                sw = rw;
            } PASS[2:2];
            field {
                sw = rw;
            } FAIL[4:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } INHIBIT[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } OE_VAL[6:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } OE_EN[7:7];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CMD_TYP[9:8];
            field {
                sw = rw;
            } DMY_CNT[10:10];
            field {
                sw = rw;
            } ABNUM[11:11];
            field {
                sw = rw;
            } NUM_LINES[14:12];
            field {
                sw = rw;
            } BNK[18:16];
    } DiscoveryControl @ 0x260;
    reg {
        name="XIPConfiguration";
        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];
    } XIPConfiguration @ 0x388;
    reg {
        name="SequenceConfiguration0";
        regwidth=0x20;
            field {
                sw = rw;
            } PSIZ_RD[3:0];
            field {
                sw = rw;
            } PSIZ_PGM[7:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CRC_EN[8:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CRC_VAR[9:9];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CRC_OE[10:10];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CHUNK_SIZ[14:12];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } UAL_CHUNK_EN[16:16];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } UAL_CHUNK_CHK[17:17];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } TCMS_EN[18:18];
            field {
                sw = rw;
            } DAT_SWAP[20:20];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } DAT_PER_ADDR[21:21];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } TYP[24:23];
    } SequenceConfiguration0 @ 0x390;
    reg {
        name="SequenceConfiguration1";
        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];
    } SequenceConfiguration1 @ 0x394;
    reg {
        name="DACConfiguration";
        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];
    } DACConfiguration @ 0x398;
    reg {
        name="DACAddressRemapping0";
        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];
    } DACAddressRemapping0 @ 0x39c;
    reg {
        name="DACAddressRemapping1";
        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];
    } DACAddressRemapping1 @ 0x3a0;
    reg {
        name="ResetSequenceConfiguration0";
        regwidth=0x20;
            field {
                sw = rw;
            } CMD0_VALUE[7:0];
            field {
                sw = rw;
            } CMD1_VALUE[15:8];
            field {
                sw = rw;
            } CMD0_EN[16:16];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } DAT_IOS[19:18];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } DAT_EDGE[21:21];
            field {
                sw = rw;
            } DAT_EN[22:22];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CMD_IOS[25:24];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CMD_EDGE[28:28];
    } ResetSequenceConfiguration0 @ 0x400;
    reg {
        name="ResetSequenceConfiguration1";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } P1_CMD0_EXT_EN[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } P1_CMD1_EXT_EN[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } P1_CMD0_EXT_VALUE[15:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } P1_CMD1_EXT_VALUE[23:16];
            field {
                sw = rw;
            } P1_DAT_VALUE[31:24];
    } ResetSequenceConfiguration1 @ 0x404;
    reg {
        name="EraseSequenceConfiguration0";
        regwidth=0x20;
            field {
                sw = rw;
            } CMD_VALUE[7:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CMD_IOS[9:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CMD_EDGE[11:11];
            field {
                sw = rw;
            } ADDR_CNT[14:12];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CMD_EXT_EN[15:15];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CMD_EXT_VALUE[23:16];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } ADDR_IOS[25:24];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } ADDR_EDGE[28:28];
    } EraseSequenceConfiguration0 @ 0x410;
    reg {
        name="EraseSequenceConfiguration1";
        regwidth=0x20;
            field {
                sw = rw;
            } P1_SECT_SIZ_VALUE[4:0];
    } EraseSequenceConfiguration1 @ 0x414;
    reg {
        name="EraseSequenceConfiguration2";
        regwidth=0x20;
            field {
                sw = rw;
            } ERSA_P1_CMD_VALUE[7:0];
            field {
                sw = rw;
            } ERSA_P1_CMD_IOS[9:8];
            field {
                sw = rw;
            } ERSA_P1_CMD_EDGE[11:11];
            field {
                sw = rw;
            } ERSA_P1_CMD_EXT_EN[15:15];
            field {
                sw = rw;
            } ERSA_P1_CMD_EXT_VALUE[23:16];
    } EraseSequenceConfiguration2 @ 0x418;
    reg {
        name="ProgramSequenceConfiguration0";
        regwidth=0x20;
            field {
                sw = rw;
            } P1_CMD_VALUE[7:0];
            field {
                sw = rw;
            } P1_CMD_IOS[9:8];
            field {
                sw = rw;
            } P1_CMD_EDGE[11:11];
            field {
                sw = rw;
            } P1_ADDR_CNT[14:12];
            field {
                sw = rw;
            } P1_ADDR_IOS[17:16];
            field {
                sw = rw;
            } P1_ADDR_EDGE[19:19];
            field {
                sw = rw;
            } P1_DAT_IOS[21:20];
            field {
                sw = rw;
            } P1_DAT_EDGE[23:23];
            field {
                sw = rw;
            } P1_DMY_CNT[29:24];
    } ProgramSequenceConfiguration0 @ 0x420;
    reg {
        name="ProgramSequenceConfiguration1";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } P1_CMD_EXT_EN[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } P1_CMD_EXT_VALUE[15:8];
    } ProgramSequenceConfiguration1 @ 0x424;
    reg {
        name="ProgramSequenceConfiguration2";
        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];
    } ProgramSequenceConfiguration2 @ 0x428;
    reg {
        name="ReadSequenceConfiguration0";
        regwidth=0x20;
            field {
                sw = rw;
            } P1_CMD_VALUE[7:0];
            field {
                sw = rw;
            } P1_CMD_IOS[9:8];
            field {
                sw = rw;
            } P1_CMD_EDGE[11:11];
            field {
                sw = rw;
            } P1_ADDR_CNT[14:12];
            field {
                sw = rw;
            } P1_ADDR_IOS[17:16];
            field {
                sw = rw;
            } P1_ADDR_EDGE[19:19];
            field {
                sw = rw;
            } P1_DAT_IOS[21:20];
            field {
                sw = rw;
            } P1_DAT_EDGE[23:23];
            field {
                sw = rw;
            } P1_DMY_CNT[29:24];
    } ReadSequenceConfiguration0 @ 0x430;
    reg {
        name="ReadSequenceConfiguration1";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } P1_CMD_EXT_EN[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } P1_CACHE_RANDOM_READ_EN[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } P1_CMD_EXT_VALUE[15:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } P1_MB_DMY_CNT[29:24];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } P1_MB_EN[31:31];
    } ReadSequenceConfiguration1 @ 0x434;
    reg {
        name="ReadSequenceConfiguration2";
        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];
    } ReadSequenceConfiguration2 @ 0x438;
    reg {
        name="WriteEnableSequenceConfiguration";
        regwidth=0x20;
            field {
                sw = rw;
            } P1_CMD_VALUE[7:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } P1_CMD_IOS[9:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } P1_CMD_EDGE[11:11];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } P1_CMD_EXT_EN[15:15];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } P1_CMD_EXT_VALUE[23:16];
            field {
                sw = rw;
            } P1_EN[24:24];
    } WriteEnableSequenceConfiguration @ 0x440;
    reg {
        name="StatusSequenceConfiguration0";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } P1_CMD_IOS[1:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } P1_CMD_EDGE[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } P1_CMD_EXT_EN[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } P1_ADDR_CNT[9:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } P1_ADDR_IOS[11:10];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } P1_ADDR_EDGE[12:12];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } P1_DAT_IOS[21:20];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } P1_DAT_EDGE[22:22];
    } StatusSequenceConfiguration0 @ 0x450;
    reg {
        name="StatusSequenceConfiguration1";
        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];
    } StatusSequenceConfiguration1 @ 0x454;
    reg {
        name="StatusSequenceConfiguration2";
        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];
    } StatusSequenceConfiguration2 @ 0x458;
    reg {
        name="StatusSequenceConfiguration3";
        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];
    } StatusSequenceConfiguration3 @ 0x45c;
    reg {
        name="StatusSequenceConfiguration4";
        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];
    } StatusSequenceConfiguration4 @ 0x460;
    reg {
        name="StatusSequenceConfiguration5";
        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];
    } StatusSequenceConfiguration5 @ 0x464;
    reg {
        name="StatusSequenceConfiguration6";
        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];
    } StatusSequenceConfiguration6 @ 0x468;
    reg {
        name="StatusSequenceConfiguration7";
        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];
    } StatusSequenceConfiguration7 @ 0x46c;
    reg {
        name="StatusSequenceConfiguration8";
        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];
    } StatusSequenceConfiguration8 @ 0x470;
    reg {
        name="StatusSequenceConfiguration9";
        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];
    } StatusSequenceConfiguration9 @ 0x474;
    reg {
        name="StatusSequenceConfiguration10";
        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];
    } StatusSequenceConfiguration10 @ 0x478;
    reg {
        name="ControllerVersion";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } hardwareRevision[7:0];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } hardwareMagicNumber[31:16];
    } ControllerVersion @ 0xf00;
    reg {
        name="ControllerFeatures";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } banksCount[25:24];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } dmaDataWidth[21:21];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } threadsCount[3:0];
    } ControllerFeatures @ 0xf04;
    reg {
        name="DLLControl";
        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];
    } DLLControl @ 0x1034;
} Registers_addrmap;
addrmap {
    desc = "Generated by RenodeModelsAnalyzer";
    reg {
        name="DQTiming";
        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];
    } DQTiming @ 0x0;
    reg {
        name="DQSTiming";
        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];
    } DQSTiming @ 0x4;
    reg {
        name="GateLoopbackControl";
        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];
    } GateLoopbackControl @ 0x8;
    reg {
        name="DLLSlaveControl";
        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];
    } DLLSlaveControl @ 0x10;
} AuxiliaryRegisters_addrmap;


};