addrmap SynopsysDWCEthernetQualityOfService_Descriptors {

/* 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 "MACECR_EIPGEN_EIPGEN_" overlaps another field at the same offset (0x18) and will be skipped, as it is illegal in SystemRDL.
 * Field "MACECR_EIPG_EIPG_" overlaps another field at the same offset (0x19) and will be skipped, as it is illegal in SystemRDL.
 * Field "MACECR_EIPGEN_EIPGEN_" overlaps another field at the same offset (0x18) and will be skipped, as it is illegal in SystemRDL.
 * Field "MACECR_EIPG_EIPG_" overlaps another field at the same offset (0x19) and will be skipped, as it is illegal in SystemRDL.
 * Field "MACA0HR_AE_AE_" overlaps another field at the same offset (0x1f) and will be skipped, as it is illegal in SystemRDL.
 * Field "MACA0HR_AE_AE_" overlaps another field at the same offset (0x1f) and will be skipped, as it is illegal in SystemRDL.
 */

addrmap {
    desc = "Generated by RenodeModelsAnalyzer";
    reg {
        name="OperatingModeConfiguration";
        regwidth=0x20;
            field {
                sw = rw;
            } MACCR_RE_Receiver_Enable[0:0];
            field {
                sw = rw;
            } MACCR_TE_TE[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACCR_PRELEN_PRELEN[3:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACCR_DC_DC[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACCR_BL_BL[6:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACCR_DR_DR[8:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACCR_DCRS_DCRS[9:9];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACCR_DO_DO[10:10];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACCR_ECRSFD_ECRSFD[11:11];
            field {
                sw = rw;
            } MACCR_LM_LM[12:12];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACCR_DM_DM[13:13];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACCR_FES_FES[14:14];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACCR_JD_JD[17:17];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACCR_JE_JE[16:16];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACCR_WD_WD[19:19];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACCR_ACS_ACS[20:20];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACCR_CST_CST[21:21];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACCR_S2KP_S2KP[22:22];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACCR_GPSLCE_GPSLCE[23:23];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACCR_IPG_IPG[26:24];
            field {
                sw = rw;
            } MACCR_IPC_IPC[27:27];
            field {
                sw = rw;
            } MACCR_SARC_SARC[30:28];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACCR_ARPEN_ARPEN[31:31];
    } OperatingModeConfiguration @ 0x0;
    reg {
        name="ExtendedOperatingModeConfiguration";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACECR_GPSL_GPSL[13:0];
            field {
                sw = rw;
            } MACECR_DCRCC_DCRCC[16:16];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACECR_SPEN_SPEN[17:17];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACECR_USP_USP[18:18];
            field {
                sw = rw;
            } MACECR_PDC_PDC[19:19];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACECR_EIPGEN_EIPGEN[24:24];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACECR_EIPG_EIPG[29:25];
            /* Conversion error: Field "MACECR_EIPGEN_EIPGEN_" overlaps another field at the same offset (0x18) and will be skipped, as it is illegal in SystemRDL.
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACECR_EIPGEN_EIPGEN_[24:24];
            */
            /* Conversion error: Field "MACECR_EIPG_EIPG_" overlaps another field at the same offset (0x19) and will be skipped, as it is illegal in SystemRDL.
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACECR_EIPG_EIPG_[29:25];
            */
            /* Conversion error: Field "MACECR_EIPGEN_EIPGEN_" overlaps another field at the same offset (0x18) and will be skipped, as it is illegal in SystemRDL.
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACECR_EIPGEN_EIPGEN_[24:24];
            */
            /* Conversion error: Field "MACECR_EIPG_EIPG_" overlaps another field at the same offset (0x19) and will be skipped, as it is illegal in SystemRDL.
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACECR_EIPG_EIPG_[29:25];
            */
    } ExtendedOperatingModeConfiguration @ 0x4;
    reg {
        name="PacketFilteringControl";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACPFR_PR_PR[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACPFR_HUC_HUC[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACPFR_HMC_HMC[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACPFR_DAIF_DAIF[3:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACPFR_PM_PM[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACPFR_DBF_DBF[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACPFR_PCF_PCF[7:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACPFR_SAIF_SAIF[8:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACPFR_SAF_SAF[9:9];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACPFR_HPF_HPF[10:10];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACPFR_VTFE_VTFE[16:16];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACPFR_IPFE_IPFE[20:20];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACPFR_DNTU_DNTU[21:21];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACPFR_RA_RA[31:31];
    } PacketFilteringControl @ 0x8;
    reg {
        name="WatchdogTimeout";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACWTR_WTO_WTO[3:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACWTR_PWE_PWE[8:8];
    } WatchdogTimeout @ 0xc;
    reg {
        name="HashTable0";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACHT0R_HT31T0_HT31T0[31:0];
    } HashTable0 @ 0x10;
    reg {
        name="HashTable1";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACHT1R_HT63T32_HT63T32[31:0];
    } HashTable1 @ 0x14;
    reg {
        name="VLANTag";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACVTR_VL_VL[15:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACVTR_ETV_ETV[16:16];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACVTR_VTIM_VTIM[17:17];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACVTR_ESVL_ESVL[18:18];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACVTR_ERSVLM_ERSVLM[19:19];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACVTR_DOVLTC_DOVLTC[20:20];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACVTR_EVLS_EVLS[22:21];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACVTR_EVLRXS_EVLRXS[24:24];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACVTR_VTHM_VTHM[25:25];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACVTR_EDVLP_EDVLP[26:26];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACVTR_ERIVLT_ERIVLT[27:27];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACVTR_EIVLS_EIVLS[29:28];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACVTR_EIVLRXS_EIVLRXS[31:31];
    } VLANTag @ 0x50;
    reg {
        name="VLANHashTable";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACVHTR_VLHT_VLHT[15:0];
    } VLANHashTable @ 0x58;
    reg {
        name="VLANInclusion";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACVIR_VLT_VLT[15:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACVIR_VLC_VLC[17:16];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACVIR_VLP_VLP[18:18];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACVIR_CSVL_CSVL[19:19];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACVIR_VLTI_VLTI[20:20];
    } VLANInclusion @ 0x60;
    reg {
        name="InnerVLANInclusion";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACIVIR_VLT_VLT[15:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACIVIR_VLC_VLC[17:16];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACIVIR_VLP_VLP[18:18];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACIVIR_CSVL_CSVL[19:19];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACIVIR_VLTI_VLTI[20:20];
    } InnerVLANInclusion @ 0x64;
    reg {
        name="TxQueueFlowControl";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACQTxFCR_FCB_BPA_FCB_BPA[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACQTxFCR_TFE_TFE[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACQTxFCR_PLT_PLT[6:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACQTxFCR_DZPQ_DZPQ[7:7];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACQTxFCR_PT_PT[31:16];
    } TxQueueFlowControl @ 0x70;
    reg {
        name="RxFlowControl";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACRxFCR_RFE_RFE[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACRxFCR_UP_UP[1:1];
    } RxFlowControl @ 0x90;
    reg {
        name="InterruptStatus";
        desc = "This register has the following custom Renode callbacks: Change";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACISR_PHYIS_PHYIS[3:3];
            field {
                sw = r;
            } MACISR_PMTIS_PMTIS[4:4];
            field {
                sw = r;
            } MACISR_LPIIS_LPIIS[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACISR_MMCIS_MMCIS[8:8];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } MACISR_MMCRXIS_MMCRXIS[9:9];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } MACISR_MMCTXIS_MMCTXIS[10:10];
            field {
                sw = r;
                onread = rclr;
            } MACISR_TSIS_TSIS[12:12];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACISR_TXSTSIS_TXSTSIS[13:13];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACISR_RXSTSIS_RXSTSIS[14:14];
    } InterruptStatus @ 0xb0;
    reg {
        name="InterruptEnable";
        desc = "This register has the following custom Renode callbacks: Change";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACIER_PHYIE_PHYIE[3:3];
            field {
                sw = rw;
            } MACIER_PMTIE_PMTIE[4:4];
            field {
                sw = rw;
            } MACIER_LPIIE_LPIIE[5:5];
            field {
                sw = rw;
            } MACIER_TSIE_TSIE[12:12];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACIER_TXSTSIE_TXSTSIE[13:13];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACIER_RXSTSIE_RXSTSIE[14:14];
    } InterruptEnable @ 0xb4;
    reg {
        name="RxTxStatus";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACRxTxSR_TJT_TJT[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACRxTxSR_NCARR_NCARR[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACRxTxSR_LCARR_LCARR[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACRxTxSR_EXDEF_EXDEF[3:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACRxTxSR_LCOL_LCOL[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACRxTxSR_EXCOL_LCOL[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACRxTxSR_RWT_RWT[8:8];
    } RxTxStatus @ 0xb8;
    reg {
        name="PMTControlStatus";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACPCSR_PWRDWN_PWRDWN[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACPCSR_MGKPKTEN_MGKPKTEN[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACPCSR_RWKPKTEN_RWKPKTEN[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACPCSR_MGKPRCVD_MGKPRCVD[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACPCSR_RWKPRCVD_RWKPRCVD[6:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACPCSR_GLBLUCAST_GLBLUCAST[9:9];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACPCSR_RWKPFE_RWKPFE[10:10];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACPCSR_RWKPTR_RWKPTR[28:24];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACPCSR_RWKFILTRST_RWKFILTRST[31:31];
    } PMTControlStatus @ 0xc0;
    reg {
        name="RemoteWakeUpPacketFilter";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACRWKPFR_MACRWKPFR_MACRWKPFR[31:0];
    } RemoteWakeUpPacketFilter @ 0xc4;
    reg {
        name="LPIControlAndStatus";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACLCSR_TLPIEN_TLPIEN[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACLCSR_TLPIEX_TLPIEX[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACLCSR_RLPIEN_RLPIEN[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACLCSR_RLPIEX_RLPIEX[3:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACLCSR_TLPIST_TLPIST[8:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACLCSR_RLPIST_RLPIST[9:9];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACLCSR_LPIEN_LPIEN[16:16];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACLCSR_PLS_PLS[17:17];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACLCSR_PLSEN_PLSEN[18:18];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACLCSR_LPITXA_LPITXA[19:19];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACLCSR_LPITE_LPITE[20:20];
    } LPIControlAndStatus @ 0xd0;
    reg {
        name="LPITimersControl";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACLTCR_TWT_TWT[15:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=10'b1111101000;
            } MACLTCR_LST_LST[25:16];
    } LPITimersControl @ 0xd4;
    reg {
        name="LPIEntryTimer";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACLETR_LPIET_LPIET[16:0];
    } LPIEntryTimer @ 0xd8;
    reg {
        name="OneMicrosecondTickCounter";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MAC1USTCR_TIC_1US_CNTR_TIC_1US_CNTR[11:0];
    } OneMicrosecondTickCounter @ 0xdc;
    reg {
        name="Version";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } MACVR_SNPSVER_SNPSVER[7:0];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } MACVR_USERVER_USERVER[15:8];
    } Version @ 0x110;
    reg {
        name="Debug";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACDR_RPESTS_RPESTS[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACDR_RFCFCSTS_RFCFCSTS[2:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACDR_TPESTS_TPESTS[16:16];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACDR_TFCSTS_TFCSTS[18:17];
    } Debug @ 0x114;
    reg {
        name="HardwareFeature0";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=1'b1;
            } MIISEL[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=1'b1;
            } GMIISEL[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=1'b1;
            } HDSEL[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PCSSEL[3:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=1'b1;
            } VLHASH[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=1'b1;
            } SMASEL[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=1'b1;
            } RWKSEL[6:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=1'b1;
            } MGKSEL[7:7];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=1'b1;
            } MMCSEL[8:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=1'b1;
            } ARPOFFSEL[9:9];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=1'b1;
            } TSSEL[12:12];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=1'b1;
            } EEESEL[13:13];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=1'b1;
            } TXCOESEL[14:14];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=1'b1;
            } RXCOESEL[16:16];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=5'b11;
            } ADDMACADRSEL[22:18];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACADR32SEL[23:23];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACADR64SEL[24:24];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=2'b1;
            } TSSTSSEL[26:25];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=1'b1;
            } SAVLANINS[27:27];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } ACTPHYSEL[30:28];
    } HardwareFeature0 @ 0x11c;
    reg {
        name="HardwareFeature1";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
                reset=5'b100;
            } MACHWF1R_RXFIFOSIZE_RXFIFOSIZE[4:0];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
                reset=5'b100;
            } MACHWF1R_TXFIFOSIZE_TXFIFOSIZE[10:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=1'b1;
            } MACHWF1R_OSTEN_OSTEN[11:11];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=1'b1;
            } MACHWF1R_PTOEN_PTOEN[12:12];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACHWF1R_ADVTHWORD_ADVTHWORD[13:13];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } MACHWF1R_ADDR64_ADDR64[15:14];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACHWF1R_DCBEN_DCBEN[16:16];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACHWF1R_SPHEN_SPHEN[17:17];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=1'b1;
            } MACHWF1R_TSOEN_TSOEN[18:18];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACHWF1R_DBGMEMA_DBGMEMA[19:19];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACHWF1R_AVSEL_AVSEL[20:20];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=2'b1;
            } MACHWF1R_HASHTBLSZ_HASHTBLSZ[25:24];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=4'b10;
            } MACHWF1R_L3L4FNUM_L3L4FNUM[30:27];
    } HardwareFeature1 @ 0x120;
    reg {
        name="HardwareFeature2";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } MACHWF2R_RXQCNT_RXQCNT[3:0];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } MACHWF2R_TXQCNT_TXQCNT[9:6];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } MACHWF2R_RXCHCNT_RXCHCNT[15:12];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } MACHWF2R_TXCHCNT_TXCHCNT[21:18];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=3'b1;
            } MACHWF2R_PPSOUTNUM_PPSOUTNUM[26:24];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=3'b100;
            } MACHWF2R_AUXSNAPNUM_AUXSNAPNUM[30:28];
    } HardwareFeature2 @ 0x124;
    reg {
        name="HardwareFeature3";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } NRVF[2:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CBTISEL[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=1'b1;
            } DVLAN[5:5];
    } HardwareFeature3 @ 0x128;
    reg {
        name="MDIOAddress";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x20;
            field {
                sw = rw;
            } MACMDIOAR_MB_MB[0:0];
            field {
                sw = rw;
            } MACMDIOAR_C45E_C45E[1:1];
            field {
                sw = rw;
            } MACMDIOAR_GOC_GOC[3:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACMDIOAR_SKAP_SKAP[4:4];
            field {
                desc = "This field has the following custom Renode callbacks: Change.";
                sw = rw;
            } MACMDIOAR_CR_CR[11:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACMDIOAR_NTC_NTC[14:12];
            field {
                sw = rw;
            } MACMDIOAR_RDA_RDA[20:16];
            field {
                sw = rw;
            } MACMDIOAR_PA_PA[25:21];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACMDIOAR_BTB_BTB[26:26];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACMDIOAR_PSE_PSE[27:27];
    } MDIOAddress @ 0x200;
    reg {
        name="MDIOData";
        regwidth=0x20;
            field {
                sw = rw;
            } MACMDIODR_MD_MD[15:0];
            field {
                sw = rw;
            } MACMDIODR_RA_RA[31:16];
    } MDIOData @ 0x204;
    reg {
        name="ARPAddress";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACARPAR_ARPPA_ARPPA[31:0];
    } ARPAddress @ 0x210;
    reg {
        name="CSRSoftwareControl";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } RCW[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SEEN[8:8];
    } CSRSoftwareControl @ 0x230;
    reg {
        name="MACAddress0High";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
                reset=8'b11111111;
            } MACA0HR_ADDRHI_ADDRHI_MAC_E[7:0];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
                reset=8'b11111111;
            } MACA0HR_ADDRHI_ADDRHI_MAC_F[15:8];
            field {
                sw = rw;
            } MACA0HR_DCS_DCS[16:16];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
                reset=1'b1;
            } MACA0HR_AE_AE[31:31];
            /* Conversion error: Field "MACA0HR_AE_AE_" overlaps another field at the same offset (0x1f) and will be skipped, as it is illegal in SystemRDL.
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
                reset=1'b1;
            } MACA0HR_AE_AE_[31:31];
            */
            /* Conversion error: Field "MACA0HR_AE_AE_" overlaps another field at the same offset (0x1f) and will be skipped, as it is illegal in SystemRDL.
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
                reset=1'b1;
            } MACA0HR_AE_AE_[31:31];
            */
    } MACAddress0High @ 0x300;
    reg {
        name="MACAddress0Low";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
                reset=8'b11111111;
            } MACA0LR_ADDRLO_ADDRLO_MAC_A[7:0];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
                reset=8'b11111111;
            } MACA0LR_ADDRLO_ADDRLO_MAC_B[15:8];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
                reset=8'b11111111;
            } MACA0LR_ADDRLO_ADDRLO_MAC_C[23:16];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
                reset=8'b11111111;
            } MACA0LR_ADDRLO_ADDRLO_MAC_D[31:24];
    } MACAddress0Low @ 0x304;
    reg {
        name="MACAddress1High";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
                reset=8'b11111111;
            } MACA1HR_ADDRHI_ADDRHI_MAC1_E[7:0];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
                reset=8'b11111111;
            } MACA1HR_ADDRHI_ADDRHI_MAC1_F[15:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACA1HR_MBC_MBC[29:24];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACA1HR_SA_SA[30:30];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACA1HR_AE_AE[31:31];
    } MACAddress1High @ 0x308;
    reg {
        name="MACAddress1Low";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
                reset=8'b11111111;
            } MACA1LR_ADDRLO_ADDRLO_MAC_A[7:0];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
                reset=8'b11111111;
            } MACA1LR_ADDRLO_ADDRLO_MAC1_B[15:8];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
                reset=8'b11111111;
            } MACA1LR_ADDRLO_ADDRLO_MAC1_C[23:16];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
                reset=8'b11111111;
            } MACA1LR_ADDRLO_ADDRLO_MAC1_D[31:24];
    } MACAddress1Low @ 0x30c;
    reg {
        name="MACAddress2High";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=16'b1111111111111111;
            } MACA2HR_ADDRHI_ADDRHI[15:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACA2HR_MBC_MBC[29:24];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACA2HR_SA_SA[30:30];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACA2HR_AE_AE[31:31];
    } MACAddress2High @ 0x310;
    reg {
        name="MACAddress2Low";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=32'b11111111111111111111111111111111;
            } MACA2LR_ADDRLO_ADDRLO[31:0];
    } MACAddress2Low @ 0x314;
    reg {
        name="MACAddress3High";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=16'b1111111111111111;
            } MACA3HR_ADDRHI_ADDRHI[15:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACA3HR_MBC_MBC[29:24];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACA3HR_SA_SA[30:30];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACA3HR_AE_AE[31:31];
    } MACAddress3High @ 0x318;
    reg {
        name="MACAddress3Low";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=32'b11111111111111111111111111111111;
            } MACA3LR_ADDRLO_ADDRLO[31:0];
    } MACAddress3Low @ 0x31c;
    reg {
        name="MMCControl";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_CONTROL_CNTRST_CNTRST[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_CONTROL_CNTSTOPRO_CNTSTOPRO[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_CONTROL_RSTONRD_RSTONRD[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_CONTROL_CNTFREEZ_CNTFREEZ[3:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_CONTROL_CNTPRST_CNTPRST[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_CONTROL_CNTPRSTLVL_CNTPRSTLVL[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_CONTROL_UCDBC_UCDBC[8:8];
    } MMCControl @ 0x700;
    reg {
        name="MMCRxInterrupt";
        desc = "This register has the following custom Renode callbacks: Change";
        regwidth=0x20;
            field {
                sw = r;
                onread = rclr;
            } MMC_RX_INTERRUPT_RXGBPKTIS_MMC_Receive_Good_Bad_Packet_Counter_Interrupt_Status[0:0];
            field {
                sw = r;
                onread = rclr;
            } MMC_RX_INTERRUPT_RXGBOCTIS_MMC_Receive_Good_Bad_Octet_Counter_Interrupt_Status[1:1];
            field {
                sw = r;
                onread = rclr;
            } MMC_RX_INTERRUPT_RXGOCTIS_MMC_Receive_Good_Octet_Counter_Interrupt_Status[2:2];
            field {
                sw = r;
                onread = rclr;
            } MMC_RX_INTERRUPT_RXBCGPIS_MMC_Receive_Broadcast_Good_Packet_Counter_Interrupt_Status[3:3];
            field {
                sw = r;
                onread = rclr;
            } MMC_RX_INTERRUPT_RXMCGPIS_MMC_Receive_Multicast_Good_Packet_Counter_Interrupt_Status[4:4];
            field {
                sw = r;
                onread = rclr;
            } MMC_RX_INTERRUPT_RXCRCERPIS_MMC_Receive_CRC_Error_Packet_Counter_Interrupt_Status[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_RX_INTERRUPT_RXALGNERPIS_MMC_Receive_Alignment_Error_Packet_Counter_Interrupt_Status[6:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_RX_INTERRUPT_RXRUNTPIS_MMC_Receive_Runt_Packet_Counter_Interrupt_Status[7:7];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_RX_INTERRUPT_RXJABERPIS_MMC_Receive_Jabber_Error_Packet_Counter_Interrupt_Status[8:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_RX_INTERRUPT_RXUSIZEGPIS_MMC_Receive_Undersize_Good_Packet_Counter_Interrupt_Status[9:9];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_RX_INTERRUPT_RXOSIZEGPIS_MMC_Receive_Oversize_Good_Packet_Counter_Interrupt_Status[10:10];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_RX_INTERRUPT_RX64OCTGBPIS_MMC_Receive_64_Octet_Good_Bad_Packet_Counter_Interrupt_Status[11:11];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_RX_INTERRUPT_RX65T127OCTGBPIS_MMC_Receive_Broadcast_Good_Bad_Packet_Counter_Interrupt_Status[12:12];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_RX_INTERRUPT_RX128T255OCTGBPIS_MMC_Receive_128_to_255_Octet_Good_Bad_Packet_Counter_Interrupt_Status[13:13];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_RX_INTERRUPT_RX256T511OCTGBPIS_MMC_Receive_256_to_511_Octet_Good_Bad_Packet_Counter_Interrupt_Status[14:14];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_RX_INTERRUPT_RX512T1023OCTGBPIS_MMC_Receive_512_to_1023_Octet_Good_Bad_Packet_Counter_Interrupt_Status[15:15];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_RX_INTERRUPT_RX1024TMAXOCTGBPIS_MMC_Receive_1024_to_Maximum_Octet_Good_Bad_Packet_Counter_Interrupt_Status[16:16];
            field {
                sw = r;
                onread = rclr;
            } MMC_RX_INTERRUPT_RXUCGPIS_MMC_Receive_Unicast_Good_Packet_Counter_Interrupt_Status[17:17];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_RX_INTERRUPT_RXLENERPIS_MMC_Receive_Length_Error_Packet_Counter_Interrupt_Status[18:18];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_RX_INTERRUPT_RXORANGEPIS_MMC_Receive_Out_Of_Range_Error_Packet_Counter_Interrupt_Status[19:19];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_RX_INTERRUPT_RXPAUSPIS_MMC_Receive_Pause_Packet_Counter_Interrupt_Status[20:20];
            field {
                sw = r;
                onread = rclr;
            } MMC_RX_INTERRUPT_RXFOVPIS_MMC_Receive_FIFO_Overflow_Packet_Counter_Interrupt_Status[21:21];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_RX_INTERRUPT_RXVLANGBPIS_MMC_Receive_VLAN_Good_Bad_Packet_Counter_Interrupt_Status[22:22];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_RX_INTERRUPT_RXWDOGPIS_MMC_Receive_Watchdog_Error_Packet_Counter_Interrupt_Status[23:23];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_RX_INTERRUPT_RXRCVERRPIS_MMC_Receive_Error_Packet_Counter_Interrupt_Status[24:24];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_RX_INTERRUPT_RXCTRLPIS_MMC_Receive_Control_Packet_Counter_Interrupt_Status[25:25];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_RX_INTERRUPT_RXLPIUSCIS_MMC_Receive_LPI_Microsecond_Counter_Interrupt_Status[26:26];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_RX_INTERRUPT_RXLPITRCIS_MMC_Receive_LPI_Transition_Counter_Interrupt_Status[27:27];
    } MMCRxInterrupt @ 0x704;
    reg {
        name="MMCTxInterrupt";
        desc = "This register has the following custom Renode callbacks: Change";
        regwidth=0x20;
            field {
                sw = r;
                onread = rclr;
            } MMC_TX_INTERRUPT_TXGBOCTIS_MMC_Transmit_Good_Bad_Octet_Counter_Interrupt_Status[0:0];
            field {
                sw = r;
                onread = rclr;
            } MMC_TX_INTERRUPT_TXGBPKTIS_MMC_Transmit_Good_Bad_Packet_Counter_Interrupt_Status[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_TX_INTERRUPT_TXBCGPIS_MMC_Transmit_Broadcast_Good_Packet_Counter_Interrupt_Status[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_TX_INTERRUPT_TXMCGPIS_MMC_Transmit_Multicast_Good_Packet_Counter_Interrupt_Status[3:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_TX_INTERRUPT_TX64OCTGBPIS_MMC_Transmit_64_Octet_Good_Bad_Packet_Counter_Interrupt_Status[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_TX_INTERRUPT_TX65T127OCTGBPIS_MMC_Transmit_65_to_127_Octet_Good_Bad_Packet_Counter_Interrupt_Status[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_TX_INTERRUPT_TX128T255OCTGBPIS_MMC_Transmit_128_to_255_Octet_Good_Bad_Packet_Counter_Interrupt_Status[6:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_TX_INTERRUPT_TX256T511OCTGBPIS_MMC_Transmit_256_to_511_Octet_Good_Bad_Packet_Counter_Interrupt_Status[7:7];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_TX_INTERRUPT_TX512T1023OCTGBPIS_MMC_Transmit_512_to_1023_Octet_Good_Bad_Packet_Counter_Interrupt_Status[8:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_TX_INTERRUPT_TX1024TMAXOCTGBPIS_MMC_Transmit_1024_to_Maximum_Octet_Good_Bad_Packet_Counter_Interrupt_Status[9:9];
            field {
                sw = r;
                onread = rclr;
            } MMC_TX_INTERRUPT_TXUCGBPIS_MMC_Transmit_Unicast_Good_Bad_Packet_Counter_Interrupt_Status[10:10];
            field {
                sw = r;
                onread = rclr;
            } MMC_TX_INTERRUPT_TXMCGBPIS_MMC_Transmit_Multicast_Good_Bad_Packet_Counter_Interrupt_Status[11:11];
            field {
                sw = r;
                onread = rclr;
            } MMC_TX_INTERRUPT_TXBCGBPIS_MMC_Transmit_Broadcast_Good_Bad_Packet_Counter_Interrupt_Status[12:12];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_TX_INTERRUPT_TXUFLOWERPIS_MMC_Transmit_Underflow_Error_Packet_Counter_Interrupt_Status[13:13];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_TX_INTERRUPT_TXSCOLGPIS_MMC_Transmit_Single_Collision_Good_Packet_Counter_Interrupt_Status[14:14];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_TX_INTERRUPT_TXMCOLGPIS_MMC_Transmit_Multiple_Collision_Good_Packet_Counter_Interrupt_Status[15:15];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_TX_INTERRUPT_TXDEFPIS_MMC_Transmit_Deferred_Packet_Counter_Interrupt_Status[16:16];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_TX_INTERRUPT_TXLATCOLPIS_MMC_Transmit_Late_Collision_Packet_Counter_Interrupt_Status[17:17];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_TX_INTERRUPT_TXEXCOLPIS_MMC_Transmit_Excessive_Collision_Packet_Counter_Interrupt_Status[18:18];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_TX_INTERRUPT_TXCARERPIS_MMC_Transmit_Carrier_Error_Packet_Counter_Interrupt_Status[19:19];
            field {
                sw = r;
                onread = rclr;
            } MMC_TX_INTERRUPT_TXGOCTIS_MMC_Transmit_Good_Octet_Counter_Interrupt_Status[20:20];
            field {
                sw = r;
                onread = rclr;
            } MMC_TX_INTERRUPT_TXGPKTIS_MMC_Transmit_Good_Packet_Counter_Interrupt_Status[21:21];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_TX_INTERRUPT_TXEXDEFPIS_MMC_Transmit_Excessive_Deferral_Packet_Counter_Interrupt_Status[22:22];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_TX_INTERRUPT_TXPAUSPIS_MMC_Transmit_Pause_Packet_Counter_Interrupt_Status[23:23];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_TX_INTERRUPT_TXVLANGPIS_MMC_Transmit_VLAN_Good_Packet_Counter_Interrupt_Status[24:24];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_TX_INTERRUPT_TXOSIZEGPIS_MMC_Transmit_Oversize_Good_Packet_Counter_Interrupt_Status[25:25];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_TX_INTERRUPT_TXLPIUSCIS_MMC_Transmit_LPI_Microsecond_Counter_Interrupt_Status[26:26];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_TX_INTERRUPT_TXLPITRCIS_MMC_Transmit_LPI_Transition_Counter_Interrupt_Status[27:27];
    } MMCTxInterrupt @ 0x708;
    reg {
        name="MMCRxInterruptMask";
        desc = "This register has the following custom Renode callbacks: Change";
        regwidth=0x20;
            field {
                sw = rw;
            } MMC_RX_INTERRUPT_MASK_RXGBPKTIM_MMC_Receive_Good_Bad_Packet_Counter_Interrupt_Mask[0:0];
            field {
                sw = rw;
            } MMC_RX_INTERRUPT_MASK_RXGBOCTIM_MMC_Receive_Good_Bad_Octet_Counter_Interrupt_Mask[1:1];
            field {
                sw = rw;
            } MMC_RX_INTERRUPT_MASK_RXGOCTIM_MMC_Receive_Good_Octet_Counter_Interrupt_Mask[2:2];
            field {
                sw = rw;
            } MMC_RX_INTERRUPT_MASK_RXBCGPIM_MMC_Receive_Broadcast_Good_Packet_Counter_Interrupt_Mask[3:3];
            field {
                sw = rw;
            } MMC_RX_INTERRUPT_MASK_RXMCGPIM_MMC_Receive_Multicast_Good_Packet_Counter_Interrupt_Mask[4:4];
            field {
                sw = rw;
            } MMC_RX_INTERRUPT_MASK_RXCRCERPIM_MMC_Receive_CRC_Error_Packet_Counter_Interrupt_Mask[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_RX_INTERRUPT_MASK_RXALGNERPIM_MMC_Receive_Alignment_Error_Packet_Counter_Interrupt_Mask[6:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_RX_INTERRUPT_MASK_RXRUNTPIM_MMC_Receive_Runt_Packet_Counter_Interrupt_Mask[7:7];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_RX_INTERRUPT_MASK_RXJABERPIM_MMC_Receive_Jabber_Error_Packet_Counter_Interrupt_Mask[8:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_RX_INTERRUPT_MASK_RXUSIZEGPIM_MMC_Receive_Undersize_Good_Packet_Counter_Interrupt_Mask[9:9];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_RX_INTERRUPT_MASK_RXOSIZEGPIM_MMC_Receive_Oversize_Good_Packet_Counter_Interrupt_Mask[10:10];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_RX_INTERRUPT_MASK_RX64OCTGBPIM_MMC_Receive_64_Octet_Good_Bad_Packet_Counter_Interrupt_Mask[11:11];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_RX_INTERRUPT_MASK_RX65T127OCTGBPIM_MMC_Receive_Broadcast_Good_Bad_Packet_Counter_Interrupt_Mask[12:12];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_RX_INTERRUPT_MASK_RX128T255OCTGBPIM_MMC_Receive_128_to_255_Octet_Good_Bad_Packet_Counter_Interrupt_Mask[13:13];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_RX_INTERRUPT_MASK_RX256T511OCTGBPIM_MMC_Receive_256_to_511_Octet_Good_Bad_Packet_Counter_Interrupt_Mask[14:14];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_RX_INTERRUPT_MASK_RX512T1023OCTGBPIM_MMC_Receive_512_to_1023_Octet_Good_Bad_Packet_Counter_Interrupt_Mask[15:15];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_RX_INTERRUPT_MASK_RX1024TMAXOCTGBPIM_MMC_Receive_1024_to_Maximum_Octet_Good_Bad_Packet_Counter_Interrupt_Mask[16:16];
            field {
                sw = rw;
            } MMC_RX_INTERRUPT_MASK_RXUCGPIM_MMC_Receive_Unicast_Good_Packet_Counter_Interrupt_Mask[17:17];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_RX_INTERRUPT_MASK_RXLENERPIM_MMC_Receive_Length_Error_Packet_Counter_Interrupt_Mask[18:18];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_RX_INTERRUPT_MASK_RXORANGEPIM_MMC_Receive_Out_Of_Range_Error_Packet_Counter_Interrupt_Mask[19:19];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_RX_INTERRUPT_MASK_RXPAUSPIM_MMC_Receive_Pause_Packet_Counter_Interrupt_Mask[20:20];
            field {
                sw = rw;
            } MMC_RX_INTERRUPT_MASK_RXFOVPIM_MMC_Receive_FIFO_Overflow_Packet_Counter_Interrupt_Mask[21:21];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_RX_INTERRUPT_MASK_RXVLANGBPIM_MMC_Receive_VLAN_Good_Bad_Packet_Counter_Interrupt_Mask[22:22];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_RX_INTERRUPT_MASK_RXWDOGPIM_MMC_Receive_Watchdog_Error_Packet_Counter_Interrupt_Mask[23:23];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_RX_INTERRUPT_MASK_RXRCVERRPIM_MMC_Receive_Error_Packet_Counter_Interrupt_Mask[24:24];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_RX_INTERRUPT_MASK_RXCTRLPIM_MMC_Receive_Control_Packet_Counter_Interrupt_Mask[25:25];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_RX_INTERRUPT_MASK_RXLPIUSCIM_MMC_Receive_LPI_Microsecond_Counter_Interrupt_Mask[26:26];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_RX_INTERRUPT_MASK_RXLPITRCIM_MMC_Receive_LPI_Transition_Counter_Interrupt_Mask[27:27];
    } MMCRxInterruptMask @ 0x70c;
    reg {
        name="MMCTxInterruptMask";
        desc = "This register has the following custom Renode callbacks: Change";
        regwidth=0x20;
            field {
                sw = rw;
            } MMC_TX_INTERRUPT_MASK_TXGBOCTIM_MMC_Transmit_Good_Bad_Octet_Counter_Interrupt_Mask[0:0];
            field {
                sw = rw;
            } MMC_TX_INTERRUPT_MASK_TXGBPKTIM_MMC_Transmit_Good_Bad_Packet_Counter_Interrupt_Mask[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_TX_INTERRUPT_MASK_TXBCGPIM_MMC_Transmit_Broadcast_Good_Packet_Counter_Interrupt_Mask[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_TX_INTERRUPT_MASK_TXMCGPIM_MMC_Transmit_Multicast_Good_Packet_Counter_Interrupt_Mask[3:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_TX_INTERRUPT_MASK_TX64OCTGBPIM_MMC_Transmit_64_Octet_Good_Bad_Packet_Counter_Interrupt_Mask[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_TX_INTERRUPT_MASK_TX65T127OCTGBPIM_MMC_Transmit_65_to_127_Octet_Good_Bad_Packet_Counter_Interrupt_Mask[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_TX_INTERRUPT_MASK_TX128T255OCTGBPIM_MMC_Transmit_128_to_255_Octet_Good_Bad_Packet_Counter_Interrupt_Mask[6:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_TX_INTERRUPT_MASK_TX256T511OCTGBPIM_MMC_Transmit_256_to_511_Octet_Good_Bad_Packet_Counter_Interrupt_Mask[7:7];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_TX_INTERRUPT_MASK_TX512T1023OCTGBPIM_MMC_Transmit_512_to_1023_Octet_Good_Bad_Packet_Counter_Interrupt_Mask[8:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_TX_INTERRUPT_MASK_TX1024TMAXOCTGBPIM_MMC_Transmit_1024_to_Maximum_Octet_Good_Bad_Packet_Counter_Interrupt_Mask[9:9];
            field {
                sw = rw;
            } MMC_TX_INTERRUPT_MASK_TXUCGBPIM_MMC_Transmit_Unicast_Good_Bad_Packet_Counter_Interrupt_Mask[10:10];
            field {
                sw = rw;
            } MMC_TX_INTERRUPT_MASK_TXMCGBPIM_MMC_Transmit_Multicast_Good_Bad_Packet_Counter_Interrupt_Mask[11:11];
            field {
                sw = rw;
            } MMC_TX_INTERRUPT_MASK_TXBCGBPIM_MMC_Transmit_Broadcast_Good_Bad_Packet_Counter_Interrupt_Mask[12:12];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_TX_INTERRUPT_MASK_TXUFLOWERPIM_MMC_Transmit_Underflow_Error_Packet_Counter_Interrupt_Mask[13:13];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_TX_INTERRUPT_MASK_TXSCOLGPIM_MMC_Transmit_Single_Collision_Good_Packet_Counter_Interrupt_Mask[14:14];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_TX_INTERRUPT_MASK_TXMCOLGPIM_MMC_Transmit_Multiple_Collision_Good_Packet_Counter_Interrupt_Mask[15:15];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_TX_INTERRUPT_MASK_TXDEFPIM_MMC_Transmit_Deferred_Packet_Counter_Interrupt_Mask[16:16];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_TX_INTERRUPT_MASK_TXLATCOLPIM_MMC_Transmit_Late_Collision_Packet_Counter_Interrupt_Mask[17:17];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_TX_INTERRUPT_MASK_TXEXCOLPIM_MMC_Transmit_Excessive_Collision_Packet_Counter_Interrupt_Mask[18:18];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_TX_INTERRUPT_MASK_TXCARERPIM_MMC_Transmit_Carrier_Error_Packet_Counter_Interrupt_Mask[19:19];
            field {
                sw = rw;
            } MMC_TX_INTERRUPT_MASK_TXGOCTIM_MMC_Transmit_Good_Octet_Counter_Interrupt_Mask[20:20];
            field {
                sw = rw;
            } MMC_TX_INTERRUPT_MASK_TXGPKTIM_MMC_Transmit_Good_Packet_Counter_Interrupt_Mask[21:21];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_TX_INTERRUPT_MASK_TXEXDEFPIM_MMC_Transmit_Excessive_Deferral_Packet_Counter_Interrupt_Mask[22:22];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_TX_INTERRUPT_MASK_TXPAUSPIM_MMC_Transmit_Pause_Packet_Counter_Interrupt_Mask[23:23];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_TX_INTERRUPT_MASK_TXVLANGPIM_MMC_Transmit_VLAN_Good_Packet_Counter_Interrupt_Mask[24:24];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_TX_INTERRUPT_MASK_TXOSIZEGPIM_MMC_Transmit_Oversize_Good_Packet_Counter_Interrupt_Mask[25:25];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_TX_INTERRUPT_MASK_TXLPIUSCIM_MMC_Transmit_LPI_Microsecond_Counter_Interrupt_Mask[26:26];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MMC_TX_INTERRUPT_MASK_TXLPITRCIM_MMC_Transmit_LPI_Transition_Counter_Interrupt_Mask[27:27];
    } MMCTxInterruptMask @ 0x710;
    reg {
        name="TxOctetCountGoodBad";
        regwidth=0x20;
            field {
                sw = r;
            } TX_OCTET_COUNT_GOOD_BAD_TXOCTGB_TXOCTGB[31:0];
    } TxOctetCountGoodBad @ 0x714;
    reg {
        name="TxPacketCountGoodBad";
        regwidth=0x20;
            field {
                sw = r;
            } TX_PACKET_COUNT_GOOD_BAD_TXPKTGB_TXPKTGB[31:0];
    } TxPacketCountGoodBad @ 0x718;
    reg {
        name="TxUnicastPacketsGoodBad";
        regwidth=0x20;
            field {
                sw = r;
            } TX_UNICAST_PACKETS_GOOD_BAD_TXUCASTGB_TXUCASTGB[31:0];
    } TxUnicastPacketsGoodBad @ 0x73c;
    reg {
        name="TxMulticastPacketsGoodBad";
        regwidth=0x20;
            field {
                sw = r;
            } TX_MULTICAST_PACKETS_GOOD_BAD_TXMCASTGB_TXMCASTGB[31:0];
    } TxMulticastPacketsGoodBad @ 0x740;
    reg {
        name="TxBroadcastPacketsGoodBad";
        regwidth=0x20;
            field {
                sw = r;
            } TX_BROADCAST_PACKETS_GOOD_BAD_TXBCASTGB_TXBCASTGB[31:0];
    } TxBroadcastPacketsGoodBad @ 0x744;
    reg {
        name="TxSingleCollisionGoodPackets";
        regwidth=0x20;
            field {
                sw = r;
            } TX_SINGLE_COLLISION_GOOD_PACKETS_TXSNGLCOLG_TXSNGLCOLG[31:0];
    } TxSingleCollisionGoodPackets @ 0x74c;
    reg {
        name="TxMultipleCollisionGoodPackets";
        regwidth=0x20;
            field {
                sw = r;
            } TX_MULTIPLE_COLLISION_GOOD_PACKETS_TXMULTCOLG_TXMULTCOLG[31:0];
    } TxMultipleCollisionGoodPackets @ 0x750;
    reg {
        name="TxOctetCountGood";
        regwidth=0x20;
            field {
                sw = r;
            } TX_OCTET_COUNT_GOOD_TXOCTG_TXOCTG[31:0];
    } TxOctetCountGood @ 0x764;
    reg {
        name="TxPacketCountGood";
        regwidth=0x20;
            field {
                sw = r;
            } TX_PACKET_COUNT_GOOD_TXPKTG_TXPKTG[31:0];
    } TxPacketCountGood @ 0x768;
    reg {
        name="RxPacketsCountGoodBad";
        regwidth=0x20;
            field {
                sw = r;
            } RX_PACKETS_COUNT_GOOD_BAD_RXPKTGB_RXPKTGB[31:0];
    } RxPacketsCountGoodBad @ 0x780;
    reg {
        name="RxOctetCountGoodBad";
        regwidth=0x20;
            field {
                sw = r;
            } RX_OCTET_COUNT_GOOD_BAD_RXOCTGB_RXOCTGB[31:0];
    } RxOctetCountGoodBad @ 0x784;
    reg {
        name="RxOctetCountGood";
        regwidth=0x20;
            field {
                sw = r;
            } RX_OCTET_COUNT_GOOD_RXOCTG_RXOCTG[31:0];
    } RxOctetCountGood @ 0x788;
    reg {
        name="RxBroadcastPacketsGood";
        regwidth=0x20;
            field {
                sw = r;
            } RX_BROADCAST_PACKETS_GOOD_RXBCASTG_RXBCASTG[31:0];
    } RxBroadcastPacketsGood @ 0x78c;
    reg {
        name="RxMulticastPacketsGood";
        regwidth=0x20;
            field {
                sw = r;
            } RX_MULTICAST_PACKETS_GOOD_RXMCASTG_RXMCASTG[31:0];
    } RxMulticastPacketsGood @ 0x790;
    reg {
        name="RxCRCErrorPackets";
        regwidth=0x20;
            field {
                sw = r;
            } RX_CRC_ERROR_PACKETS_RXCRCERR_RXCRCERR[31:0];
    } RxCRCErrorPackets @ 0x794;
    reg {
        name="RxAlignmentErrorPackets";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } RX_ALIGNMENT_ERROR_PACKETS_RXALGNERR_RXALGNERR[31:0];
    } RxAlignmentErrorPackets @ 0x798;
    reg {
        name="RxUnicastPacketsGood";
        regwidth=0x20;
            field {
                sw = r;
            } RX_UNICAST_PACKETS_GOOD_RXUCASTG_RXUCASTG[31:0];
    } RxUnicastPacketsGood @ 0x7c4;
    reg {
        name="RxFifoOverflowPackets";
        regwidth=0x20;
            field {
                sw = rw;
            } Rx_FIFO_Overflow_Packets_RXFIFOOVFL_RXFIFOOVFL[31:0];
    } RxFifoOverflowPackets @ 0x7d4;
    reg {
        name="TxLPIMicrodecondTimer";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } TX_LPI_USEC_CNTR_TXLPIUSC_TXLPIUSC[31:0];
    } TxLPIMicrodecondTimer @ 0x7ec;
    reg {
        name="TxLPITransitionCounter";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } TX_LPI_TRAN_CNTR_TXLPITRC_TXLPITRC[31:0];
    } TxLPITransitionCounter @ 0x7f0;
    reg {
        name="RxLPIMicrosecondCounter";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } RX_LPI_USEC_CNTR_RXLPIUSC_RXLPIUSC[31:0];
    } RxLPIMicrosecondCounter @ 0x7f4;
    reg {
        name="RxLPITransitionCounter";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } RX_LPI_TRAN_CNTR_RXLPITRC_RXLPITRC[31:0];
    } RxLPITransitionCounter @ 0x7f8;
    reg {
        name="MmcIpcRxInterruptMask";
        regwidth=0x20;
            field {
                sw = rw;
            } MMC_IPC_RX_INTERRUPT_MASK_RXIPV4GPIM_RXIPV4GPIM[0:0];
            field {
                sw = rw;
            } MMC_IPC_RX_INTERRUPT_MASK_RXIPV4HERPIM_RXIPV4HERPIM[1:1];
            field {
                sw = rw;
            } MMC_IPC_RX_INTERRUPT_MASK_RXIPV4NOPAYPIM_RXIPV4NOPAYPIM[2:2];
            field {
                sw = rw;
            } MMC_IPC_RX_INTERRUPT_MASK_RXIPV4FRAGPIM_RXIPV4FRAGPIM[3:3];
            field {
                sw = rw;
            } MMC_IPC_RX_INTERRUPT_MASK_RXIPV4UDSBLPIM_RXIPV4UDSBLPIM[4:4];
            field {
                sw = rw;
            } MMC_IPC_RX_INTERRUPT_MASK_RXIPV6GPIM_RXIPV6GPIM[5:5];
            field {
                sw = rw;
            } MMC_IPC_RX_INTERRUPT_MASK_RXIPV6HERPIM_RXIPV6HERPIM[6:6];
            field {
                sw = rw;
            } MMC_IPC_RX_INTERRUPT_MASK_RXIPV6NOPAYPIM_RXIPV6NOPAYPIM[7:7];
            field {
                sw = rw;
            } MMC_IPC_RX_INTERRUPT_MASK_RXUDPGPIM_RXUDPGPIM[8:8];
            field {
                sw = rw;
            } MMC_IPC_RX_INTERRUPT_MASK_RXUDPERPIM_RXUDPERPIM[9:9];
            field {
                sw = rw;
            } MMC_IPC_RX_INTERRUPT_MASK_RXTCPGPIM_RXTCPGPIM[10:10];
            field {
                sw = rw;
            } MMC_IPC_RX_INTERRUPT_MASK_RXTCPERPIM_RXTCPERPIM[11:11];
            field {
                sw = rw;
            } MMC_IPC_RX_INTERRUPT_MASK_RXICMPGPIM_RXICMPGPIM[12:12];
            field {
                sw = rw;
            } MMC_IPC_RX_INTERRUPT_MASK_RXICMPERPIM_RXICMPERPIM[13:13];
            field {
                sw = rw;
            } MMC_IPC_RX_INTERRUPT_MASK_RXIPV4GOIM_RXIPV4GOIM[16:16];
            field {
                sw = rw;
            } MMC_IPC_RX_INTERRUPT_MASK_RXIPV4HEROIM_RXIPV4HEROIM[17:17];
            field {
                sw = rw;
            } MMC_IPC_RX_INTERRUPT_MASK_RXIPV4NOPAYOIM_RXIPV4NOPAYOIM[18:18];
            field {
                sw = rw;
            } MMC_IPC_RX_INTERRUPT_MASK_RXIPV4FRAGOIM_RXIPV4FRAGOIM[19:19];
            field {
                sw = rw;
            } MMC_IPC_RX_INTERRUPT_MASK_RXIPV4UDSBLOIM_RXIPV4UDSBLOIM[20:20];
            field {
                sw = rw;
            } MMC_IPC_RX_INTERRUPT_MASK_RXIPV6GOIM_RXIPV6GOIM[21:21];
            field {
                sw = rw;
            } MMC_IPC_RX_INTERRUPT_MASK_RXIPV6HEROIM_RXIPV6HEROIM[22:22];
            field {
                sw = rw;
            } MMC_IPC_RX_INTERRUPT_MASK_RXIPV6NOPAYOIM_RXIPV6NOPAYOIM[23:23];
            field {
                sw = rw;
            } MMC_IPC_RX_INTERRUPT_MASK_RXUDPGOIM_RXUDPGOIM[24:24];
            field {
                sw = rw;
            } MMC_IPC_RX_INTERRUPT_MASK_RXUDPEROIM_RXUDPEROIM[25:25];
            field {
                sw = rw;
            } MMC_IPC_RX_INTERRUPT_MASK_RXTCPGOIM_RXTCPGOIM[26:26];
            field {
                sw = rw;
            } MMC_IPC_RX_INTERRUPT_MASK_RXTCPEROIM_RXTCPEROIM[27:27];
            field {
                sw = rw;
            } MMC_IPC_RX_INTERRUPT_MASK_RXICMPGOIM_RXICMPGOIM[28:28];
            field {
                sw = rw;
            } MMC_IPC_RX_INTERRUPT_MASK_RXICMPEROIM_RXICMPEROIM[29:29];
    } MmcIpcRxInterruptMask @ 0x800;
    reg {
        name="MmcIpcRxInterrupt";
        regwidth=0x20;
            field {
                sw = r;
                onread = rclr;
            } MMC_IPC_RX_INTERRUPT_RXIPV4GPIS_RXIPV4GPIS[0:0];
            field {
                sw = r;
                onread = rclr;
            } MMC_IPC_RX_INTERRUPT_RXIPV4HERPIS_RXIPV4HERPIS[1:1];
            field {
                sw = r;
                onread = rclr;
            } MMC_IPC_RX_INTERRUPT_RXIPV4NOPAYPIS_RXIPV4NOPAYPIS[2:2];
            field {
                sw = r;
                onread = rclr;
            } MMC_IPC_RX_INTERRUPT_RXIPV4FRAGPIS_RXIPV4FRAGPIS[3:3];
            field {
                sw = r;
                onread = rclr;
            } MMC_IPC_RX_INTERRUPT_RXIPV4UDSBLPIS_RXIPV4UDSBLPIS[4:4];
            field {
                sw = r;
                onread = rclr;
            } MMC_IPC_RX_INTERRUPT_RXIPV6GPIS_RXIPV6GPIS[5:5];
            field {
                sw = r;
                onread = rclr;
            } MMC_IPC_RX_INTERRUPT_RXIPV6HERPIS_RXIPV6HERPIS[6:6];
            field {
                sw = r;
                onread = rclr;
            } MMC_IPC_RX_INTERRUPT_RXIPV6NOPAYPIS_RXIPV6NOPAYPIS[7:7];
            field {
                sw = r;
                onread = rclr;
            } MMC_IPC_RX_INTERRUPT_RXUDPGPIS_RXUDPGPIS[8:8];
            field {
                sw = r;
                onread = rclr;
            } MMC_IPC_RX_INTERRUPT_RXUDPERPIS_RXUDPERPIS[9:9];
            field {
                sw = r;
                onread = rclr;
            } MMC_IPC_RX_INTERRUPT_RXTCPGPIS_RXTCPGPIS[10:10];
            field {
                sw = r;
                onread = rclr;
            } MMC_IPC_RX_INTERRUPT_RXTCPERPIS_RXTCPERPIS[11:11];
            field {
                sw = r;
                onread = rclr;
            } MMC_IPC_RX_INTERRUPT_RXICMPGPIS_RXICMPGPIS[12:12];
            field {
                sw = r;
                onread = rclr;
            } MMC_IPC_RX_INTERRUPT_RXICMPERPIS_RXICMPERPIS[13:13];
            field {
                sw = r;
                onread = rclr;
            } MMC_IPC_RX_INTERRUPT_RXIPV4GOIS_RXIPV4GOIS[16:16];
            field {
                sw = r;
                onread = rclr;
            } MMC_IPC_RX_INTERRUPT_RXIPV4HEROIS_RXIPV4HEROIS[17:17];
            field {
                sw = r;
                onread = rclr;
            } MMC_IPC_RX_INTERRUPT_RXIPV4NOPAYOIS_RXIPV4NOPAYOIS[18:18];
            field {
                sw = r;
                onread = rclr;
            } MMC_IPC_RX_INTERRUPT_RXIPV4FRAGOIS_RXIPV4FRAGOIS[19:19];
            field {
                sw = r;
                onread = rclr;
            } MMC_IPC_RX_INTERRUPT_RXIPV4UDSBLOIS_RXIPV4UDSBLOIS[20:20];
            field {
                sw = r;
                onread = rclr;
            } MMC_IPC_RX_INTERRUPT_RXIPV6GOIS_RXIPV6GOIS[21:21];
            field {
                sw = r;
                onread = rclr;
            } MMC_IPC_RX_INTERRUPT_RXIPV6HEROIS_RXIPV6HEROIS[22:22];
            field {
                sw = r;
                onread = rclr;
            } MMC_IPC_RX_INTERRUPT_RXIPV6NOPAYOIS_RXIPV6NOPAYOIS[23:23];
            field {
                sw = r;
                onread = rclr;
            } MMC_IPC_RX_INTERRUPT_RXUDPGOIS_RXUDPGOIS[24:24];
            field {
                sw = r;
                onread = rclr;
            } MMC_IPC_RX_INTERRUPT_RXUDPEROIS_RXUDPEROIS[25:25];
            field {
                sw = r;
                onread = rclr;
            } MMC_IPC_RX_INTERRUPT_RXTCPGOIS_RXTCPGOIS[26:26];
            field {
                sw = r;
                onread = rclr;
            } MMC_IPC_RX_INTERRUPT_RXTCPEROIS_RXTCPEROIS[27:27];
            field {
                sw = r;
                onread = rclr;
            } MMC_IPC_RX_INTERRUPT_RXICMPGOIS_RXICMPGOIS[28:28];
            field {
                sw = r;
                onread = rclr;
            } MMC_IPC_RX_INTERRUPT_RXICMPEROIS_RXICMPEROIS[29:29];
    } MmcIpcRxInterrupt @ 0x808;
    reg {
        name="RxIpv4GoodPackets";
        regwidth=0x20;
            field {
                sw = r;
            } RXIPV4_GOOD_PACKETS_RXIPV4GDPKT_RXIPV4GDPKT[31:0];
    } RxIpv4GoodPackets @ 0x810;
    reg {
        name="RxIpv4HeaderErrorPackets";
        regwidth=0x20;
            field {
                sw = r;
            } RXIPV4_HEADER_ERROR_PACKETS_RXIPV4HDRERRPKT_RXIPV4HDRERRPKT[31:0];
    } RxIpv4HeaderErrorPackets @ 0x814;
    reg {
        name="RxIpv4NoPayloadPackets";
        regwidth=0x20;
            field {
                sw = r;
            } RXIPV4_NO_PAYLOAD_PACKETS_RXIPV4NOPAYPKT_RXIPV4NOPAYPKT[31:0];
    } RxIpv4NoPayloadPackets @ 0x818;
    reg {
        name="RxIpv4FragmentedPackets";
        regwidth=0x20;
            field {
                sw = r;
            } RXIPV4_FRAGMENTED_PACKETS_RXIPV4FRAGPKT_RXIPV4FRAGPKT[31:0];
    } RxIpv4FragmentedPackets @ 0x81c;
    reg {
        name="RxIpv4UdpChecksumDisabledPackets";
        regwidth=0x20;
            field {
                sw = r;
            } RXIPV4_UDP_CHECKSUM_DISABLED_PACKETS_RXIPV4UDSBLPKT_RXIPV4UDSBLPKT[31:0];
    } RxIpv4UdpChecksumDisabledPackets @ 0x820;
    reg {
        name="RxIpv6GoodPackets";
        regwidth=0x20;
            field {
                sw = r;
            } RXIPV6_GOOD_PACKETS_RXIPV6GDPKT_RXIPV6GDPKT[31:0];
    } RxIpv6GoodPackets @ 0x824;
    reg {
        name="RxIpv6HeaderErrorPackets";
        regwidth=0x20;
            field {
                sw = r;
            } RXIPV6_HEADER_ERROR_PACKETS_RXIPV6HDRERRPKT_RXIPV6HDRERRPKT[31:0];
    } RxIpv6HeaderErrorPackets @ 0x828;
    reg {
        name="RxIpv6NoPayloadPackets";
        regwidth=0x20;
            field {
                sw = r;
            } RXIPV6_NO_PAYLOAD_PACKETS_RXIPV6NOPAYPKT_RXIPV6NOPAYPKT[31:0];
    } RxIpv6NoPayloadPackets @ 0x82c;
    reg {
        name="RxUdpGoodPackets";
        regwidth=0x20;
            field {
                sw = r;
            } RXUDP_GOOD_PACKETS_RXUDPGDPKT_RXUDPGDPKT[31:0];
    } RxUdpGoodPackets @ 0x830;
    reg {
        name="RxUdpErrorPackets";
        regwidth=0x20;
            field {
                sw = r;
            } RXUDP_ERROR_PACKETS_RXUDPERRPKT_RXUDPERRPKT[31:0];
    } RxUdpErrorPackets @ 0x834;
    reg {
        name="RxTcpGoodPackets";
        regwidth=0x20;
            field {
                sw = r;
            } RXTCP_GOOD_PACKETS_RXTCPGDPKT_RXTCPGDPKT[31:0];
    } RxTcpGoodPackets @ 0x838;
    reg {
        name="RxTcpErrorPackets";
        regwidth=0x20;
            field {
                sw = r;
            } RXTCP_ERROR_PACKETS_RXTCPERRPKT_RXTCPERRPKT[31:0];
    } RxTcpErrorPackets @ 0x83c;
    reg {
        name="RxIcmpGoodPackets";
        regwidth=0x20;
            field {
                sw = r;
            } RXICMP_GOOD_PACKETS_RXICMPGDPKT_RXICMPGDPKT[31:0];
    } RxIcmpGoodPackets @ 0x840;
    reg {
        name="RxIcmpErrorPackets";
        regwidth=0x20;
            field {
                sw = r;
            } RXICMP_ERROR_PACKETS_RXICMPERRPKT_RXICMPERRPKT[31:0];
    } RxIcmpErrorPackets @ 0x844;
    reg {
        name="RxIpv4GoodOctets";
        regwidth=0x20;
            field {
                sw = r;
            } RXIPV4_GOOD_OCTETS_RXIPV4GDOCT_RXIPV4GDOCT[31:0];
    } RxIpv4GoodOctets @ 0x850;
    reg {
        name="RxIpv4HeaderErrorOctets";
        regwidth=0x20;
            field {
                sw = r;
            } RXIPV4_HEADER_ERROR_OCTETS_RXIPV4HDRERROCT_RXIPV4HDRERROCT[31:0];
    } RxIpv4HeaderErrorOctets @ 0x854;
    reg {
        name="RxIpv4NoPayloadOctets";
        regwidth=0x20;
            field {
                sw = r;
            } RXIPV4_NO_PAYLOAD_OCTETS_RXIPV4NOPAYOCT_RXIPV4NOPAYOCT[31:0];
    } RxIpv4NoPayloadOctets @ 0x858;
    reg {
        name="RxIpv4FragmentedOctets";
        regwidth=0x20;
            field {
                sw = r;
            } RXIPV4_FRAGMENTED_OCTETS_RXIPV4FRAGOCT_RXIPV4FRAGOCT[31:0];
    } RxIpv4FragmentedOctets @ 0x85c;
    reg {
        name="RxIpv4UdpChecksumDisableOctets";
        regwidth=0x20;
            field {
                sw = r;
            } RXIPV4_UDP_CHECKSUM_DISABLE_OCTETS_RXIPV4UDSBLOCT_RXIPV4UDSBLOCT[31:0];
    } RxIpv4UdpChecksumDisableOctets @ 0x860;
    reg {
        name="RxIpv6GoodOctets";
        regwidth=0x20;
            field {
                sw = r;
            } RXIPV6_GOOD_OCTETS_RXIPV6GDOCT_RXIPV6GDOCT[31:0];
    } RxIpv6GoodOctets @ 0x864;
    reg {
        name="RxIpv6HeaderErrorOctets";
        regwidth=0x20;
            field {
                sw = r;
            } RXIPV6_HEADER_ERROR_OCTETS_RXIPV6HDRERROCT_RXIPV6HDRERROCT[31:0];
    } RxIpv6HeaderErrorOctets @ 0x868;
    reg {
        name="RxIpv6NoPayloadOctets";
        regwidth=0x20;
            field {
                sw = r;
            } RXIPV6_NO_PAYLOAD_OCTETS_RXIPV6NOPAYOCT_RXIPV6NOPAYOCT[31:0];
    } RxIpv6NoPayloadOctets @ 0x86c;
    reg {
        name="RxUdpGoodOctets";
        regwidth=0x20;
            field {
                sw = r;
            } RXUDP_GOOD_OCTETS_RXUDPGDOCT_RXUDPGDOCT[31:0];
    } RxUdpGoodOctets @ 0x870;
    reg {
        name="RxUdpErrorOctets";
        regwidth=0x20;
            field {
                sw = r;
            } RXUDP_ERROR_OCTETS_RXUDPERROCT_RXUDPERROCT[31:0];
    } RxUdpErrorOctets @ 0x874;
    reg {
        name="RxTcpGoodOctets";
        regwidth=0x20;
            field {
                sw = r;
            } RXTCP_GOOD_OCTETS_RXTCPGDOCT_RXTCPGDOCT[31:0];
    } RxTcpGoodOctets @ 0x878;
    reg {
        name="RxTcpErrorOctets";
        regwidth=0x20;
            field {
                sw = r;
            } RXTCP_ERROR_OCTETS_RXTCPERROCT_RXTCPERROCT[31:0];
    } RxTcpErrorOctets @ 0x87c;
    reg {
        name="RxIcmpGoodOctets";
        regwidth=0x20;
            field {
                sw = r;
            } RXICMP_GOOD_OCTETS_RXICMPGDOCT_RXICMPGDOCT[31:0];
    } RxIcmpGoodOctets @ 0x880;
    reg {
        name="RxIcmpErrorOctets";
        regwidth=0x20;
            field {
                sw = r;
            } RXICMP_ERROR_OCTETS_RXICMPERROCT_RXICMPERROCT[31:0];
    } RxIcmpErrorOctets @ 0x884;
    reg {
        name="Layer3And4Control0";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACL3L4C0R_L3PEN0_L3PEN0[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACL3L4C0R_L3SAM0_L3SAM0[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACL3L4C0R_L3SAIM0_L3SAIM0[3:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACL3L4C0R_L3DAM0_L3DAM0[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACL3L4C0R_L3DAIM0_L3DAIM0[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACL3L4C0R_L3HSBM0_L3HSBM0[10:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACL3L4C0R_L3HDBM0_L3HDBM0[15:11];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACL3L4C0R_L4PEN0_L4PEN0[16:16];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACL3L4C0R_L4SPM0_L4SPM0[18:18];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACL3L4C0R_L4SPIM0_L4SPIM0[19:19];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACL3L4C0R_L4DPM0_L4DPM0[20:20];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACL3L4C0R_L4DPIM0_L4DPIM0[21:21];
    } Layer3And4Control0 @ 0x900;
    reg {
        name="Layer4AddressFilter0";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACL4A0R_L4SP0_L4SP0[15:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACL4A0R_L4DP0_L4DP0[31:16];
    } Layer4AddressFilter0 @ 0x904;
    reg {
        name="Layer3Address0Filter0";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACL3A00R_L3A00_L3A00[31:0];
    } Layer3Address0Filter0 @ 0x910;
    reg {
        name="Layer3Address1Filter0";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACL3A10R_L3A10_L3A10[31:0];
    } Layer3Address1Filter0 @ 0x914;
    reg {
        name="Layer3Address2Filter0";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACL3A20_L3A20_L3A20[31:0];
    } Layer3Address2Filter0 @ 0x918;
    reg {
        name="Layer3Address3Filter0";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACL3A30_L3A30_L3A30[31:0];
    } Layer3Address3Filter0 @ 0x91c;
    reg {
        name="Layer3And4Control1";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACL3L4C1R_L3PEN1_L3PEN1[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACL3L4C1R_L3SAM1_L3SAM1[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACL3L4C1R_L3SAIM1_L3SAIM1[3:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACL3L4C1R_L3DAM1_L3DAM1[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACL3L4C1R_L3DAIM1_L3DAIM1[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACL3L4C1R_L3HSBM1_L3HSBM1[10:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACL3L4C1R_L3HDBM1_L3HDBM1[15:11];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACL3L4C1R_L4PEN1_L4PEN1[16:16];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACL3L4C1R_L4SPM1_L4SPM1[18:18];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACL3L4C1R_L4SPIM1_L4SPIM1[19:19];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACL3L4C1R_L4DPM1_L4DPM1[20:20];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACL3L4C1R_L4DPIM1_L4DPIM1[21:21];
    } Layer3And4Control1 @ 0x930;
    reg {
        name="Layer4AddressFilter1";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACL4A1R_L4SP1_L4SP1[15:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACL4A1R_L4DP1_L4DP1[31:16];
    } Layer4AddressFilter1 @ 0x934;
    reg {
        name="Layer3Address0Filter1";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACL3A01R_L3A01_L3A01[31:0];
    } Layer3Address0Filter1 @ 0x940;
    reg {
        name="Layer3Address1Filter1";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACL3A11R_L3A11_L3A11[31:0];
    } Layer3Address1Filter1 @ 0x944;
    reg {
        name="Layer3Address2Filter1";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACL3A21R_L3A21_L3A21[31:0];
    } Layer3Address2Filter1 @ 0x948;
    reg {
        name="Layer3Address3Filter1";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACL3A31R_L3A31_L3A31[31:0];
    } Layer3Address3Filter1 @ 0x94c;
    reg {
        name="TimestampControl";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Change.";
                sw = rw;
            } MACTSCR_TSENA_TSENA[0:0];
            field {
                sw = rw;
            } MACTSCR_TSCFUPDT_TSCFUPDT[1:1];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
                onwrite = woclr;
            } MACTSCR_TSINIT_TSINIT[2:2];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
                onwrite = woclr;
            } MACTSCR_TSUPDT_TSUPDT[3:3];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = rw;
            } MACTSCR_TSADDREG_TSADDREG[5:5];
            field {
                sw = rw;
            } MACTSCR_TSENALL_TSENALL[8:8];
            field {
                desc = "This field has the following custom Renode callbacks: Change.";
                sw = rw;
            } MACTSCR_TSCTRLSSR_TSCTRLSSR[9:9];
            field {
                sw = rw;
            } MACTSCR_TSVER2ENA[10:10];
            field {
                sw = rw;
            } MACTSCR_TSIPENA_TSIPENA[11:11];
            field {
                sw = rw;
            } MACTSCR_TSIPV6ENA_TSIPV6ENA[12:12];
            field {
                sw = rw;
                reset=1'b1;
            } MACTSCR_TSIPV4ENA_TSIPV4ENA[13:13];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACTSCR_TSEVNTENA_TSEVNTENA[14:14];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACTSCR_TSMSTRENA_TSMSTRENA[15:15];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACTSCR_SNAPTYPSEL_SNAPTYPSEL[17:16];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACTSCR_TSENMACADDR_TSENMACADDR[18:18];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACTSCR_CSC_CSC[19:19];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACTSCR_TXTSSTSM_TXTSSTSM[24:24];
    } TimestampControl @ 0xb00;
    reg {
        name="SubsecondIncrement";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACSSIR_SNSINC_SNSINC[15:8];
            field {
                sw = rw;
            } MACSSIR_SSINC_SSINC[23:16];
    } SubsecondIncrement @ 0xb04;
    reg {
        name="SystemTimeSeconds";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } MACSTSR_TSS_TSS[31:0];
    } SystemTimeSeconds @ 0xb08;
    reg {
        name="SystemTimeNanoseconds";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } MACSTNR_TSSS_TSSS[30:0];
    } SystemTimeNanoseconds @ 0xb0c;
    reg {
        name="SystemTimeSecondsUpdate";
        regwidth=0x20;
            field {
                sw = rw;
            } MACSTSUR_TSS_TSS[31:0];
    } SystemTimeSecondsUpdate @ 0xb10;
    reg {
        name="SystemTimeNanosecondsUpdate";
        regwidth=0x20;
            field {
                sw = rw;
            } MACSTNUR_TSSS_TSSS[30:0];
            field {
                sw = rw;
            } MACSTNUR_ADDSUB_ADDSUB[31:31];
    } SystemTimeNanosecondsUpdate @ 0xb14;
    reg {
        name="TimestampAddend";
        regwidth=0x20;
            field {
                sw = rw;
            } MACTSAR_TSAR_TSAR[31:0];
    } TimestampAddend @ 0xb18;
    reg {
        name="TimestampStatus";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACTSSR_TSSOVF_TSSOVF[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACTSSR_TSTARGT0_TSTARGT0[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACTSSR_AUXTSTRIG_AUXTSTRIG[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACTSSR_TSTRGTERR0_TSTRGTERR0[3:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACTSSR_TXTSSIS_TXTSSIS[15:15];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACTSSR_ATSSTN_ATSSTN[19:16];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACTSSR_ATSSTM_ATSSTM[24:24];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACTSSR_ATSNS_ATSNS[29:25];
    } TimestampStatus @ 0xb20;
    reg {
        name="TxTimestampStatusNanoseconds";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACTxTSSNR_TXTSSLO_TXTSSLO[30:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACTxTSSNR_TXTSSMIS_TXTSSMIS[31:31];
    } TxTimestampStatusNanoseconds @ 0xb30;
    reg {
        name="TxTimestampStatusSeconds";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACTxTSSSR_TXTSSHI_TXTSSHI[31:0];
    } TxTimestampStatusSeconds @ 0xb34;
    reg {
        name="AuxiliaryControl";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACACR_ATSFC_ATSFC[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACACR_ATSEN0_ATSEN0[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACACR_ATSEN1_ATSEN1[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACACR_ATSEN2_ATSEN2[6:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACACR_ATSEN3_ATSEN3[7:7];
    } AuxiliaryControl @ 0xb40;
    reg {
        name="AuxiliaryTimestampNanoseconds";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACATSNR_AUXTSLO_AUXTSLO[30:0];
    } AuxiliaryTimestampNanoseconds @ 0xb48;
    reg {
        name="AuxiliaryTimestampSeconds";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACATSSR_AUXTSHI_AUXTSHI[31:0];
    } AuxiliaryTimestampSeconds @ 0xb4c;
    reg {
        name="TimestampIngressAsymmetricCorrection";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACTSIACR_OSTIAC_OSTIAC[31:0];
    } TimestampIngressAsymmetricCorrection @ 0xb50;
    reg {
        name="TimestampEgressAsymmetricCorrection";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACTSEACR_OSTEAC_OSTEAC[31:0];
    } TimestampEgressAsymmetricCorrection @ 0xb54;
    reg {
        name="TimestampIngressCorrectionNanosecond";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACTSICNR_TSIC_TSIC[31:0];
    } TimestampIngressCorrectionNanosecond @ 0xb58;
    reg {
        name="TimestampEgressCorrectionNanosecond";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACTSECNR_TSEC_TSEC[31:0];
    } TimestampEgressCorrectionNanosecond @ 0xb5c;
    reg {
        name="PPSControl";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACPPSCR_PPSCTRL_MACPPSCR_PPSCMD_PPSCTRL_PPSCMD[3:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACPPSCR_PPSEN0_PPSEN0[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACPPSCR_TRGTMODSEL0_TRGTMODSEL0[6:5];
    } PPSControl @ 0xb70;
    reg {
        name="PPSTargetTimeSeconds";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACPPSTTSR_TSTRH0_TSTRH0[30:0];
    } PPSTargetTimeSeconds @ 0xb80;
    reg {
        name="PPSTargetTimeNanoseconds";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACPPSTTNR_TTSL0_TTSL0[30:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACPPSTTNR_TRGTBUSY0_TRGTBUSY0[31:31];
    } PPSTargetTimeNanoseconds @ 0xb84;
    reg {
        name="PPSInterval";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACPPSIR_PPSINT0_PPSINT0[31:0];
    } PPSInterval @ 0xb88;
    reg {
        name="PPSWidth";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACPPSWR_PPSWIDTH0_PPSWIDTH0[31:0];
    } PPSWidth @ 0xb8c;
    reg {
        name="PTPOffloadControl";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACPOCR_PTOEN_PTOEN[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACPOCR_ASYNCEN_ASYNCEN[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACPOCR_APDREQEN_APDREQEN[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACPOCR_ASYNCTRIG_ASYNCTRIG[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACPOCR_APDREQTRIG_APDREQTRIG[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACPOCR_DRRDIS_DRRDIS[6:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACPOCR_DN_DN[15:8];
    } PTPOffloadControl @ 0xbc0;
    reg {
        name="PTPSourcePortIdentity0";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACSPI0R_SPI0_SPI0[31:0];
    } PTPSourcePortIdentity0 @ 0xbc4;
    reg {
        name="PTPSourcePortIdentity1";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACSPI1R_SPI1_SPI1[31:0];
    } PTPSourcePortIdentity1 @ 0xbc8;
    reg {
        name="PTPSourcePortIdentity2";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACSPI2R_SPI2_SPI2[15:0];
    } PTPSourcePortIdentity2 @ 0xbcc;
    reg {
        name="LogMessageInterval";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACLMIR_LSI_LSI[7:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACLMIR_DRSYNCR_DRSYNCR[10:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MACLMIR_LMPDRI_LMPDRI[31:24];
    } LogMessageInterval @ 0xbd0;
} RegistersMacAndMmc_addrmap;
addrmap {
    desc = "Generated by RenodeModelsAnalyzer";
    reg {
        name="OperatingMode";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MTLOMR_DTXSTS_DTXSTS[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MTLOMR_CNTPRST_CNTPRST[8:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MTLOMR_CNTCLR_CNTCLR[9:9];
    } OperatingMode @ 0x0;
    reg {
        name="InterruptStatus";
        desc = "This register has the following custom Renode callbacks: Change";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MTLISR_Q0IS_Queue_interrupt_status[0:0];
    } InterruptStatus @ 0x20;
    reg {
        name="TxQueueOperating";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MTLTxQOMR_FTQ_Flush_Transmit_Queue[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MTLTxQOMR_TSF_Transmit_Store_and_Forward[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=2'b10;
            } MTLTxQOMR_TXQEN_Transmit_Queue_Enable[3:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MTLTxQOMR_TTC_Transmit_Threshold_Control[6:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=3'b111;
            } MTLTxQOMR_TQS_Transmit_Queue_Size[18:16];
    } TxQueueOperating @ 0x100;
    reg {
        name="TxQueueUnderflow";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MTLTxQUR_UFFRMCNT_Underflow_Packet_Counter[10:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MTLTxQUR_UFCNTOVF_UFCNTOVF[11:11];
    } TxQueueUnderflow @ 0x104;
    reg {
        name="TxQueueDebug";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } MTLTxQDR_TXQPAUSED_TXQPAUSED[0:0];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } MTLTxQDR_TRCSTS_TRCSTS[2:1];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } MTLTxQDR_TWCSTS_TWCSTS[3:3];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } MTLTxQDR_TXQSTS_TXQSTS[4:4];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } MTLTxQDR_TXSTSFSTS_TXSTSFSTS[5:5];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } MTLTxQDR_PTXQ_PTXQ[18:16];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } MTLTxQDR_STXSTSF_STXSTSF[22:20];
    } TxQueueDebug @ 0x108;
    reg {
        name="QueueInterruptControlStatus";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MTLQICSR_TXUNFIS_TXUNFIS[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MTLQICSR_TXUIE_TXUIE[8:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MTLQICSR_RXOVFIS_RXOVFIS[16:16];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MTLQICSR_RXOIE_RXOIE[24:24];
    } QueueInterruptControlStatus @ 0x12c;
    reg {
        name="RxQueueOperatingMode";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MTLRxQOMR_RTC_RTC[1:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MTLRxQOMR_FUP_FUP[3:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MTLRxQOMR_FEP_FEP[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MTLRxQOMR_RSF_RSF[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MTLRxQOMR_DIS_TCP_EF_DIS_TCP_EF[6:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MTLRxQOMR_EHFC_EHFC[7:7];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MTLRxQOMR_RFA_RFA[11:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MTLRxQOMR_RFD_RFD[17:14];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } MTLRxQOMR_RQS_RQS[24:20];
    } RxQueueOperatingMode @ 0x130;
    reg {
        name="RxQueueMissedPacketAndOverflowCounter";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MTLRxQMPOCR_OVFPKTCNT_OVFPKTCNT[10:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MTLRxQMPOCR_OVFCNTOVF_OVFCNTOVF[11:11];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MTLRxQMPOCR_MISPKTCNT_MISPKTCNT[26:16];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MTLRxQMPOCR_MISCNTOVF_MISCNTOVF[27:27];
    } RxQueueMissedPacketAndOverflowCounter @ 0x134;
    reg {
        name="RxQueueDebug";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MTLRxQDR_RWCSTS_RWCSTS[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MTLRxQDR_RRCSTS_RRCSTS[2:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MTLRxQDR_RXQSTS_RXQSTS[5:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MTLRxQDR_PRXQ_PRXQ[29:16];
    } RxQueueDebug @ 0x138;
} RegistersMTL_addrmap;
addrmap {
    desc = "Generated by RenodeModelsAnalyzer";
    reg {
        name="DMAMode";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
                onwrite = woset;
            } DMAMR_SWR_Software_Reset[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } DMAMR_DA_DMA_Tx_or_Rx_Arbitration_Scheme[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } DMAMR_TXPR_Transmit_priority[11:11];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } DMAMR_PR_Priority_ratio[14:12];
            field {
                desc = "This field has the following custom Renode callbacks: Change.";
                sw = rw;
            } DMAMR_INTM_Interrupt_Mode[17:16];
    } DMAMode @ 0x0;
    reg {
        name="SystemBusMode";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } DMASBMR_FB_Fixed_Burst_Length[0:0];
            field {
                sw = rw;
            } DMASBMR_AAL_Address_Aligned_Beats[12:12];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } DMASBMR_MB_Mixed_Burst[14:14];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } DMASBMR_RB_Rebuild_INCRx_Burst[15:15];
    } SystemBusMode @ 0x4;
    reg {
        name="InterruptStatus";
        desc = "This register has the following custom Renode callbacks: Change";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = rw;
            } DMAISR_DCxIS_DMA_Channel_Interrupt_Status[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } DMAISR_MTLIS_MTL_Interrupt_Status[16:16];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } DMAISR_MACIS_MAC_Interrupt_Status[17:17];
    } InterruptStatus @ 0x8;
    reg {
        name="DebugStatus0";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } DMADSR_AXWHSTS_AHB_Master_Write_Channel[0:0];
    } DebugStatus0 @ 0xc;
    reg {
        name="DebugStatus1";
        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];
    } DebugStatus1 @ 0x10;
    reg {
        name="DebugStatus2";
        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];
    } DebugStatus2 @ 0x14;
} RegistersDMA_addrmap;
addrmap {
    desc = "Generated by RenodeModelsAnalyzer";
    reg {
        name="Control";
        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];
    } Control @ 0x0;
    reg {
        name="TransmitControl";
        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];
    } TransmitControl @ 0x4;
    reg {
        name="ReceiveControl";
        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];
    } ReceiveControl @ 0x8;
    reg {
        name="TxDescriptorListAddress";
        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];
    } TxDescriptorListAddress @ 0x14;
    reg {
        name="RxDescriptorListAddress";
        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];
    } RxDescriptorListAddress @ 0x1c;
    reg {
        name="TxDescriptorTailPointer";
        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];
    } TxDescriptorTailPointer @ 0x20;
    reg {
        name="RxDescriptorTailPointer";
        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];
    } RxDescriptorTailPointer @ 0x28;
    reg {
        name="TxDescriptorRingLength";
        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];
    } TxDescriptorRingLength @ 0x2c;
    reg {
        name="RxDescriptorRingLength";
        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];
    } RxDescriptorRingLength @ 0x30;
    reg {
        name="InterruptEnable";
        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];
    } InterruptEnable @ 0x34;
    reg {
        name="RxInterruptWatchdogTimer";
        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];
    } RxInterruptWatchdogTimer @ 0x38;
    reg {
        name="CurrentApplicationTransmitDescriptor";
        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];
    } CurrentApplicationTransmitDescriptor @ 0x44;
    reg {
        name="CurrentApplicationReceiveDescriptor";
        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];
    } CurrentApplicationReceiveDescriptor @ 0x4c;
    reg {
        name="CurrentApplicationTransmitBuffer";
        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];
    } CurrentApplicationTransmitBuffer @ 0x54;
    reg {
        name="CurrentApplicationReceiveBuffer";
        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];
    } CurrentApplicationReceiveBuffer @ 0x5c;
    reg {
        name="Status";
        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];
    } Status @ 0x60;
    reg {
        name="MissedFrameCount";
        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];
    } MissedFrameCount @ 0x6c;
} RegistersDMAChannel_addrmap;
addrmap {
    desc = "Generated by RenodeModelsAnalyzer";
    reg {
        name="MACAddressRegisterReserved0";
        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];
    } MACAddressRegisterReserved0 @ 0x0;
    reg {
        name="MACAddressRegisterReserved1";
        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];
    } MACAddressRegisterReserved1 @ 0x1;
    reg {
        name="MACAddressRegister0Insert";
        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];
    } MACAddressRegister0Insert @ 0x2;
    reg {
        name="MACAddressRegister0Replace";
        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];
    } MACAddressRegister0Replace @ 0x3;
    reg {
        name="MACAddressRegisterReserved2";
        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];
    } MACAddressRegisterReserved2 @ 0x4;
    reg {
        name="MACAddressRegisterReserved3";
        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];
    } MACAddressRegisterReserved3 @ 0x5;
    reg {
        name="MACAddressRegister1Insert";
        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];
    } MACAddressRegister1Insert @ 0x6;
    reg {
        name="MACAddressRegister1Replace";
        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];
    } MACAddressRegister1Replace @ 0x7;
} RegisterSourceAddressOperation_addrmap;


};