addrmap PULP_uDMA_SDIO {

/* 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.
 * 
 * Field "STOPCMD_ARG" overlaps another field at the same offset (0x0) and will be skipped, as it is illegal in SystemRDL.
 * Field "STOPCMD_RSP_TYPE_" overlaps another field at the same offset (0x0) and will be skipped, as it is illegal in SystemRDL.
 * Field "STOPCMD_OP_" overlaps another field at the same offset (0x8) and will be skipped, as it is illegal in SystemRDL.
 * Field "STOPCMD_ARG_" overlaps another field at the same offset (0x0) and will be skipped, as it is illegal in SystemRDL.
 */

addrmap {
    desc = "Generated by RenodeModelsAnalyzer";
    reg {
        name="RxBufferAddress";
        regwidth=0x20;
            field {
                sw = rw;
            } SDIO_RX_SADDR[31:0];
    } RxBufferAddress @ 0x0;
    reg {
        name="RxBufferSize";
        regwidth=0x20;
            field {
                sw = rw;
            } SDIO_RX_SIZE[19:0];
    } RxBufferSize @ 0x4;
    reg {
        name="RxConfiguration";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CONTINOUS[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } DATASIZE[2:1];
            field {
                sw = rw;
            } EN[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PENDING[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CLR[6:6];
    } RxConfiguration @ 0x8;
    reg {
        name="TxBufferAddress";
        regwidth=0x20;
            field {
                sw = rw;
            } SDIO_TX_SADDR[31:0];
    } TxBufferAddress @ 0x10;
    reg {
        name="TxBufferSize";
        regwidth=0x20;
            field {
                sw = rw;
            } SDIO_TX_SIZE[19:0];
    } TxBufferSize @ 0x14;
    reg {
        name="TxConfiguration";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CONTINOUS[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } DATASIZE[2:1];
            field {
                sw = rw;
            } EN[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PENDING[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CLR[6:6];
    } TxConfiguration @ 0x18;
    reg {
        name="Command";
        regwidth=0x20;
            field {
                sw = w;
            } CMD_RSP_TYPE[2:0];
            field {
                sw = w;
            } CMD_OP[13:8];
    } Command @ 0x20;
    reg {
        name="CommandArgument";
        regwidth=0x20;
            field {
                sw = w;
            } CMD_ARG[31:0];
    } CommandArgument @ 0x24;
    reg {
        name="DataSetup";
        regwidth=0x20;
            field {
                sw = rw;
            } DATA_EN[0:0];
            field {
                sw = rw;
            } DATA_RWN[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } DATA_QUAD[2:2];
            field {
                sw = rw;
            } BLOCK_NUM[15:8];
            field {
                sw = rw;
            } BLOCK_SIZE[25:16];
    } DataSetup @ 0x28;
    reg {
        name="Start";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } START[0:0];
    } Start @ 0x2c;
    reg {
        name="Response0";
        regwidth=0x20;
            field {
                sw = r;
            } SDIO_RSP0[31:0];
    } Response0 @ 0x30;
    reg {
        name="Response1";
        regwidth=0x20;
            field {
                sw = r;
            } SDIO_RSP1[31:0];
    } Response1 @ 0x34;
    reg {
        name="Response2";
        regwidth=0x20;
            field {
                sw = r;
            } SDIO_RSP2[31:0];
    } Response2 @ 0x38;
    reg {
        name="Response3";
        regwidth=0x20;
            field {
                sw = r;
            } SDIO_RSP3[31:0];
    } Response3 @ 0x3c;
    reg {
        name="ClockDivider";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CLK_DIV[8:0];
    } ClockDivider @ 0x40;
    reg {
        name="Status";
        regwidth=0x20;
            field {
                sw = rw;
            } EOT[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } ERROR[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CMD_ERR_STATUS[21:16];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } DATA_ERR_STATUS[29:24];
    } Status @ 0x44;
    reg {
        name="StopCommand";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } STOPCMD_RSP_TYPE[2:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } STOPCMD_OP[13:8];
            /* Conversion error: Field "STOPCMD_ARG" overlaps another field at the same offset (0x0) and will be skipped, as it is illegal in SystemRDL.
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } STOPCMD_ARG[31:0];
            */
            /* Conversion error: Field "STOPCMD_RSP_TYPE_" overlaps another field at the same offset (0x0) and will be skipped, as it is illegal in SystemRDL.
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } STOPCMD_RSP_TYPE_[2:0];
            */
            /* Conversion error: Field "STOPCMD_OP_" overlaps another field at the same offset (0x8) and will be skipped, as it is illegal in SystemRDL.
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } STOPCMD_OP_[13:8];
            */
            /* Conversion error: Field "STOPCMD_ARG_" overlaps another field at the same offset (0x0) and will be skipped, as it is illegal in SystemRDL.
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } STOPCMD_ARG_[31:0];
            */
    } StopCommand @ 0x48;
    reg {
        name="StopCommandArgument";
        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];
    } StopCommandArgument @ 0x52;
} Registers_addrmap;


};