diff options
author | Mahantesh Kumbar <mkumbar@nvidia.com> | 2016-09-19 01:29:54 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2016-10-30 13:44:19 -0400 |
commit | cc438a360904590ac139f120470ba7d730ef8de8 (patch) | |
tree | 4210b863f1abca1ab1188593841e759267c3db31 /drivers/gpu/nvgpu/ctrl/ctrlvolt.h | |
parent | 4f26dbc51e144d350a1a99710a31f13f5070c765 (diff) |
gpu: nvgpu: voltage changes
- added voltage interface & ctrl defines.
JIRA DNVGPU-122
Change-Id: Ia1a4c655c3c5faa638cafcdc75bdfb0e3c3be54f
Signed-off-by: Mahantesh Kumbar <mkumbar@nvidia.com>
Reviewed-on: http://git-master/r/1222775
(cherry picked from commit 46ff4d54d3cc02d9f039091f09eea09a5d6c22ce)
Reviewed-on: http://git-master/r/1244654
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Tested-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/ctrl/ctrlvolt.h')
-rw-r--r-- | drivers/gpu/nvgpu/ctrl/ctrlvolt.h | 89 |
1 files changed, 83 insertions, 6 deletions
diff --git a/drivers/gpu/nvgpu/ctrl/ctrlvolt.h b/drivers/gpu/nvgpu/ctrl/ctrlvolt.h index 90a3bd89..04c7c4d1 100644 --- a/drivers/gpu/nvgpu/ctrl/ctrlvolt.h +++ b/drivers/gpu/nvgpu/ctrl/ctrlvolt.h | |||
@@ -15,17 +15,94 @@ | |||
15 | #ifndef _ctrlvolt_h_ | 15 | #ifndef _ctrlvolt_h_ |
16 | #define _ctrlvolt_h_ | 16 | #define _ctrlvolt_h_ |
17 | 17 | ||
18 | #define CTRL_VOLT_VOLT_RAIL_MAX_RAILS \ | 18 | #define CTRL_VOLT_VOLT_RAIL_MAX_RAILS \ |
19 | CTRL_BOARDOBJGRP_E32_MAX_OBJECTS | 19 | CTRL_BOARDOBJGRP_E32_MAX_OBJECTS |
20 | 20 | ||
21 | #include "ctrlperf.h" | 21 | #include "ctrlperf.h" |
22 | #include "ctrlboardobj.h" | 22 | #include "ctrlboardobj.h" |
23 | 23 | ||
24 | #define CTRL_VOLT_RAIL_VOLT_DELTA_MAX_ENTRIES 0x04 | 24 | #define CTRL_VOLT_RAIL_VOLT_DELTA_MAX_ENTRIES 0x04 |
25 | #define CTRL_VOLT_VOLT_DEV_VID_VSEL_MAX_ENTRIES (8) | 25 | #define CTRL_VOLT_VOLT_DEV_VID_VSEL_MAX_ENTRIES (8) |
26 | #define CTRL_VOLT_DOMAIN_INVALID 0x00 | 26 | #define CTRL_VOLT_DOMAIN_INVALID 0x00 |
27 | #define CTRL_VOLT_DOMAIN_LOGIC 0x01 | 27 | #define CTRL_VOLT_DOMAIN_LOGIC 0x01 |
28 | #define CLK_PROG_VFE_ENTRY_LOGIC 0x00 | 28 | #define CLK_PROG_VFE_ENTRY_LOGIC 0x00 |
29 | |||
30 | /* | ||
31 | * Macros for Voltage Domain HAL. | ||
32 | */ | ||
33 | #define CTRL_VOLT_DOMAIN_HAL_GP10X_SINGLE_RAIL 0x00 | ||
34 | #define CTRL_VOLT_DOMAIN_HAL_GP10X_SPLIT_RAIL 0x01 | ||
35 | |||
36 | /* | ||
37 | * Macros for Voltage Domains. | ||
38 | */ | ||
39 | #define CTRL_VOLT_DOMAIN_INVALID 0x00 | ||
40 | #define CTRL_VOLT_DOMAIN_LOGIC 0x01 | ||
41 | #define CTRL_VOLT_DOMAIN_SRAM 0x02 | ||
42 | |||
43 | /*! | ||
44 | * Special value corresponding to an invalid Voltage Rail Index. | ||
45 | */ | ||
46 | #define CTRL_VOLT_RAIL_INDEX_INVALID \ | ||
47 | CTRL_BOARDOBJ_IDX_INVALID | ||
48 | |||
49 | /*! | ||
50 | * Special value corresponding to an invalid Voltage Device Index. | ||
51 | */ | ||
52 | #define CTRL_VOLT_DEVICE_INDEX_INVALID \ | ||
53 | CTRL_BOARDOBJ_IDX_INVALID | ||
54 | |||
55 | /*! | ||
56 | * Special value corresponding to an invalid Voltage Policy Index. | ||
57 | */ | ||
58 | #define CTRL_VOLT_POLICY_INDEX_INVALID \ | ||
59 | CTRL_BOARDOBJ_IDX_INVALID | ||
60 | |||
61 | enum nv_pmu_pmgr_pwm_source { | ||
62 | NV_PMU_PMGR_PWM_SOURCE_INVALID = 0, | ||
63 | NV_PMU_PMGR_PWM_SOURCE_THERM_VID_PWM_1 = 5, | ||
64 | NV_PMU_PMGR_PWM_SOURCE_RSVD_0 = 7, | ||
65 | NV_PMU_PMGR_PWM_SOURCE_RSVD_1 = 8, | ||
66 | }; | ||
67 | |||
68 | /*! | ||
69 | * Macros for Voltage Device Types. | ||
70 | */ | ||
71 | #define CTRL_VOLT_DEVICE_TYPE_INVALID 0x00 | ||
72 | #define CTRL_VOLT_DEVICE_TYPE_PWM 0x03 | ||
73 | |||
74 | /* | ||
75 | * Macros for Volt Device Operation types. | ||
76 | */ | ||
77 | #define CTRL_VOLT_DEVICE_OPERATION_TYPE_INVALID 0x00 | ||
78 | #define CTRL_VOLT_DEVICE_OPERATION_TYPE_DEFAULT 0x01 | ||
79 | #define CTRL_VOLT_DEVICE_OPERATION_TYPE_LPWR_STEADY_STATE 0x02 | ||
80 | #define CTRL_VOLT_DEVICE_OPERATION_TYPE_LPWR_SLEEP_STATE 0x03 | ||
81 | |||
82 | /*! | ||
83 | * Macros for Voltage Domains. | ||
84 | */ | ||
85 | #define CTRL_VOLT_DOMAIN_INVALID 0x00 | ||
86 | #define CTRL_VOLT_DOMAIN_LOGIC 0x01 | ||
87 | #define CTRL_VOLT_DOMAIN_SRAM 0x02 | ||
88 | |||
89 | /*! | ||
90 | * Macros for Volt Policy types. | ||
91 | * | ||
92 | * Virtual VOLT_POLICY types are indexed starting from 0xFF. | ||
93 | */ | ||
94 | #define CTRL_VOLT_POLICY_TYPE_INVALID 0x00 | ||
95 | #define CTRL_VOLT_POLICY_TYPE_SINGLE_RAIL 0x01 | ||
96 | #define CTRL_VOLT_POLICY_TYPE_SR_MULTI_STEP 0x02 | ||
97 | #define CTRL_VOLT_POLICY_TYPE_SR_SINGLE_STEP 0x03 | ||
98 | #define CTRL_VOLT_POLICY_TYPE_SPLIT_RAIL 0xFE | ||
99 | #define CTRL_VOLT_POLICY_TYPE_UNKNOWN 0xFF | ||
100 | |||
101 | /*! | ||
102 | * Macros for Volt Policy Client types. | ||
103 | */ | ||
104 | #define CTRL_VOLT_POLICY_CLIENT_INVALID 0x00 | ||
105 | #define CTRL_VOLT_POLICY_CLIENT_PERF_CORE_VF_SEQ 0x01 | ||
29 | 106 | ||
30 | struct ctrl_volt_volt_rail_list_item { | 107 | struct ctrl_volt_volt_rail_list_item { |
31 | u8 rail_idx; | 108 | u8 rail_idx; |