/*
 * Copyright (C) 2018  Advanced Micro Devices, Inc.
 *
 * Permission is hereby granted, free of charge, to any person obtaining a
 * copy of this software and associated documentation files (the "Software"),
 * to deal in the Software without restriction, including without limitation
 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
 * and/or sell copies of the Software, and to permit persons to whom the
 * Software is furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included
 * in all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
 * THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
 * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 */
#ifndef _df_3_6_OFFSET_HEADER
#define _df_3_6_OFFSET_HEADER

#define mmFabricConfigAccessControl									0x0410
#define mmFabricConfigAccessControl_BASE_IDX								0

#define mmDF_PIE_AON0_DfGlobalClkGater									0x00fc
#define mmDF_PIE_AON0_DfGlobalClkGater_BASE_IDX								0

#define mmDF_CS_UMC_AON0_DfGlobalCtrl									0x00fe
#define mmDF_CS_UMC_AON0_DfGlobalCtrl_BASE_IDX								0

#define mmDF_CS_UMC_AON0_DramBaseAddress0								0x0044
#define mmDF_CS_UMC_AON0_DramBaseAddress0_BASE_IDX							0

#define mmDF_GCM_AON0_DramMegaBaseAddress0								0x0064
#define mmDF_GCM_AON0_DramMegaBaseAddress0_BASE_IDX							0

#define smnPerfMonCtlLo0					0x01d440UL
#define smnPerfMonCtlHi0					0x01d444UL
#define smnPerfMonCtlLo1					0x01d450UL
#define smnPerfMonCtlHi1					0x01d454UL
#define smnPerfMonCtlLo2					0x01d460UL
#define smnPerfMonCtlHi2					0x01d464UL
#define smnPerfMonCtlLo3					0x01d470UL
#define smnPerfMonCtlHi3					0x01d474UL
#define smnPerfMonCtlLo4					0x01d880UL
#define smnPerfMonCtlHi4					0x01d884UL
#define smnPerfMonCtlLo5					0x01d888UL
#define smnPerfMonCtlHi5					0x01d88cUL
#define smnPerfMonCtlLo6					0x01d890UL
#define smnPerfMonCtlHi6					0x01d894UL
#define smnPerfMonCtlLo7					0x01d898UL
#define smnPerfMonCtlHi7					0x01d89cUL

#define smnPerfMonCtrLo0					0x01d448UL
#define smnPerfMonCtrHi0					0x01d44cUL
#define smnPerfMonCtrLo1					0x01d458UL
#define smnPerfMonCtrHi1					0x01d45cUL
#define smnPerfMonCtrLo2					0x01d468UL
#define smnPerfMonCtrHi2					0x01d46cUL
#define smnPerfMonCtrLo3					0x01d478UL
#define smnPerfMonCtrHi3					0x01d47cUL
#define smnPerfMonCtrLo4					0x01d790UL
#define smnPerfMonCtrHi4					0x01d794UL
#define smnPerfMonCtrLo5					0x01d798UL
#define smnPerfMonCtrHi5					0x01d79cUL
#define smnPerfMonCtrLo6					0x01d7a0UL
#define smnPerfMonCtrHi6					0x01d7a4UL
#define smnPerfMonCtrLo7					0x01d7a8UL
#define smnPerfMonCtrHi7					0x01d7acUL

#define smnDF_PIE_AON_FabricIndirectConfigAccessAddress3	0x1d05cUL
#define smnDF_PIE_AON_FabricIndirectConfigAccessDataLo3		0x1d098UL
#define smnDF_PIE_AON_FabricIndirectConfigAccessDataHi3		0x1d09cUL

#define smnDF_CS_UMC_AON0_DramBaseAddress0 	0x1c110UL
#define smnDF_CS_UMC_AON0_DramLimitAddress0 	0x1c114UL

#define mmDF_CS_UMC_AON0_HardwareAssertMaskLow                                                         0x067e
#define mmDF_CS_UMC_AON0_HardwareAssertMaskLow_BASE_IDX                                                0
#define mmDF_NCS_PG0_HardwareAssertMaskHigh                                                            0x067f
#define mmDF_NCS_PG0_HardwareAssertMaskHigh_BASE_IDX                                                   0

#endif