1 // This is a stripped-down version of the smu13_driver_if.h file for the relevant DAL interfaces.
2 
3 #define SMU13_DRIVER_IF_VERSION  0x18
4 
5 //Only Clks that have DPM descriptors are listed here
6 typedef enum {
7 	PPCLK_GFXCLK = 0,
8 	PPCLK_SOCCLK,
9 	PPCLK_UCLK,
10 	PPCLK_FCLK,
11 	PPCLK_DCLK_0,
12 	PPCLK_VCLK_0,
13 	PPCLK_DCLK_1,
14 	PPCLK_VCLK_1,
15 	PPCLK_DISPCLK,
16 	PPCLK_DPPCLK,
17 	PPCLK_DPREFCLK,
18 	PPCLK_DCFCLK,
19 	PPCLK_DTBCLK,
20 	PPCLK_COUNT,
21 } PPCLK_e;
22 
23 typedef struct {
24 	uint8_t  WmSetting;
25 	uint8_t  Flags;
26 	uint8_t  Padding[2];
27 
28 } WatermarkRowGeneric_t;
29 
30 #define NUM_WM_RANGES 4
31 
32 typedef enum {
33 	WATERMARKS_CLOCK_RANGE = 0,
34 	WATERMARKS_DUMMY_PSTATE,
35 	WATERMARKS_MALL,
36 	WATERMARKS_COUNT,
37 } WATERMARKS_FLAGS_e;
38 
39 typedef struct {
40 	// Watermarks
41 	WatermarkRowGeneric_t WatermarkRow[NUM_WM_RANGES];
42 } Watermarks_t;
43 
44 typedef struct {
45 	Watermarks_t Watermarks;
46 	uint32_t  Spare[16];
47 
48 	uint32_t     MmHubPadding[8]; // SMU internal use
49 } WatermarksExternal_t;
50 
51 // Table types
52 #define TABLE_PMFW_PPTABLE            0
53 #define TABLE_COMBO_PPTABLE           1
54 #define TABLE_WATERMARKS              2
55 #define TABLE_AVFS_PSM_DEBUG          3
56 #define TABLE_PMSTATUSLOG             4
57 #define TABLE_SMU_METRICS             5
58 #define TABLE_DRIVER_SMU_CONFIG       6
59 #define TABLE_ACTIVITY_MONITOR_COEFF  7
60 #define TABLE_OVERDRIVE               8
61 #define TABLE_I2C_COMMANDS            9
62 #define TABLE_DRIVER_INFO             10
63 #define TABLE_COUNT                   11
64