/*
 * Copyright (c) 2015, NVIDIA CORPORATION.  All rights reserved.
 * Copyright (c) 2018-2020 Atmosphère-NX
 *
 * This program is free software; you can redistribute it and/or modify it
 * under the terms and conditions of the GNU General Public License,
 * version 2, as published by the Free Software Foundation.
 *
 * This program is distributed in the hope it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
 * more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#ifndef FUSEE_SDRAM_PARAMS_H_
#define FUSEE_SDRAM_PARAMS_H_

#include <stdint.h>

typedef enum {
    NvBootMemoryType_None = 0,
    NvBootMemoryType_Ddr = 0,
    NvBootMemoryType_LpDdr = 0,
    NvBootMemoryType_Ddr2 = 0,
    NvBootMemoryType_LpDdr2,
    NvBootMemoryType_Ddr3,
    NvBootMemoryType_LpDdr4,
    NvBootMemoryType_Num,
    NvBootMemoryType_Unused = 0X7FFFFFF,
} NvBootMemoryType;

typedef struct {
    NvBootMemoryType MemoryType;
    uint32_t PllMInputDivider;
    uint32_t PllMFeedbackDivider;
    uint32_t PllMStableTime;
    uint32_t PllMSetupControl;
    uint32_t PllMPostDivider;
    uint32_t PllMKCP;
    uint32_t PllMKVCO;
    uint32_t EmcBctSpare0;
    uint32_t EmcBctSpare1;
    uint32_t EmcBctSpare2;
    uint32_t EmcBctSpare3;
    uint32_t EmcBctSpare4;
    uint32_t EmcBctSpare5;
    uint32_t EmcBctSpare6;
    uint32_t EmcBctSpare7;
    uint32_t EmcBctSpare8;
    uint32_t EmcBctSpare9;
    uint32_t EmcBctSpare10;
    uint32_t EmcBctSpare11;
    uint32_t EmcBctSpare12;
    uint32_t EmcBctSpare13;
    uint32_t EmcClockSource;
    uint32_t EmcClockSourceDll;
    uint32_t ClkRstControllerPllmMisc2Override;
    uint32_t ClkRstControllerPllmMisc2OverrideEnable;
    uint32_t ClearClk2Mc1;
    uint32_t EmcAutoCalInterval;
    uint32_t EmcAutoCalConfig;
    uint32_t EmcAutoCalConfig2;
    uint32_t EmcAutoCalConfig3;
    uint32_t EmcAutoCalConfig4;
    uint32_t EmcAutoCalConfig5;
    uint32_t EmcAutoCalConfig6;
    uint32_t EmcAutoCalConfig7;
    uint32_t EmcAutoCalConfig8;
    uint32_t EmcAutoCalVrefSel0;
    uint32_t EmcAutoCalVrefSel1;
    uint32_t EmcAutoCalChannel;
    uint32_t EmcPmacroAutocalCfg0;
    uint32_t EmcPmacroAutocalCfg1;
    uint32_t EmcPmacroAutocalCfg2;
    uint32_t EmcPmacroRxTerm;
    uint32_t EmcPmacroDqTxDrv;
    uint32_t EmcPmacroCaTxDrv;
    uint32_t EmcPmacroCmdTxDrv;
    uint32_t EmcPmacroAutocalCfgCommon;
    uint32_t EmcPmacroZctrl;
    uint32_t EmcAutoCalWait;
    uint32_t EmcXm2CompPadCtrl;
    uint32_t EmcXm2CompPadCtrl2;
    uint32_t EmcXm2CompPadCtrl3;
    uint32_t EmcAdrCfg;
    uint32_t EmcPinProgramWait;
    uint32_t EmcPinExtraWait;
    uint32_t EmcPinGpioEn;
    uint32_t EmcPinGpio;
    uint32_t EmcTimingControlWait;
    uint32_t EmcRc;
    uint32_t EmcRfc;
    uint32_t EmcRfcPb;
    uint32_t EmcRefctrl2;
    uint32_t EmcRfcSlr;
    uint32_t EmcRas;
    uint32_t EmcRp;
    uint32_t EmcR2r;
    uint32_t EmcW2w;
    uint32_t EmcR2w;
    uint32_t EmcW2r;
    uint32_t EmcR2p;
    uint32_t EmcW2p;
    uint32_t EmcTppd;
    uint32_t EmcCcdmw;
    uint32_t EmcRdRcd;
    uint32_t EmcWrRcd;
    uint32_t EmcRrd;
    uint32_t EmcRext;
    uint32_t EmcWext;
    uint32_t EmcWdv;
    uint32_t EmcWdvChk;
    uint32_t EmcWsv;
    uint32_t EmcWev;
    uint32_t EmcWdvMask;
    uint32_t EmcWsDuration;
    uint32_t EmcWeDuration;
    uint32_t EmcQUse;
    uint32_t EmcQuseWidth;
    uint32_t EmcIbdly;
    uint32_t EmcObdly;
    uint32_t EmcEInput;
    uint32_t EmcEInputDuration;
    uint32_t EmcPutermExtra;
    uint32_t EmcPutermWidth;
    uint32_t EmcQRst;
    uint32_t EmcQSafe;
    uint32_t EmcRdv;
    uint32_t EmcRdvMask;
    uint32_t EmcRdvEarly;
    uint32_t EmcRdvEarlyMask;
    uint32_t EmcQpop;
    uint32_t EmcRefresh;
    uint32_t EmcBurstRefreshNum;
    uint32_t EmcPreRefreshReqCnt;
    uint32_t EmcPdEx2Wr;
    uint32_t EmcPdEx2Rd;
    uint32_t EmcPChg2Pden;
    uint32_t EmcAct2Pden;
    uint32_t EmcAr2Pden;
    uint32_t EmcRw2Pden;
    uint32_t EmcCke2Pden;
    uint32_t EmcPdex2Cke;
    uint32_t EmcPdex2Mrr;
    uint32_t EmcTxsr;
    uint32_t EmcTxsrDll;
    uint32_t EmcTcke;
    uint32_t EmcTckesr;
    uint32_t EmcTpd;
    uint32_t EmcTfaw;
    uint32_t EmcTrpab;
    uint32_t EmcTClkStable;
    uint32_t EmcTClkStop;
    uint32_t EmcTRefBw;
    uint32_t EmcFbioCfg5;
    uint32_t EmcFbioCfg7;
    uint32_t EmcFbioCfg8;
    uint32_t EmcCmdMappingCmd0_0;
    uint32_t EmcCmdMappingCmd0_1;
    uint32_t EmcCmdMappingCmd0_2;
    uint32_t EmcCmdMappingCmd1_0;
    uint32_t EmcCmdMappingCmd1_1;
    uint32_t EmcCmdMappingCmd1_2;
    uint32_t EmcCmdMappingCmd2_0;
    uint32_t EmcCmdMappingCmd2_1;
    uint32_t EmcCmdMappingCmd2_2;
    uint32_t EmcCmdMappingCmd3_0;
    uint32_t EmcCmdMappingCmd3_1;
    uint32_t EmcCmdMappingCmd3_2;
    uint32_t EmcCmdMappingByte;
    uint32_t EmcFbioSpare;
    uint32_t EmcCfgRsv;
    uint32_t EmcMrs;
    uint32_t EmcEmrs;
    uint32_t EmcEmrs2;
    uint32_t EmcEmrs3;
    uint32_t EmcMrw1;
    uint32_t EmcMrw2;
    uint32_t EmcMrw3;
    uint32_t EmcMrw4;
    uint32_t EmcMrw6;
    uint32_t EmcMrw8;
    uint32_t EmcMrw9;
    uint32_t EmcMrw10;
    uint32_t EmcMrw12;
    uint32_t EmcMrw13;
    uint32_t EmcMrw14;
    uint32_t EmcMrwExtra;
    uint32_t EmcWarmBootMrwExtra;
    uint32_t EmcWarmBootExtraModeRegWriteEnable;
    uint32_t EmcExtraModeRegWriteEnable;
    uint32_t EmcMrwResetCommand;
    uint32_t EmcMrwResetNInitWait;
    uint32_t EmcMrsWaitCnt;
    uint32_t EmcMrsWaitCnt2;
    uint32_t EmcCfg;
    uint32_t EmcCfg2;
    uint32_t EmcCfgPipe;
    uint32_t EmcCfgPipeClk;
    uint32_t EmcFdpdCtrlCmdNoRamp;
    uint32_t EmcCfgUpdate;
    uint32_t EmcDbg;
    uint32_t EmcDbgWriteMux;
    uint32_t EmcCmdQ;
    uint32_t EmcMc2EmcQ;
    uint32_t EmcDynSelfRefControl;
    uint32_t AhbArbitrationXbarCtrlMemInitDone;
    uint32_t EmcCfgDigDll;
    uint32_t EmcCfgDigDll_1;
    uint32_t EmcCfgDigDllPeriod;
    uint32_t EmcDevSelect;
    uint32_t EmcSelDpdCtrl;
    uint32_t EmcFdpdCtrlDq;
    uint32_t EmcFdpdCtrlCmd;
    uint32_t EmcPmacroIbVrefDq_0;
    uint32_t EmcPmacroIbVrefDq_1;
    uint32_t EmcPmacroIbVrefDqs_0;
    uint32_t EmcPmacroIbVrefDqs_1;
    uint32_t EmcPmacroIbRxrt;
    uint32_t EmcCfgPipe1;
    uint32_t EmcCfgPipe2;
    uint32_t EmcPmacroQuseDdllRank0_0;
    uint32_t EmcPmacroQuseDdllRank0_1;
    uint32_t EmcPmacroQuseDdllRank0_2;
    uint32_t EmcPmacroQuseDdllRank0_3;
    uint32_t EmcPmacroQuseDdllRank0_4;
    uint32_t EmcPmacroQuseDdllRank0_5;
    uint32_t EmcPmacroQuseDdllRank1_0;
    uint32_t EmcPmacroQuseDdllRank1_1;
    uint32_t EmcPmacroQuseDdllRank1_2;
    uint32_t EmcPmacroQuseDdllRank1_3;
    uint32_t EmcPmacroQuseDdllRank1_4;
    uint32_t EmcPmacroQuseDdllRank1_5;
    uint32_t EmcPmacroObDdllLongDqRank0_0;
    uint32_t EmcPmacroObDdllLongDqRank0_1;
    uint32_t EmcPmacroObDdllLongDqRank0_2;
    uint32_t EmcPmacroObDdllLongDqRank0_3;
    uint32_t EmcPmacroObDdllLongDqRank0_4;
    uint32_t EmcPmacroObDdllLongDqRank0_5;
    uint32_t EmcPmacroObDdllLongDqRank1_0;
    uint32_t EmcPmacroObDdllLongDqRank1_1;
    uint32_t EmcPmacroObDdllLongDqRank1_2;
    uint32_t EmcPmacroObDdllLongDqRank1_3;
    uint32_t EmcPmacroObDdllLongDqRank1_4;
    uint32_t EmcPmacroObDdllLongDqRank1_5;
    uint32_t EmcPmacroObDdllLongDqsRank0_0;
    uint32_t EmcPmacroObDdllLongDqsRank0_1;
    uint32_t EmcPmacroObDdllLongDqsRank0_2;
    uint32_t EmcPmacroObDdllLongDqsRank0_3;
    uint32_t EmcPmacroObDdllLongDqsRank0_4;
    uint32_t EmcPmacroObDdllLongDqsRank0_5;
    uint32_t EmcPmacroObDdllLongDqsRank1_0;
    uint32_t EmcPmacroObDdllLongDqsRank1_1;
    uint32_t EmcPmacroObDdllLongDqsRank1_2;
    uint32_t EmcPmacroObDdllLongDqsRank1_3;
    uint32_t EmcPmacroObDdllLongDqsRank1_4;
    uint32_t EmcPmacroObDdllLongDqsRank1_5;
    uint32_t EmcPmacroIbDdllLongDqsRank0_0;
    uint32_t EmcPmacroIbDdllLongDqsRank0_1;
    uint32_t EmcPmacroIbDdllLongDqsRank0_2;
    uint32_t EmcPmacroIbDdllLongDqsRank0_3;
    uint32_t EmcPmacroIbDdllLongDqsRank1_0;
    uint32_t EmcPmacroIbDdllLongDqsRank1_1;
    uint32_t EmcPmacroIbDdllLongDqsRank1_2;
    uint32_t EmcPmacroIbDdllLongDqsRank1_3;
    uint32_t EmcPmacroDdllLongCmd_0;
    uint32_t EmcPmacroDdllLongCmd_1;
    uint32_t EmcPmacroDdllLongCmd_2;
    uint32_t EmcPmacroDdllLongCmd_3;
    uint32_t EmcPmacroDdllLongCmd_4;
    uint32_t EmcPmacroDdllShortCmd_0;
    uint32_t EmcPmacroDdllShortCmd_1;
    uint32_t EmcPmacroDdllShortCmd_2;
    uint32_t WarmBootWait;
    uint32_t EmcOdtWrite;
    uint32_t EmcZcalInterval;
    uint32_t EmcZcalWaitCnt;
    uint32_t EmcZcalMrwCmd;
    uint32_t EmcMrsResetDll;
    uint32_t EmcZcalInitDev0;
    uint32_t EmcZcalInitDev1;
    uint32_t EmcZcalInitWait;
    uint32_t EmcZcalWarmColdBootEnables;
    uint32_t EmcMrwLpddr2ZcalWarmBoot;
    uint32_t EmcZqCalDdr3WarmBoot;
    uint32_t EmcZqCalLpDdr4WarmBoot;
    uint32_t EmcZcalWarmBootWait;
    uint32_t EmcMrsWarmBootEnable;
    uint32_t EmcMrsResetDllWait;
    uint32_t EmcMrsExtra;
    uint32_t EmcWarmBootMrsExtra;
    uint32_t EmcEmrsDdr2DllEnable;
    uint32_t EmcMrsDdr2DllReset;
    uint32_t EmcEmrsDdr2OcdCalib;
    uint32_t EmcDdr2Wait;
    uint32_t EmcClkenOverride;
    uint32_t EmcExtraRefreshNum;
    uint32_t EmcClkenOverrideAllWarmBoot;
    uint32_t McClkenOverrideAllWarmBoot;
    uint32_t EmcCfgDigDllPeriodWarmBoot;
    uint32_t PmcVddpSel;
    uint32_t PmcVddpSelWait;
    uint32_t PmcDdrPwr;
    uint32_t PmcDdrCfg;
    uint32_t PmcIoDpd3Req;
    uint32_t PmcIoDpd3ReqWait;
    uint32_t PmcIoDpd4ReqWait;
    uint32_t PmcRegShort;
    uint32_t PmcNoIoPower;
    uint32_t PmcDdrCntrlWait;
    uint32_t PmcDdrCntrl;
    uint32_t EmcAcpdControl;
    uint32_t EmcSwizzleRank0Byte0;
    uint32_t EmcSwizzleRank0Byte1;
    uint32_t EmcSwizzleRank0Byte2;
    uint32_t EmcSwizzleRank0Byte3;
    uint32_t EmcSwizzleRank1Byte0;
    uint32_t EmcSwizzleRank1Byte1;
    uint32_t EmcSwizzleRank1Byte2;
    uint32_t EmcSwizzleRank1Byte3;
    uint32_t EmcTxdsrvttgen;
    uint32_t EmcDataBrlshft0;
    uint32_t EmcDataBrlshft1;
    uint32_t EmcDqsBrlshft0;
    uint32_t EmcDqsBrlshft1;
    uint32_t EmcCmdBrlshft0;
    uint32_t EmcCmdBrlshft1;
    uint32_t EmcCmdBrlshft2;
    uint32_t EmcCmdBrlshft3;
    uint32_t EmcQuseBrlshft0;
    uint32_t EmcQuseBrlshft1;
    uint32_t EmcQuseBrlshft2;
    uint32_t EmcQuseBrlshft3;
    uint32_t EmcDllCfg0;
    uint32_t EmcDllCfg1;
    uint32_t EmcPmcScratch1;
    uint32_t EmcPmcScratch2;
    uint32_t EmcPmcScratch3;
    uint32_t EmcPmacroPadCfgCtrl;
    uint32_t EmcPmacroVttgenCtrl0;
    uint32_t EmcPmacroVttgenCtrl1;
    uint32_t EmcPmacroVttgenCtrl2;
    uint32_t EmcPmacroBrickCtrlRfu1;
    uint32_t EmcPmacroCmdBrickCtrlFdpd;
    uint32_t EmcPmacroBrickCtrlRfu2;
    uint32_t EmcPmacroDataBrickCtrlFdpd;
    uint32_t EmcPmacroBgBiasCtrl0;
    uint32_t EmcPmacroDataPadRxCtrl;
    uint32_t EmcPmacroCmdPadRxCtrl;
    uint32_t EmcPmacroDataRxTermMode;
    uint32_t EmcPmacroCmdRxTermMode;
    uint32_t EmcPmacroDataPadTxCtrl;
    uint32_t EmcPmacroCommonPadTxCtrl;
    uint32_t EmcPmacroCmdPadTxCtrl;
    uint32_t EmcCfg3;
    uint32_t EmcPmacroTxPwrd0;
    uint32_t EmcPmacroTxPwrd1;
    uint32_t EmcPmacroTxPwrd2;
    uint32_t EmcPmacroTxPwrd3;
    uint32_t EmcPmacroTxPwrd4;
    uint32_t EmcPmacroTxPwrd5;
    uint32_t EmcConfigSampleDelay;
    uint32_t EmcPmacroBrickMapping0;
    uint32_t EmcPmacroBrickMapping1;
    uint32_t EmcPmacroBrickMapping2;
    uint32_t EmcPmacroTxSelClkSrc0;
    uint32_t EmcPmacroTxSelClkSrc1;
    uint32_t EmcPmacroTxSelClkSrc2;
    uint32_t EmcPmacroTxSelClkSrc3;
    uint32_t EmcPmacroTxSelClkSrc4;
    uint32_t EmcPmacroTxSelClkSrc5;
    uint32_t EmcPmacroDdllBypass;
    uint32_t EmcPmacroDdllPwrd0;
    uint32_t EmcPmacroDdllPwrd1;
    uint32_t EmcPmacroDdllPwrd2;
    uint32_t EmcPmacroCmdCtrl0;
    uint32_t EmcPmacroCmdCtrl1;
    uint32_t EmcPmacroCmdCtrl2;
    uint32_t McEmemAdrCfg;
    uint32_t McEmemAdrCfgDev0;
    uint32_t McEmemAdrCfgDev1;
    uint32_t McEmemAdrCfgChannelMask;
    uint32_t McEmemAdrCfgBankMask0;
    uint32_t McEmemAdrCfgBankMask1;
    uint32_t McEmemAdrCfgBankMask2;
    uint32_t McEmemCfg;
    uint32_t McEmemArbCfg;
    uint32_t McEmemArbOutstandingReq;
    uint32_t McEmemArbRefpbHpCtrl;
    uint32_t McEmemArbRefpbBankCtrl;
    uint32_t McEmemArbTimingRcd;
    uint32_t McEmemArbTimingRp;
    uint32_t McEmemArbTimingRc;
    uint32_t McEmemArbTimingRas;
    uint32_t McEmemArbTimingFaw;
    uint32_t McEmemArbTimingRrd;
    uint32_t McEmemArbTimingRap2Pre;
    uint32_t McEmemArbTimingWap2Pre;
    uint32_t McEmemArbTimingR2R;
    uint32_t McEmemArbTimingW2W;
    uint32_t McEmemArbTimingR2W;
    uint32_t McEmemArbTimingW2R;
    uint32_t McEmemArbTimingRFCPB;
    uint32_t McEmemArbDaTurns;
    uint32_t McEmemArbDaCovers;
    uint32_t McEmemArbMisc0;
    uint32_t McEmemArbMisc1;
    uint32_t McEmemArbMisc2;
    uint32_t McEmemArbRing1Throttle;
    uint32_t McEmemArbOverride;
    uint32_t McEmemArbOverride1;
    uint32_t McEmemArbRsv;
    uint32_t McDaCfg0;
    uint32_t McEmemArbTimingCcdmw;
    uint32_t McClkenOverride;
    uint32_t McStatControl;
    uint32_t McVideoProtectBom;
    uint32_t McVideoProtectBomAdrHi;
    uint32_t McVideoProtectSizeMb;
    uint32_t McVideoProtectVprOverride;
    uint32_t McVideoProtectVprOverride1;
    uint32_t McVideoProtectGpuOverride0;
    uint32_t McVideoProtectGpuOverride1;
    uint32_t McSecCarveoutBom;
    uint32_t McSecCarveoutAdrHi;
    uint32_t McSecCarveoutSizeMb;
    uint32_t McVideoProtectWriteAccess;
    uint32_t McSecCarveoutProtectWriteAccess;
    uint32_t McGeneralizedCarveout1Bom;
    uint32_t McGeneralizedCarveout1BomHi;
    uint32_t McGeneralizedCarveout1Size128kb;
    uint32_t McGeneralizedCarveout1Access0;
    uint32_t McGeneralizedCarveout1Access1;
    uint32_t McGeneralizedCarveout1Access2;
    uint32_t McGeneralizedCarveout1Access3;
    uint32_t McGeneralizedCarveout1Access4;
    uint32_t McGeneralizedCarveout1ForceInternalAccess0;
    uint32_t McGeneralizedCarveout1ForceInternalAccess1;
    uint32_t McGeneralizedCarveout1ForceInternalAccess2;
    uint32_t McGeneralizedCarveout1ForceInternalAccess3;
    uint32_t McGeneralizedCarveout1ForceInternalAccess4;
    uint32_t McGeneralizedCarveout1Cfg0;
    uint32_t McGeneralizedCarveout2Bom;
    uint32_t McGeneralizedCarveout2BomHi;
    uint32_t McGeneralizedCarveout2Size128kb;
    uint32_t McGeneralizedCarveout2Access0;
    uint32_t McGeneralizedCarveout2Access1;
    uint32_t McGeneralizedCarveout2Access2;
    uint32_t McGeneralizedCarveout2Access3;
    uint32_t McGeneralizedCarveout2Access4;
    uint32_t McGeneralizedCarveout2ForceInternalAccess0;
    uint32_t McGeneralizedCarveout2ForceInternalAccess1;
    uint32_t McGeneralizedCarveout2ForceInternalAccess2;
    uint32_t McGeneralizedCarveout2ForceInternalAccess3;
    uint32_t McGeneralizedCarveout2ForceInternalAccess4;
    uint32_t McGeneralizedCarveout2Cfg0;
    uint32_t McGeneralizedCarveout3Bom;
    uint32_t McGeneralizedCarveout3BomHi;
    uint32_t McGeneralizedCarveout3Size128kb;
    uint32_t McGeneralizedCarveout3Access0;
    uint32_t McGeneralizedCarveout3Access1;
    uint32_t McGeneralizedCarveout3Access2;
    uint32_t McGeneralizedCarveout3Access3;
    uint32_t McGeneralizedCarveout3Access4;
    uint32_t McGeneralizedCarveout3ForceInternalAccess0;
    uint32_t McGeneralizedCarveout3ForceInternalAccess1;
    uint32_t McGeneralizedCarveout3ForceInternalAccess2;
    uint32_t McGeneralizedCarveout3ForceInternalAccess3;
    uint32_t McGeneralizedCarveout3ForceInternalAccess4;
    uint32_t McGeneralizedCarveout3Cfg0;
    uint32_t McGeneralizedCarveout4Bom;
    uint32_t McGeneralizedCarveout4BomHi;
    uint32_t McGeneralizedCarveout4Size128kb;
    uint32_t McGeneralizedCarveout4Access0;
    uint32_t McGeneralizedCarveout4Access1;
    uint32_t McGeneralizedCarveout4Access2;
    uint32_t McGeneralizedCarveout4Access3;
    uint32_t McGeneralizedCarveout4Access4;
    uint32_t McGeneralizedCarveout4ForceInternalAccess0;
    uint32_t McGeneralizedCarveout4ForceInternalAccess1;
    uint32_t McGeneralizedCarveout4ForceInternalAccess2;
    uint32_t McGeneralizedCarveout4ForceInternalAccess3;
    uint32_t McGeneralizedCarveout4ForceInternalAccess4;
    uint32_t McGeneralizedCarveout4Cfg0;
    uint32_t McGeneralizedCarveout5Bom;
    uint32_t McGeneralizedCarveout5BomHi;
    uint32_t McGeneralizedCarveout5Size128kb;
    uint32_t McGeneralizedCarveout5Access0;
    uint32_t McGeneralizedCarveout5Access1;
    uint32_t McGeneralizedCarveout5Access2;
    uint32_t McGeneralizedCarveout5Access3;
    uint32_t McGeneralizedCarveout5Access4;
    uint32_t McGeneralizedCarveout5ForceInternalAccess0;
    uint32_t McGeneralizedCarveout5ForceInternalAccess1;
    uint32_t McGeneralizedCarveout5ForceInternalAccess2;
    uint32_t McGeneralizedCarveout5ForceInternalAccess3;
    uint32_t McGeneralizedCarveout5ForceInternalAccess4;
    uint32_t McGeneralizedCarveout5Cfg0;
    uint32_t EmcCaTrainingEnable;
    uint32_t SwizzleRankByteEncode;
    uint32_t BootRomPatchControl;
    uint32_t BootRomPatchData;
    uint32_t McMtsCarveoutBom;
    uint32_t McMtsCarveoutAdrHi;
    uint32_t McMtsCarveoutSizeMb;
    uint32_t McMtsCarveoutRegCtrl;
} sdram_params_erista_t;

typedef struct {
    NvBootMemoryType MemoryType;
    uint32_t PllMInputDivider;
    uint32_t PllMFeedbackDivider;
    uint32_t PllMStableTime;
    uint32_t PllMSetupControl;
    uint32_t PllMPostDivider;
    uint32_t PllMKCP;
    uint32_t PllMKVCO;
    uint32_t EmcBctSpare0;
    uint32_t EmcBctSpare1;
    uint32_t EmcBctSpare2;
    uint32_t EmcBctSpare3;
    uint32_t EmcBctSpare4;
    uint32_t EmcBctSpare5;
    uint32_t EmcBctSpare6;
    uint32_t EmcBctSpare7;
    uint32_t EmcBctSpare8;
    uint32_t EmcBctSpare9;
    uint32_t EmcBctSpare10;
    uint32_t EmcBctSpare11;
    uint32_t EmcBctSpare12;
    uint32_t EmcBctSpare13;
    uint32_t EmcBctSpareSecure0;
    uint32_t EmcBctSpareSecure1;
    uint32_t EmcBctSpareSecure2;
    uint32_t EmcBctSpareSecure3;
    uint32_t EmcBctSpareSecure4;
    uint32_t EmcBctSpareSecure5;
    uint32_t EmcBctSpareSecure6;
    uint32_t EmcBctSpareSecure7;
    uint32_t EmcBctSpareSecure8;
    uint32_t EmcBctSpareSecure9;
    uint32_t EmcBctSpareSecure10;
    uint32_t EmcBctSpareSecure11;
    uint32_t EmcBctSpareSecure12;
    uint32_t EmcBctSpareSecure13;
    uint32_t EmcBctSpareSecure14;
    uint32_t EmcBctSpareSecure15;
    uint32_t EmcBctSpareSecure16;
    uint32_t EmcBctSpareSecure17;
    uint32_t EmcBctSpareSecure18;
    uint32_t EmcBctSpareSecure19;
    uint32_t EmcBctSpareSecure20;
    uint32_t EmcBctSpareSecure21;
    uint32_t EmcBctSpareSecure22;
    uint32_t EmcBctSpareSecure23;
    uint32_t EmcClockSource;
    uint32_t EmcClockSourceDll;
    uint32_t ClkRstControllerPllmMisc2Override;
    uint32_t ClkRstControllerPllmMisc2OverrideEnable;
    uint32_t ClearClk2Mc1;
    uint32_t EmcAutoCalInterval;
    uint32_t EmcAutoCalConfig;
    uint32_t EmcAutoCalConfig2;
    uint32_t EmcAutoCalConfig3;
    uint32_t EmcAutoCalConfig4;
    uint32_t EmcAutoCalConfig5;
    uint32_t EmcAutoCalConfig6;
    uint32_t EmcAutoCalConfig7;
    uint32_t EmcAutoCalConfig8;
    uint32_t EmcAutoCalConfig9;
    uint32_t EmcAutoCalVrefSel0;
    uint32_t EmcAutoCalVrefSel1;
    uint32_t EmcAutoCalChannel;
    uint32_t EmcPmacroAutocalCfg0;
    uint32_t EmcPmacroAutocalCfg1;
    uint32_t EmcPmacroAutocalCfg2;
    uint32_t EmcPmacroRxTerm;
    uint32_t EmcPmacroDqTxDrv;
    uint32_t EmcPmacroCaTxDrv;
    uint32_t EmcPmacroCmdTxDrv;
    uint32_t EmcPmacroAutocalCfgCommon;
    uint32_t EmcPmacroZctrl;
    uint32_t EmcAutoCalWait;
    uint32_t EmcXm2CompPadCtrl;
    uint32_t EmcXm2CompPadCtrl2;
    uint32_t EmcXm2CompPadCtrl3;
    uint32_t EmcAdrCfg;
    uint32_t EmcPinProgramWait;
    uint32_t EmcPinExtraWait;
    uint32_t EmcPinGpioEn;
    uint32_t EmcPinGpio;
    uint32_t EmcTimingControlWait;
    uint32_t EmcRc;
    uint32_t EmcRfc;
    uint32_t EmcRfcPb;
    uint32_t EmcRefctrl2;
    uint32_t EmcRfcSlr;
    uint32_t EmcRas;
    uint32_t EmcRp;
    uint32_t EmcR2r;
    uint32_t EmcW2w;
    uint32_t EmcR2w;
    uint32_t EmcW2r;
    uint32_t EmcR2p;
    uint32_t EmcW2p;
    uint32_t EmcTppd;
    uint32_t EmcTrtm;
    uint32_t EmcTwtm;
    uint32_t EmcTratm;
    uint32_t EmcTwatm;
    uint32_t EmcTr2ref;
    uint32_t EmcCcdmw;
    uint32_t EmcRdRcd;
    uint32_t EmcWrRcd;
    uint32_t EmcRrd;
    uint32_t EmcRext;
    uint32_t EmcWext;
    uint32_t EmcWdv;
    uint32_t EmcWdvChk;
    uint32_t EmcWsv;
    uint32_t EmcWev;
    uint32_t EmcWdvMask;
    uint32_t EmcWsDuration;
    uint32_t EmcWeDuration;
    uint32_t EmcQUse;
    uint32_t EmcQuseWidth;
    uint32_t EmcIbdly;
    uint32_t EmcObdly;
    uint32_t EmcEInput;
    uint32_t EmcEInputDuration;
    uint32_t EmcPutermExtra;
    uint32_t EmcPutermWidth;
    uint32_t EmcQRst;
    uint32_t EmcQSafe;
    uint32_t EmcRdv;
    uint32_t EmcRdvMask;
    uint32_t EmcRdvEarly;
    uint32_t EmcRdvEarlyMask;
    uint32_t EmcQpop;
    uint32_t EmcRefresh;
    uint32_t EmcBurstRefreshNum;
    uint32_t EmcPreRefreshReqCnt;
    uint32_t EmcPdEx2Wr;
    uint32_t EmcPdEx2Rd;
    uint32_t EmcPChg2Pden;
    uint32_t EmcAct2Pden;
    uint32_t EmcAr2Pden;
    uint32_t EmcRw2Pden;
    uint32_t EmcCke2Pden;
    uint32_t EmcPdex2Cke;
    uint32_t EmcPdex2Mrr;
    uint32_t EmcTxsr;
    uint32_t EmcTxsrDll;
    uint32_t EmcTcke;
    uint32_t EmcTckesr;
    uint32_t EmcTpd;
    uint32_t EmcTfaw;
    uint32_t EmcTrpab;
    uint32_t EmcTClkStable;
    uint32_t EmcTClkStop;
    uint32_t EmcTRefBw;
    uint32_t EmcFbioCfg5;
    uint32_t EmcFbioCfg7;
    uint32_t EmcFbioCfg8;
    uint32_t EmcCmdMappingCmd0_0;
    uint32_t EmcCmdMappingCmd0_1;
    uint32_t EmcCmdMappingCmd0_2;
    uint32_t EmcCmdMappingCmd1_0;
    uint32_t EmcCmdMappingCmd1_1;
    uint32_t EmcCmdMappingCmd1_2;
    uint32_t EmcCmdMappingCmd2_0;
    uint32_t EmcCmdMappingCmd2_1;
    uint32_t EmcCmdMappingCmd2_2;
    uint32_t EmcCmdMappingCmd3_0;
    uint32_t EmcCmdMappingCmd3_1;
    uint32_t EmcCmdMappingCmd3_2;
    uint32_t EmcCmdMappingByte;
    uint32_t EmcFbioSpare;
    uint32_t EmcCfgRsv;
    uint32_t EmcMrs;
    uint32_t EmcEmrs;
    uint32_t EmcEmrs2;
    uint32_t EmcEmrs3;
    uint32_t EmcMrw1;
    uint32_t EmcMrw2;
    uint32_t EmcMrw3;
    uint32_t EmcMrw4;
    uint32_t EmcMrw6;
    uint32_t EmcMrw8;
    uint32_t EmcMrw9;
    uint32_t EmcMrw10;
    uint32_t EmcMrw12;
    uint32_t EmcMrw13;
    uint32_t EmcMrw14;
    uint32_t EmcMrwExtra;
    uint32_t EmcWarmBootMrwExtra;
    uint32_t EmcWarmBootExtraModeRegWriteEnable;
    uint32_t EmcExtraModeRegWriteEnable;
    uint32_t EmcMrwResetCommand;
    uint32_t EmcMrwResetNInitWait;
    uint32_t EmcMrsWaitCnt;
    uint32_t EmcMrsWaitCnt2;
    uint32_t EmcCfg;
    uint32_t EmcCfg2;
    uint32_t EmcCfgPipe;
    uint32_t EmcCfgPipeClk;
    uint32_t EmcFdpdCtrlCmdNoRamp;
    uint32_t EmcCfgUpdate;
    uint32_t EmcDbg;
    uint32_t EmcDbgWriteMux;
    uint32_t EmcCmdQ;
    uint32_t EmcMc2EmcQ;
    uint32_t EmcDynSelfRefControl;
    uint32_t AhbArbitrationXbarCtrlMemInitDone;
    uint32_t EmcCfgDigDll;
    uint32_t EmcCfgDigDll_1;
    uint32_t EmcCfgDigDllPeriod;
    uint32_t EmcDevSelect;
    uint32_t EmcSelDpdCtrl;
    uint32_t EmcFdpdCtrlDq;
    uint32_t EmcFdpdCtrlCmd;
    uint32_t EmcPmacroIbVrefDq_0;
    uint32_t EmcPmacroIbVrefDq_1;
    uint32_t EmcPmacroIbVrefDqs_0;
    uint32_t EmcPmacroIbVrefDqs_1;
    uint32_t EmcPmacroIbRxrt;
    uint32_t EmcCfgPipe1;
    uint32_t EmcCfgPipe2;
    uint32_t EmcPmacroQuseDdllRank0_0;
    uint32_t EmcPmacroQuseDdllRank0_1;
    uint32_t EmcPmacroQuseDdllRank0_2;
    uint32_t EmcPmacroQuseDdllRank0_3;
    uint32_t EmcPmacroQuseDdllRank0_4;
    uint32_t EmcPmacroQuseDdllRank0_5;
    uint32_t EmcPmacroQuseDdllRank1_0;
    uint32_t EmcPmacroQuseDdllRank1_1;
    uint32_t EmcPmacroQuseDdllRank1_2;
    uint32_t EmcPmacroQuseDdllRank1_3;
    uint32_t EmcPmacroQuseDdllRank1_4;
    uint32_t EmcPmacroQuseDdllRank1_5;
    uint32_t EmcPmacroObDdllLongDqRank0_0;
    uint32_t EmcPmacroObDdllLongDqRank0_1;
    uint32_t EmcPmacroObDdllLongDqRank0_2;
    uint32_t EmcPmacroObDdllLongDqRank0_3;
    uint32_t EmcPmacroObDdllLongDqRank0_4;
    uint32_t EmcPmacroObDdllLongDqRank0_5;
    uint32_t EmcPmacroObDdllLongDqRank1_0;
    uint32_t EmcPmacroObDdllLongDqRank1_1;
    uint32_t EmcPmacroObDdllLongDqRank1_2;
    uint32_t EmcPmacroObDdllLongDqRank1_3;
    uint32_t EmcPmacroObDdllLongDqRank1_4;
    uint32_t EmcPmacroObDdllLongDqRank1_5;
    uint32_t EmcPmacroObDdllLongDqsRank0_0;
    uint32_t EmcPmacroObDdllLongDqsRank0_1;
    uint32_t EmcPmacroObDdllLongDqsRank0_2;
    uint32_t EmcPmacroObDdllLongDqsRank0_3;
    uint32_t EmcPmacroObDdllLongDqsRank0_4;
    uint32_t EmcPmacroObDdllLongDqsRank0_5;
    uint32_t EmcPmacroObDdllLongDqsRank1_0;
    uint32_t EmcPmacroObDdllLongDqsRank1_1;
    uint32_t EmcPmacroObDdllLongDqsRank1_2;
    uint32_t EmcPmacroObDdllLongDqsRank1_3;
    uint32_t EmcPmacroObDdllLongDqsRank1_4;
    uint32_t EmcPmacroObDdllLongDqsRank1_5;
    uint32_t EmcPmacroIbDdllLongDqsRank0_0;
    uint32_t EmcPmacroIbDdllLongDqsRank0_1;
    uint32_t EmcPmacroIbDdllLongDqsRank0_2;
    uint32_t EmcPmacroIbDdllLongDqsRank0_3;
    uint32_t EmcPmacroIbDdllLongDqsRank1_0;
    uint32_t EmcPmacroIbDdllLongDqsRank1_1;
    uint32_t EmcPmacroIbDdllLongDqsRank1_2;
    uint32_t EmcPmacroIbDdllLongDqsRank1_3;
    uint32_t EmcPmacroDdllLongCmd_0;
    uint32_t EmcPmacroDdllLongCmd_1;
    uint32_t EmcPmacroDdllLongCmd_2;
    uint32_t EmcPmacroDdllLongCmd_3;
    uint32_t EmcPmacroDdllLongCmd_4;
    uint32_t EmcPmacroDdllShortCmd_0;
    uint32_t EmcPmacroDdllShortCmd_1;
    uint32_t EmcPmacroDdllShortCmd_2;
    uint32_t EmcPmacroDdllPeriodicOffset;
    uint32_t WarmBootWait;
    uint32_t EmcOdtWrite;
    uint32_t EmcZcalInterval;
    uint32_t EmcZcalWaitCnt;
    uint32_t EmcZcalMrwCmd;
    uint32_t EmcMrsResetDll;
    uint32_t EmcZcalInitDev0;
    uint32_t EmcZcalInitDev1;
    uint32_t EmcZcalInitWait;
    uint32_t EmcZcalWarmColdBootEnables;
    uint32_t EmcMrwLpddr2ZcalWarmBoot;
    uint32_t EmcZqCalDdr3WarmBoot;
    uint32_t EmcZqCalLpDdr4WarmBoot;
    uint32_t EmcZcalWarmBootWait;
    uint32_t EmcMrsWarmBootEnable;
    uint32_t EmcMrsResetDllWait;
    uint32_t EmcMrsExtra;
    uint32_t EmcWarmBootMrsExtra;
    uint32_t EmcEmrsDdr2DllEnable;
    uint32_t EmcMrsDdr2DllReset;
    uint32_t EmcEmrsDdr2OcdCalib;
    uint32_t EmcDdr2Wait;
    uint32_t EmcClkenOverride;
    uint32_t EmcExtraRefreshNum;
    uint32_t EmcClkenOverrideAllWarmBoot;
    uint32_t McClkenOverrideAllWarmBoot;
    uint32_t EmcCfgDigDllPeriodWarmBoot;
    uint32_t PmcVddpSel;
    uint32_t PmcVddpSelWait;
    uint32_t PmcDdrCfg;
    uint32_t PmcIoDpd3Req;
    uint32_t PmcIoDpd3ReqWait;
    uint32_t PmcIoDpd4ReqWait;
    uint32_t PmcRegShort;
    uint32_t PmcNoIoPower;
    uint32_t PmcDdrCntrlWait;
    uint32_t PmcDdrCntrl;
    uint32_t EmcAcpdControl;
    uint32_t EmcSwizzleRank0Byte0;
    uint32_t EmcSwizzleRank0Byte1;
    uint32_t EmcSwizzleRank0Byte2;
    uint32_t EmcSwizzleRank0Byte3;
    uint32_t EmcSwizzleRank1Byte0;
    uint32_t EmcSwizzleRank1Byte1;
    uint32_t EmcSwizzleRank1Byte2;
    uint32_t EmcSwizzleRank1Byte3;
    uint32_t EmcTxdsrvttgen;
    uint32_t EmcDataBrlshft0;
    uint32_t EmcDataBrlshft1;
    uint32_t EmcDqsBrlshft0;
    uint32_t EmcDqsBrlshft1;
    uint32_t EmcCmdBrlshft0;
    uint32_t EmcCmdBrlshft1;
    uint32_t EmcCmdBrlshft2;
    uint32_t EmcCmdBrlshft3;
    uint32_t EmcQuseBrlshft0;
    uint32_t EmcQuseBrlshft1;
    uint32_t EmcQuseBrlshft2;
    uint32_t EmcQuseBrlshft3;
    uint32_t EmcPmacroDllCfg0;
    uint32_t EmcPmacroDllCfg1;
    uint32_t EmcPmcScratch1;
    uint32_t EmcPmcScratch2;
    uint32_t EmcPmcScratch3;
    uint32_t EmcPmacroPadCfgCtrl;
    uint32_t EmcPmacroVttgenCtrl0;
    uint32_t EmcPmacroVttgenCtrl1;
    uint32_t EmcPmacroVttgenCtrl2;
    uint32_t EmcPmacroDsrVttgenCtrl0;
    uint32_t EmcPmacroBrickCtrlRfu1;
    uint32_t EmcPmacroCmdBrickCtrlFdpd;
    uint32_t EmcPmacroBrickCtrlRfu2;
    uint32_t EmcPmacroDataBrickCtrlFdpd;
    uint32_t EmcPmacroBgBiasCtrl0;
    uint32_t EmcPmacroDataPadRxCtrl;
    uint32_t EmcPmacroCmdPadRxCtrl;
    uint32_t EmcPmacroDataRxTermMode;
    uint32_t EmcPmacroCmdRxTermMode;
    uint32_t EmcPmacroDataPadTxCtrl;
    uint32_t EmcPmacroCmdPadTxCtrl;
    uint32_t EmcCfg3;
    uint32_t EmcPmacroTxPwrd0;
    uint32_t EmcPmacroTxPwrd1;
    uint32_t EmcPmacroTxPwrd2;
    uint32_t EmcPmacroTxPwrd3;
    uint32_t EmcPmacroTxPwrd4;
    uint32_t EmcPmacroTxPwrd5;
    uint32_t EmcConfigSampleDelay;
    uint32_t EmcPmacroBrickMapping0;
    uint32_t EmcPmacroBrickMapping1;
    uint32_t EmcPmacroBrickMapping2;
    uint32_t EmcPmacroTxSelClkSrc0;
    uint32_t EmcPmacroTxSelClkSrc1;
    uint32_t EmcPmacroTxSelClkSrc2;
    uint32_t EmcPmacroTxSelClkSrc3;
    uint32_t EmcPmacroTxSelClkSrc4;
    uint32_t EmcPmacroTxSelClkSrc5;
    uint32_t EmcPmacroPerbitFgcgCtrl0;
    uint32_t EmcPmacroPerbitFgcgCtrl1;
    uint32_t EmcPmacroPerbitFgcgCtrl2;
    uint32_t EmcPmacroPerbitFgcgCtrl3;
    uint32_t EmcPmacroPerbitFgcgCtrl4;
    uint32_t EmcPmacroPerbitFgcgCtrl5;
    uint32_t EmcPmacroPerbitRfuCtrl0;
    uint32_t EmcPmacroPerbitRfuCtrl1;
    uint32_t EmcPmacroPerbitRfuCtrl2;
    uint32_t EmcPmacroPerbitRfuCtrl3;
    uint32_t EmcPmacroPerbitRfuCtrl4;
    uint32_t EmcPmacroPerbitRfuCtrl5;
    uint32_t EmcPmacroPerbitRfu1Ctrl0;
    uint32_t EmcPmacroPerbitRfu1Ctrl1;
    uint32_t EmcPmacroPerbitRfu1Ctrl2;
    uint32_t EmcPmacroPerbitRfu1Ctrl3;
    uint32_t EmcPmacroPerbitRfu1Ctrl4;
    uint32_t EmcPmacroPerbitRfu1Ctrl5;
    uint32_t EmcPmacroDataPiCtrl;
    uint32_t EmcPmacroCmdPiCtrl;
    uint32_t EmcPmacroDdllBypass;
    uint32_t EmcPmacroDdllPwrd0;
    uint32_t EmcPmacroDdllPwrd1;
    uint32_t EmcPmacroDdllPwrd2;
    uint32_t EmcPmacroCmdCtrl0;
    uint32_t EmcPmacroCmdCtrl1;
    uint32_t EmcPmacroCmdCtrl2;
    uint32_t McEmemAdrCfg;
    uint32_t McEmemAdrCfgDev0;
    uint32_t McEmemAdrCfgDev1;
    uint32_t McEmemAdrCfgChannelMask;
    uint32_t McEmemAdrCfgBankMask0;
    uint32_t McEmemAdrCfgBankMask1;
    uint32_t McEmemAdrCfgBankMask2;
    uint32_t McEmemCfg;
    uint32_t McEmemArbCfg;
    uint32_t McEmemArbOutstandingReq;
    uint32_t McEmemArbRefpbHpCtrl;
    uint32_t McEmemArbRefpbBankCtrl;
    uint32_t McEmemArbTimingRcd;
    uint32_t McEmemArbTimingRp;
    uint32_t McEmemArbTimingRc;
    uint32_t McEmemArbTimingRas;
    uint32_t McEmemArbTimingFaw;
    uint32_t McEmemArbTimingRrd;
    uint32_t McEmemArbTimingRap2Pre;
    uint32_t McEmemArbTimingWap2Pre;
    uint32_t McEmemArbTimingR2R;
    uint32_t McEmemArbTimingW2W;
    uint32_t McEmemArbTimingR2W;
    uint32_t McEmemArbTimingW2R;
    uint32_t McEmemArbTimingRFCPB;
    uint32_t McEmemArbDaTurns;
    uint32_t McEmemArbDaCovers;
    uint32_t McEmemArbMisc0;
    uint32_t McEmemArbMisc1;
    uint32_t McEmemArbMisc2;
    uint32_t McEmemArbRing1Throttle;
    uint32_t McEmemArbOverride;
    uint32_t McEmemArbOverride1;
    uint32_t McEmemArbRsv;
    uint32_t McDaCfg0;
    uint32_t McEmemArbTimingCcdmw;
    uint32_t McClkenOverride;
    uint32_t McStatControl;
    uint32_t McVideoProtectBom;
    uint32_t McVideoProtectBomAdrHi;
    uint32_t McVideoProtectSizeMb;
    uint32_t McVideoProtectVprOverride;
    uint32_t McVideoProtectVprOverride1;
    uint32_t McVideoProtectGpuOverride0;
    uint32_t McVideoProtectGpuOverride1;
    uint32_t McSecCarveoutBom;
    uint32_t McSecCarveoutAdrHi;
    uint32_t McSecCarveoutSizeMb;
    uint32_t McVideoProtectWriteAccess;
    uint32_t McSecCarveoutProtectWriteAccess;
    uint32_t McGeneralizedCarveout1Bom;
    uint32_t McGeneralizedCarveout1BomHi;
    uint32_t McGeneralizedCarveout1Size128kb;
    uint32_t McGeneralizedCarveout1Access0;
    uint32_t McGeneralizedCarveout1Access1;
    uint32_t McGeneralizedCarveout1Access2;
    uint32_t McGeneralizedCarveout1Access3;
    uint32_t McGeneralizedCarveout1Access4;
    uint32_t McGeneralizedCarveout1ForceInternalAccess0;
    uint32_t McGeneralizedCarveout1ForceInternalAccess1;
    uint32_t McGeneralizedCarveout1ForceInternalAccess2;
    uint32_t McGeneralizedCarveout1ForceInternalAccess3;
    uint32_t McGeneralizedCarveout1ForceInternalAccess4;
    uint32_t McGeneralizedCarveout1Cfg0;
    uint32_t McGeneralizedCarveout2Bom;
    uint32_t McGeneralizedCarveout2BomHi;
    uint32_t McGeneralizedCarveout2Size128kb;
    uint32_t McGeneralizedCarveout2Access0;
    uint32_t McGeneralizedCarveout2Access1;
    uint32_t McGeneralizedCarveout2Access2;
    uint32_t McGeneralizedCarveout2Access3;
    uint32_t McGeneralizedCarveout2Access4;
    uint32_t McGeneralizedCarveout2ForceInternalAccess0;
    uint32_t McGeneralizedCarveout2ForceInternalAccess1;
    uint32_t McGeneralizedCarveout2ForceInternalAccess2;
    uint32_t McGeneralizedCarveout2ForceInternalAccess3;
    uint32_t McGeneralizedCarveout2ForceInternalAccess4;
    uint32_t McGeneralizedCarveout2Cfg0;
    uint32_t McGeneralizedCarveout3Bom;
    uint32_t McGeneralizedCarveout3BomHi;
    uint32_t McGeneralizedCarveout3Size128kb;
    uint32_t McGeneralizedCarveout3Access0;
    uint32_t McGeneralizedCarveout3Access1;
    uint32_t McGeneralizedCarveout3Access2;
    uint32_t McGeneralizedCarveout3Access3;
    uint32_t McGeneralizedCarveout3Access4;
    uint32_t McGeneralizedCarveout3ForceInternalAccess0;
    uint32_t McGeneralizedCarveout3ForceInternalAccess1;
    uint32_t McGeneralizedCarveout3ForceInternalAccess2;
    uint32_t McGeneralizedCarveout3ForceInternalAccess3;
    uint32_t McGeneralizedCarveout3ForceInternalAccess4;
    uint32_t McGeneralizedCarveout3Cfg0;
    uint32_t McGeneralizedCarveout4Bom;
    uint32_t McGeneralizedCarveout4BomHi;
    uint32_t McGeneralizedCarveout4Size128kb;
    uint32_t McGeneralizedCarveout4Access0;
    uint32_t McGeneralizedCarveout4Access1;
    uint32_t McGeneralizedCarveout4Access2;
    uint32_t McGeneralizedCarveout4Access3;
    uint32_t McGeneralizedCarveout4Access4;
    uint32_t McGeneralizedCarveout4ForceInternalAccess0;
    uint32_t McGeneralizedCarveout4ForceInternalAccess1;
    uint32_t McGeneralizedCarveout4ForceInternalAccess2;
    uint32_t McGeneralizedCarveout4ForceInternalAccess3;
    uint32_t McGeneralizedCarveout4ForceInternalAccess4;
    uint32_t McGeneralizedCarveout4Cfg0;
    uint32_t McGeneralizedCarveout5Bom;
    uint32_t McGeneralizedCarveout5BomHi;
    uint32_t McGeneralizedCarveout5Size128kb;
    uint32_t McGeneralizedCarveout5Access0;
    uint32_t McGeneralizedCarveout5Access1;
    uint32_t McGeneralizedCarveout5Access2;
    uint32_t McGeneralizedCarveout5Access3;
    uint32_t McGeneralizedCarveout5Access4;
    uint32_t McGeneralizedCarveout5ForceInternalAccess0;
    uint32_t McGeneralizedCarveout5ForceInternalAccess1;
    uint32_t McGeneralizedCarveout5ForceInternalAccess2;
    uint32_t McGeneralizedCarveout5ForceInternalAccess3;
    uint32_t McGeneralizedCarveout5ForceInternalAccess4;
    uint32_t McGeneralizedCarveout5Cfg0;
    uint32_t EmcCaTrainingEnable;
    uint32_t SwizzleRankByteEncode;
    uint32_t BootRomPatchControl;
    uint32_t BootRomPatchData;
    uint32_t McMtsCarveoutBom;
    uint32_t McMtsCarveoutAdrHi;
    uint32_t McMtsCarveoutSizeMb;
    uint32_t McMtsCarveoutRegCtrl;
    uint32_t McUntranslatedRegionCheck;
    uint32_t BCT_NA;
} sdram_params_mariko_t;

#endif
