linux/drivers/gpu/drm/amd/pm/powerplay/hwmgr/pptable_v1_0.h

/*
 * Copyright 2015 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) OR AUTHOR(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 TONGA_PPTABLE_H
#define TONGA_PPTABLE_H

/** \file
 * This is a PowerPlay table header file
 */
#pragma pack(push, 1)

#include "hwmgr.h"

#define ATOM_TONGA_PP_FANPARAMETERS_TACHOMETER_PULSES_PER_REVOLUTION_MASK
#define ATOM_TONGA_PP_FANPARAMETERS_NOFAN

#define ATOM_TONGA_PP_THERMALCONTROLLER_NONE
#define ATOM_TONGA_PP_THERMALCONTROLLER_LM96163
#define ATOM_TONGA_PP_THERMALCONTROLLER_TONGA
#define ATOM_TONGA_PP_THERMALCONTROLLER_FIJI

/*
 * Thermal controller 'combo type' to use an external controller for Fan control and an internal controller for thermal.
 * We probably should reserve the bit 0x80 for this use.
 * To keep the number of these types low we should also use the same code for all ASICs (i.e. do not distinguish RV6xx and RV7xx Internal here).
 * The driver can pick the correct internal controller based on the ASIC.
 */

#define ATOM_TONGA_PP_THERMALCONTROLLER_ADT7473_WITH_INTERNAL
#define ATOM_TONGA_PP_THERMALCONTROLLER_EMC2103_WITH_INTERNAL

/*/* ATOM_TONGA_POWERPLAYTABLE::ulPlatformCaps */
#define ATOM_TONGA_PP_PLATFORM_CAP_VDDGFX_CONTROL
#define ATOM_TONGA_PP_PLATFORM_CAP_POWERPLAY
#define ATOM_TONGA_PP_PLATFORM_CAP_SBIOSPOWERSOURCE
#define ATOM_TONGA_PP_PLATFORM_CAP_DISABLE_VOLTAGE_ISLAND
#define ____RETIRE16____
#define ATOM_TONGA_PP_PLATFORM_CAP_HARDWAREDC
#define ____RETIRE64____
#define ____RETIRE128____
#define ____RETIRE256____
#define ____RETIRE512____
#define ____RETIRE1024____
#define ____RETIRE2048____
#define ATOM_TONGA_PP_PLATFORM_CAP_MVDD_CONTROL
#define ____RETIRE2000____
#define ____RETIRE4000____
#define ATOM_TONGA_PP_PLATFORM_CAP_VDDCI_CONTROL
#define ____RETIRE10000____
#define ATOM_TONGA_PP_PLATFORM_CAP_BACO

#define ATOM_TONGA_PP_PLATFORM_CAP_OUTPUT_THERMAL2GPIO17
#define ATOM_TONGA_PP_PLATFORM_COMBINE_PCC_WITH_THERMAL_SIGNAL
#define ATOM_TONGA_PLATFORM_LOAD_POST_PRODUCTION_FIRMWARE

/* ATOM_PPLIB_NONCLOCK_INFO::usClassification */
#define ATOM_PPLIB_CLASSIFICATION_UI_MASK
#define ATOM_PPLIB_CLASSIFICATION_UI_SHIFT
#define ATOM_PPLIB_CLASSIFICATION_UI_NONE
#define ATOM_PPLIB_CLASSIFICATION_UI_BATTERY
#define ATOM_PPLIB_CLASSIFICATION_UI_BALANCED
#define ATOM_PPLIB_CLASSIFICATION_UI_PERFORMANCE
/* 2, 4, 6, 7 are reserved */

#define ATOM_PPLIB_CLASSIFICATION_BOOT
#define ATOM_PPLIB_CLASSIFICATION_THERMAL
#define ATOM_PPLIB_CLASSIFICATION_LIMITEDPOWERSOURCE
#define ATOM_PPLIB_CLASSIFICATION_REST
#define ATOM_PPLIB_CLASSIFICATION_FORCED
#define ATOM_PPLIB_CLASSIFICATION_ACPI

/* ATOM_PPLIB_NONCLOCK_INFO::usClassification2 */
#define ATOM_PPLIB_CLASSIFICATION2_LIMITEDPOWERSOURCE_2

#define ATOM_Tonga_DISALLOW_ON_DC
#define ATOM_Tonga_ENABLE_VARIBRIGHT

#define ATOM_Tonga_TABLE_REVISION_TONGA

ATOM_Tonga_POWERPLAYTABLE;

ATOM_Tonga_State;

ATOM_Tonga_State_Array;

ATOM_Tonga_MCLK_Dependency_Record;

ATOM_Tonga_MCLK_Dependency_Table;

ATOM_Tonga_SCLK_Dependency_Record;

ATOM_Tonga_SCLK_Dependency_Table;

ATOM_Polaris_SCLK_Dependency_Record;

ATOM_Polaris_SCLK_Dependency_Table;

ATOM_Tonga_PCIE_Record;

ATOM_Tonga_PCIE_Table;

ATOM_Polaris10_PCIE_Record;

ATOM_Polaris10_PCIE_Table;


ATOM_Tonga_MM_Dependency_Record;

ATOM_Tonga_MM_Dependency_Table;

ATOM_Tonga_Voltage_Lookup_Record;

ATOM_Tonga_Voltage_Lookup_Table;

ATOM_Tonga_Fan_Table;

ATOM_Fiji_Fan_Table;

ATOM_Polaris_Fan_Table;

ATOM_Tonga_Thermal_Controller;

ATOM_Tonga_VCE_State_Record;

ATOM_Tonga_VCE_State_Table;

ATOM_Tonga_PowerTune_Table;

ATOM_Fiji_PowerTune_Table;

ATOM_Polaris_PowerTune_Table;

#define ATOM_PPM_A_A
#define ATOM_PPM_A_I
ATOM_Tonga_PPM_Table;

ATOM_Tonga_Hard_Limit_Record;

ATOM_Tonga_Hard_Limit_Table;

ATOM_Tonga_GPIO_Table;

PPTable_Generic_SubTable_Header;


#pragma pack(pop)


#endif