addrmap UFSHostController {

addrmap {
    desc = "Generated by RenodeModelsAnalyzer";
    reg {
        name="HostControllerCapabilities";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } NUTRS[7:0];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } NORTT[15:8];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } NUTMRS[18:16];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } EHSLUTRDS[22:22];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } AUTOH8[23:23];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } _64AS[24:24];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } OODDS[25:25];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } UICDMETMS[26:26];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } _Unified_Memory_Extension[27:27];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } CS[28:28];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } LSDBS[29:29];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } MCQS[30:30];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } ESI[31:31];
    } HostControllerCapabilities @ 0x0;
    reg {
        name="MCQCapabilities";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MAXQ[7:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SP[8:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } RRP[9:9];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } EIS[10:10];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } QCFGPTR[23:16];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MIAG[31:24];
    } MCQCapabilities @ 0x4;
    reg {
        name="UFSVersion";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } VS[3:0];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } MNR[7:4];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } MJR[15:8];
    } UFSVersion @ 0x8;
    reg {
        name="ExtendedControllerCapabilities";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } wHostHintCacheSize[15:0];
    } ExtendedControllerCapabilities @ 0xc;
    reg {
        name="HostControllerIdentificationDescriptorProductId";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PID[31:0];
    } HostControllerIdentificationDescriptorProductId @ 0x10;
    reg {
        name="HostControllerIdentificationDescriptorManufacturerId";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MIC[7:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } BI[15:8];
    } HostControllerIdentificationDescriptorManufacturerId @ 0x14;
    reg {
        name="AutoHibernateIdleTimer";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } AH8ITV[9:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } TS[12:10];
    } AutoHibernateIdleTimer @ 0x18;
    reg {
        name="InterruptStatus";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x20;
            field {
                sw = rw;
                onwrite = woclr;
            } No_name_1[18:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MCQ[21:19];
    } InterruptStatus @ 0x20;
    reg {
        name="InterruptEnable";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x20;
            field {
                sw = rw;
            } No_name_2[18:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MCQ[21:19];
    } InterruptEnable @ 0x24;
    reg {
        name="HostControllerStatusExtended";
        regwidth=0x20;
            field {
                sw = r;
            } IIDUTPE[3:0];
            field {
                sw = r;
            } EXT_IIDUTPE[7:4];
    } HostControllerStatusExtended @ 0x2c;
    reg {
        name="HostControllerStatus";
        regwidth=0x20;
            field {
                sw = r;
            } DP[0:0];
            field {
                sw = r;
            } UTRLRDY[1:1];
            field {
                sw = r;
            } UTMRLRDY[2:2];
            field {
                sw = r;
            } UCRDY[3:3];
            field {
                sw = r;
            } UPMCRS[10:8];
            field {
                sw = r;
            } UTPEC[15:12];
            field {
                sw = r;
            } TTAGUTPE[23:16];
            field {
                sw = r;
            } TLUNUTPE[31:24];
    } HostControllerStatus @ 0x30;
    reg {
        name="HostControllerEnable";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Change.";
                sw = rw;
            } hostControllerEnable[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } cryptoGeneralEnable[1:1];
    } HostControllerEnable @ 0x34;
    reg {
        name="UICErrorCodePHYAdapterLayer";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } EC[4:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } ERR[31:31];
    } UICErrorCodePHYAdapterLayer @ 0x38;
    reg {
        name="UICErrorCodeDataLinkLayer";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } EC[15:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } ERR[31:31];
    } UICErrorCodeDataLinkLayer @ 0x3c;
    reg {
        name="UICErrorCodeNetworkLayer";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } EC[2:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } ERR[31:31];
    } UICErrorCodeNetworkLayer @ 0x40;
    reg {
        name="UICErrorCodeTransportLayer";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } EC[6:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } ERR[31:31];
    } UICErrorCodeTransportLayer @ 0x44;
    reg {
        name="UICErrorCodeDME";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } EC[3:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } ERR[31:31];
    } UICErrorCodeDME @ 0x48;
    reg {
        name="UTPTransferRequestInterruptAggregationControl";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } IATOVAL[7:0];
            field {
                sw = rw;
            } IACTH[12:8];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } CTR[16:16];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } IASB[20:20];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } IAPWEN[24:24];
            field {
                sw = rw;
            } IAEN[31:31];
    } UTPTransferRequestInterruptAggregationControl @ 0x4c;
    reg {
        name="UTPTransferRequestListBaseAddressLow";
        regwidth=0x20;
            field {
                sw = rw;
            } UTRLBA[31:10];
    } UTPTransferRequestListBaseAddressLow @ 0x50;
    reg {
        name="UTPTransferRequestListBaseAddressHigh";
        regwidth=0x20;
            field {
                sw = rw;
            } UTRLBAU[31:0];
    } UTPTransferRequestListBaseAddressHigh @ 0x54;
    reg {
        name="UTPTransferRequestDoorBell";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x20;
            field {
                sw = rw;
            } UTRLDBR[31:0];
    } UTPTransferRequestDoorBell @ 0x58;
    reg {
        name="UTPTransferRequestListClear";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } UTRLCLR[31:0];
    } UTPTransferRequestListClear @ 0x5c;
    reg {
        name="UTPTransferRequestListRunStop";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Change.";
                sw = rw;
            } UTRLRSR[0:0];
    } UTPTransferRequestListRunStop @ 0x60;
    reg {
        name="UTPTransferRequestListCompletionNotification";
        regwidth=0x20;
            field {
                sw = w;
                onwrite = woclr;
            } UTRLCNR[31:0];
    } UTPTransferRequestListCompletionNotification @ 0x64;
    reg {
        name="UTPTaskManagementRequestListBaseAddressLow";
        regwidth=0x20;
            field {
                sw = rw;
            } UTMRLBA[31:10];
    } UTPTaskManagementRequestListBaseAddressLow @ 0x70;
    reg {
        name="UTPTaskManagementRequestListBaseAddressHigh";
        regwidth=0x20;
            field {
                sw = rw;
            } UTMRLBAU[31:0];
    } UTPTaskManagementRequestListBaseAddressHigh @ 0x74;
    reg {
        name="UTPTaskManagementRequestDoorBell";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x20;
            field {
                sw = rw;
            } UTMRLDBR[7:0];
    } UTPTaskManagementRequestDoorBell @ 0x78;
    reg {
        name="UTPTaskManagementRequestListClear";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } UTMRLCLR[7:0];
    } UTPTaskManagementRequestListClear @ 0x7c;
    reg {
        name="UTPTaskManagementRequestListRunStop";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Change.";
                sw = rw;
            } UTMRLRSR[0:0];
    } UTPTaskManagementRequestListRunStop @ 0x80;
    reg {
        name="UICCommand";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } CMDOP[7:0];
    } UICCommand @ 0x90;
    reg {
        name="UICCommandArg1";
        regwidth=0x20;
            field {
                sw = rw;
            } ARG1[31:0];
    } UICCommandArg1 @ 0x94;
    reg {
        name="UICCommandArg2";
        regwidth=0x20;
            field {
                sw = rw;
            } ARG2[31:0];
    } UICCommandArg2 @ 0x98;
    reg {
        name="UICCommandArg3";
        regwidth=0x20;
            field {
                sw = rw;
            } ARG3[31:0];
    } UICCommandArg3 @ 0x9c;
    reg {
        name="CryptoCapability";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CC[6:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CFGC[15:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CFGPTR[31:24];
    } CryptoCapability @ 0x100;
    reg {
        name="GlobalConfiguration";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } QT[0:0];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } ESIE[1:1];
            field {
                sw = rw;
            } _2DWPRDTEN[2:2];
    } GlobalConfiguration @ 0x300;
    reg {
        name="MCQConfig";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } AS[1:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MAC[16:8];
    } MCQConfig @ 0x380;
} Registers_addrmap;


};