0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024 #ifndef PP_HWMGR_PPT_H
0025 #define PP_HWMGR_PPT_H
0026
0027 #include "hardwaremanager.h"
0028 #include "smumgr.h"
0029 #include "atom-types.h"
0030
0031 struct phm_ppt_v1_clock_voltage_dependency_record {
0032 uint32_t clk;
0033 uint8_t vddInd;
0034 uint8_t vddciInd;
0035 uint8_t mvddInd;
0036 uint16_t vdd_offset;
0037 uint16_t vddc;
0038 uint16_t vddgfx;
0039 uint16_t vddci;
0040 uint16_t mvdd;
0041 uint8_t phases;
0042 uint8_t cks_enable;
0043 uint8_t cks_voffset;
0044 uint32_t sclk_offset;
0045 };
0046
0047 typedef struct phm_ppt_v1_clock_voltage_dependency_record phm_ppt_v1_clock_voltage_dependency_record;
0048
0049 struct phm_ppt_v1_clock_voltage_dependency_table {
0050 uint32_t count;
0051 phm_ppt_v1_clock_voltage_dependency_record entries[];
0052 };
0053
0054 typedef struct phm_ppt_v1_clock_voltage_dependency_table phm_ppt_v1_clock_voltage_dependency_table;
0055
0056
0057
0058 struct phm_ppt_v1_mm_clock_voltage_dependency_record {
0059 uint32_t dclk;
0060 uint32_t vclk;
0061 uint32_t eclk;
0062 uint32_t aclk;
0063 uint32_t samclock;
0064 uint8_t vddcInd;
0065 uint16_t vddgfx_offset;
0066 uint16_t vddc;
0067 uint16_t vddgfx;
0068 uint8_t phases;
0069 };
0070 typedef struct phm_ppt_v1_mm_clock_voltage_dependency_record phm_ppt_v1_mm_clock_voltage_dependency_record;
0071
0072 struct phm_ppt_v1_mm_clock_voltage_dependency_table {
0073 uint32_t count;
0074 phm_ppt_v1_mm_clock_voltage_dependency_record entries[];
0075 };
0076 typedef struct phm_ppt_v1_mm_clock_voltage_dependency_table phm_ppt_v1_mm_clock_voltage_dependency_table;
0077
0078 struct phm_ppt_v1_voltage_lookup_record {
0079 uint16_t us_calculated;
0080 uint16_t us_vdd;
0081 uint16_t us_cac_low;
0082 uint16_t us_cac_mid;
0083 uint16_t us_cac_high;
0084 };
0085 typedef struct phm_ppt_v1_voltage_lookup_record phm_ppt_v1_voltage_lookup_record;
0086
0087 struct phm_ppt_v1_voltage_lookup_table {
0088 uint32_t count;
0089 phm_ppt_v1_voltage_lookup_record entries[];
0090 };
0091 typedef struct phm_ppt_v1_voltage_lookup_table phm_ppt_v1_voltage_lookup_table;
0092
0093
0094
0095 struct phm_ppt_v1_pcie_record {
0096 uint8_t gen_speed;
0097 uint8_t lane_width;
0098 uint16_t usreserved;
0099 uint16_t reserved;
0100 uint32_t pcie_sclk;
0101 };
0102 typedef struct phm_ppt_v1_pcie_record phm_ppt_v1_pcie_record;
0103
0104 struct phm_ppt_v1_pcie_table {
0105 uint32_t count;
0106 phm_ppt_v1_pcie_record entries[];
0107 };
0108 typedef struct phm_ppt_v1_pcie_table phm_ppt_v1_pcie_table;
0109
0110 struct phm_ppt_v1_gpio_table {
0111 uint8_t vrhot_triggered_sclk_dpm_index;
0112 };
0113 typedef struct phm_ppt_v1_gpio_table phm_ppt_v1_gpio_table;
0114
0115 #endif
0116