/*
 * Copyright (C) 2017  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 _thm_9_0_DEFAULT_HEADER
#define _thm_9_0_DEFAULT_HEADER


// addressBlock: thm_thm_SmuThmDec
#define mmTHM_TCON_CUR_TMP_DEFAULT                                               0x00000000
#define mmTHM_TCON_HTC_DEFAULT                                                   0x00004000
#define mmTHM_TCON_THERM_TRIP_DEFAULT                                            0x00000001
#define mmTHM_GPIO_PROCHOT_CTRL_DEFAULT                                          0x000000f9
#define mmTHM_GPIO_THERMTRIP_CTRL_DEFAULT                                        0x001000f9
#define mmTHM_GPIO_PWM_CTRL_DEFAULT                                              0x000000f9
#define mmTHM_GPIO_TACHIN_CTRL_DEFAULT                                           0x000000f9
#define mmTHM_GPIO_PUMPOUT_CTRL_DEFAULT                                          0x000000f9
#define mmTHM_GPIO_PUMPIN_CTRL_DEFAULT                                           0x000000f9
#define mmTHM_THERMAL_INT_ENA_DEFAULT                                            0x00000000
#define mmTHM_THERMAL_INT_CTRL_DEFAULT                                           0x0fff0078
#define mmTHM_THERMAL_INT_STATUS_DEFAULT                                         0x00000000
#define mmTHM_TMON0_RDIL0_DATA_DEFAULT                                           0x00000000
#define mmTHM_TMON0_RDIL1_DATA_DEFAULT                                           0x00000000
#define mmTHM_TMON0_RDIL2_DATA_DEFAULT                                           0x00000000
#define mmTHM_TMON0_RDIL3_DATA_DEFAULT                                           0x00000000
#define mmTHM_TMON0_RDIL4_DATA_DEFAULT                                           0x00000000
#define mmTHM_TMON0_RDIL5_DATA_DEFAULT                                           0x00000000
#define mmTHM_TMON0_RDIL6_DATA_DEFAULT                                           0x00000000
#define mmTHM_TMON0_RDIL7_DATA_DEFAULT                                           0x00000000
#define mmTHM_TMON0_RDIL8_DATA_DEFAULT                                           0x00000000
#define mmTHM_TMON0_RDIL9_DATA_DEFAULT                                           0x00000000
#define mmTHM_TMON0_RDIL10_DATA_DEFAULT                                          0x00000000
#define mmTHM_TMON0_RDIL11_DATA_DEFAULT                                          0x00000000
#define mmTHM_TMON0_RDIL12_DATA_DEFAULT                                          0x00000000
#define mmTHM_TMON0_RDIL13_DATA_DEFAULT                                          0x00000000
#define mmTHM_TMON0_RDIL14_DATA_DEFAULT                                          0x00000000
#define mmTHM_TMON0_RDIL15_DATA_DEFAULT                                          0x00000000
#define mmTHM_TMON0_RDIR0_DATA_DEFAULT                                           0x00000000
#define mmTHM_TMON0_RDIR1_DATA_DEFAULT                                           0x00000000
#define mmTHM_TMON0_RDIR2_DATA_DEFAULT                                           0x00000000
#define mmTHM_TMON0_RDIR3_DATA_DEFAULT                                           0x00000000
#define mmTHM_TMON0_RDIR4_DATA_DEFAULT                                           0x00000000
#define mmTHM_TMON0_RDIR5_DATA_DEFAULT                                           0x00000000
#define mmTHM_TMON0_RDIR6_DATA_DEFAULT                                           0x00000000
#define mmTHM_TMON0_RDIR7_DATA_DEFAULT                                           0x00000000
#define mmTHM_TMON0_RDIR8_DATA_DEFAULT                                           0x00000000
#define mmTHM_TMON0_RDIR9_DATA_DEFAULT                                           0x00000000
#define mmTHM_TMON0_RDIR10_DATA_DEFAULT                                          0x00000000
#define mmTHM_TMON0_RDIR11_DATA_DEFAULT                                          0x00000000
#define mmTHM_TMON0_RDIR12_DATA_DEFAULT                                          0x00000000
#define mmTHM_TMON0_RDIR13_DATA_DEFAULT                                          0x00000000
#define mmTHM_TMON0_RDIR14_DATA_DEFAULT                                          0x00000000
#define mmTHM_TMON0_RDIR15_DATA_DEFAULT                                          0x00000000
#define mmTHM_TMON0_INT_DATA_DEFAULT                                             0x00000000
#define mmTHM_TMON0_DEBUG_DEFAULT                                                0x00000000
#define mmTHM_TMON1_RDIL0_DATA_DEFAULT                                           0x00000000
#define mmTHM_TMON1_RDIL1_DATA_DEFAULT                                           0x00000000
#define mmTHM_TMON1_RDIL2_DATA_DEFAULT                                           0x00000000
#define mmTHM_TMON1_RDIL3_DATA_DEFAULT                                           0x00000000
#define mmTHM_TMON1_RDIL4_DATA_DEFAULT                                           0x00000000
#define mmTHM_TMON1_RDIL5_DATA_DEFAULT                                           0x00000000
#define mmTHM_TMON1_RDIL6_DATA_DEFAULT                                           0x00000000
#define mmTHM_TMON1_RDIL7_DATA_DEFAULT                                           0x00000000
#define mmTHM_TMON1_RDIL8_DATA_DEFAULT                                           0x00000000
#define mmTHM_TMON1_RDIL9_DATA_DEFAULT                                           0x00000000
#define mmTHM_TMON1_RDIL10_DATA_DEFAULT                                          0x00000000
#define mmTHM_TMON1_RDIL11_DATA_DEFAULT                                          0x00000000
#define mmTHM_TMON1_RDIL12_DATA_DEFAULT                                          0x00000000
#define mmTHM_TMON1_RDIL13_DATA_DEFAULT                                          0x00000000
#define mmTHM_TMON1_RDIL14_DATA_DEFAULT                                          0x00000000
#define mmTHM_TMON1_RDIL15_DATA_DEFAULT                                          0x00000000
#define mmTHM_TMON1_RDIR0_DATA_DEFAULT                                           0x00000000
#define mmTHM_TMON1_RDIR1_DATA_DEFAULT                                           0x00000000
#define mmTHM_TMON1_RDIR2_DATA_DEFAULT                                           0x00000000
#define mmTHM_TMON1_RDIR3_DATA_DEFAULT                                           0x00000000
#define mmTHM_TMON1_RDIR4_DATA_DEFAULT                                           0x00000000
#define mmTHM_TMON1_RDIR5_DATA_DEFAULT                                           0x00000000
#define mmTHM_TMON1_RDIR6_DATA_DEFAULT                                           0x00000000
#define mmTHM_TMON1_RDIR7_DATA_DEFAULT                                           0x00000000
#define mmTHM_TMON1_RDIR8_DATA_DEFAULT                                           0x00000000
#define mmTHM_TMON1_RDIR9_DATA_DEFAULT                                           0x00000000
#define mmTHM_TMON1_RDIR10_DATA_DEFAULT                                          0x00000000
#define mmTHM_TMON1_RDIR11_DATA_DEFAULT                                          0x00000000
#define mmTHM_TMON1_RDIR12_DATA_DEFAULT                                          0x00000000
#define mmTHM_TMON1_RDIR13_DATA_DEFAULT                                          0x00000000
#define mmTHM_TMON1_RDIR14_DATA_DEFAULT                                          0x00000000
#define mmTHM_TMON1_RDIR15_DATA_DEFAULT                                          0x00000000
#define mmTHM_TMON1_INT_DATA_DEFAULT                                             0x00000000
#define mmTHM_TMON1_DEBUG_DEFAULT                                                0x00000000
#define mmTHM_DIE1_TEMP_DEFAULT                                                  0x00000000
#define mmTHM_DIE2_TEMP_DEFAULT                                                  0x00000000
#define mmTHM_DIE3_TEMP_DEFAULT                                                  0x00000000
#define mmCG_MULT_THERMAL_CTRL_DEFAULT                                           0x08400001
#define mmCG_MULT_THERMAL_STATUS_DEFAULT                                         0x00000000
#define mmTHM_TMON0_COEFF_DEFAULT                                                0x00024068
#define mmTHM_TMON1_COEFF_DEFAULT                                                0x00024068
#define mmCG_FDO_CTRL0_DEFAULT                                                   0x0000642c
#define mmCG_FDO_CTRL1_DEFAULT                                                   0x001e1f7d
#define mmCG_FDO_CTRL2_DEFAULT                                                   0x02bf0228
#define mmCG_TACH_CTRL_DEFAULT                                                   0x00008002
#define mmCG_TACH_STATUS_DEFAULT                                                 0x00000000
#define mmCG_THERMAL_STATUS_DEFAULT                                              0x00000000
#define mmCG_PUMP_CTRL0_DEFAULT                                                  0x0000642c
#define mmCG_PUMP_CTRL1_DEFAULT                                                  0x001e1f7d
#define mmCG_PUMP_CTRL2_DEFAULT                                                  0x02bf0228
#define mmCG_PUMP_TACH_CTRL_DEFAULT                                              0x00008002
#define mmCG_PUMP_TACH_STATUS_DEFAULT                                            0x00000000
#define mmCG_PUMP_STATUS_DEFAULT                                                 0x00000000
#define mmTHM_TCON_LOCAL0_DEFAULT                                                0x00000000
#define mmTHM_TCON_LOCAL1_DEFAULT                                                0x00000000
#define mmTHM_TCON_LOCAL2_DEFAULT                                                0x00000060
#define mmTHM_TCON_LOCAL3_DEFAULT                                                0x00000000
#define mmTHM_TCON_LOCAL4_DEFAULT                                                0x00000000
#define mmTHM_TCON_LOCAL5_DEFAULT                                                0x00000000
#define mmTHM_TCON_LOCAL6_DEFAULT                                                0x00000000
#define mmTHM_TCON_LOCAL7_DEFAULT                                                0x00000000
#define mmTHM_TCON_LOCAL8_DEFAULT                                                0x00000000
#define mmTHM_TCON_LOCAL9_DEFAULT                                                0x00000000
#define mmTHM_TCON_LOCAL10_DEFAULT                                               0x00000000
#define mmTHM_TCON_LOCAL11_DEFAULT                                               0x00000000
#define mmTHM_TCON_LOCAL12_DEFAULT                                               0x00000000
#define mmTHM_TCON_LOCAL13_DEFAULT                                               0x00000000
#define mmTHM_BACO_CNTL_DEFAULT                                                  0x00000004
#define mmTHM_BACO_TIMING0_DEFAULT                                               0x80a06050
#define mmTHM_BACO_TIMING1_DEFAULT                                               0x1020f070
#define mmXTAL_CNTL_DEFAULT                                                      0x00006010
#define mmSBTSI_REMOTE_TEMP_DEFAULT                                              0x00000000
#define mmSBRMI_CONTROL_DEFAULT                                                  0x00000000
#define mmSBRMI_COMMAND_DEFAULT                                                  0x00000000
#define mmSBRMI_WRITE_DATA0_DEFAULT                                              0x00000000
#define mmSBRMI_WRITE_DATA1_DEFAULT                                              0x00000000
#define mmSBRMI_WRITE_DATA2_DEFAULT                                              0x00000000
#define mmSBRMI_READ_DATA0_DEFAULT                                               0x00000000
#define mmSBRMI_READ_DATA1_DEFAULT                                               0x00000000
#define mmSBRMI_CORE_EN_NUMBER_DEFAULT                                           0x00000010
#define mmSBRMI_CORE_EN_STATUS0_DEFAULT                                          0x00000000
#define mmSBRMI_CORE_EN_STATUS1_DEFAULT                                          0x00000000
#define mmSBRMI_APIC_STATUS0_DEFAULT                                             0x00000000
#define mmSBRMI_APIC_STATUS1_DEFAULT                                             0x00000000
#define mmSBRMI_MCE_STATUS0_DEFAULT                                              0x00000000
#define mmSBRMI_MCE_STATUS1_DEFAULT                                              0x00000000
#define mmSMBUS_CNTL0_DEFAULT                                                    0x00030082
#define mmSMBUS_CNTL1_DEFAULT                                                    0x0000063f
#define mmSMBUS_BLKWR_CMD_CTRL0_DEFAULT                                          0x12110201
#define mmSMBUS_BLKWR_CMD_CTRL1_DEFAULT                                          0x0003005a
#define mmSMBUS_BLKRD_CMD_CTRL0_DEFAULT                                          0x00001303
#define mmSMBUS_BLKRD_CMD_CTRL1_DEFAULT                                          0x00000000
#define mmSMBUS_TIMING_CNTL0_DEFAULT                                             0x028a4f5c
#define mmSMBUS_TIMING_CNTL1_DEFAULT                                             0x08036927
#define mmSMBUS_TIMING_CNTL2_DEFAULT                                             0x0021e548
#define mmSMBUS_TRIGGER_CNTL_DEFAULT                                             0x00000000
#define mmSMBUS_UDID_CNTL0_DEFAULT                                               0x7fffffff
#define mmSMBUS_UDID_CNTL1_DEFAULT                                               0x00000000
#define mmSMBUS_UDID_CNTL2_DEFAULT                                               0x00000043
#define mmSMBUS_BACO_DUMMY_DEFAULT                                               0x00000000
#define mmSMBUS_BACO_ADDR_RANGE0_LOW_DEFAULT                                     0x00000000
#define mmSMBUS_BACO_ADDR_RANGE0_HIGH_DEFAULT                                    0x00000000
#define mmSMBUS_BACO_ADDR_RANGE1_LOW_DEFAULT                                     0x00000000
#define mmSMBUS_BACO_ADDR_RANGE1_HIGH_DEFAULT                                    0x00000000
#define mmSMBUS_BACO_ADDR_RANGE2_LOW_DEFAULT                                     0x00000000
#define mmSMBUS_BACO_ADDR_RANGE2_HIGH_DEFAULT                                    0x00000000
#define mmSMBUS_BACO_ADDR_RANGE3_LOW_DEFAULT                                     0x00000000
#define mmSMBUS_BACO_ADDR_RANGE3_HIGH_DEFAULT                                    0x00000000
#define mmSMBUS_BACO_ADDR_RANGE4_LOW_DEFAULT                                     0x00000000
#define mmSMBUS_BACO_ADDR_RANGE4_HIGH_DEFAULT                                    0x00000000
#define mmTHM_GPIO_MACO_EN_CTRL_DEFAULT                                          0x000000f9
#define mmTHM_BACO_TIMING2_DEFAULT                                               0x00903040
#define mmTHM_BACO_TIMING_DEFAULT                                                0x00000a8c
#define mmTHM_TMON0_REMOTE_START_DEFAULT                                         0x00000000
#define mmTHM_TMON0_REMOTE_END_DEFAULT                                           0x00000000
#define mmTHM_TMON1_REMOTE_START_DEFAULT                                         0x00000000
#define mmTHM_TMON1_REMOTE_END_DEFAULT                                           0x00000000
#define mmTHM_TMON2_REMOTE_START_DEFAULT                                         0x00000000
#define mmTHM_TMON2_REMOTE_END_DEFAULT                                           0x00000000
#define mmTHM_TMON3_REMOTE_START_DEFAULT                                         0x00000000
#define mmTHM_TMON3_REMOTE_END_DEFAULT                                           0x00000000

#endif
