summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gp106/hw_trim_gp106.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/gp106/hw_trim_gp106.h')
-rw-r--r--drivers/gpu/nvgpu/gp106/hw_trim_gp106.h189
1 files changed, 189 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gp106/hw_trim_gp106.h b/drivers/gpu/nvgpu/gp106/hw_trim_gp106.h
new file mode 100644
index 00000000..42d3fd32
--- /dev/null
+++ b/drivers/gpu/nvgpu/gp106/hw_trim_gp106.h
@@ -0,0 +1,189 @@
1/*
2 * Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved.
3 *
4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms and conditions of the GNU General Public License,
6 * version 2, as published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope it will be useful, but WITHOUT
9 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
10 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
11 * more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16/*
17 * Function naming determines intended use:
18 *
19 * <x>_r(void) : Returns the offset for register <x>.
20 *
21 * <x>_o(void) : Returns the offset for element <x>.
22 *
23 * <x>_w(void) : Returns the word offset for word (4 byte) element <x>.
24 *
25 * <x>_<y>_s(void) : Returns size of field <y> of register <x> in bits.
26 *
27 * <x>_<y>_f(u32 v) : Returns a value based on 'v' which has been shifted
28 * and masked to place it at field <y> of register <x>. This value
29 * can be |'d with others to produce a full register value for
30 * register <x>.
31 *
32 * <x>_<y>_m(void) : Returns a mask for field <y> of register <x>. This
33 * value can be ~'d and then &'d to clear the value of field <y> for
34 * register <x>.
35 *
36 * <x>_<y>_<z>_f(void) : Returns the constant value <z> after being shifted
37 * to place it at field <y> of register <x>. This value can be |'d
38 * with others to produce a full register value for <x>.
39 *
40 * <x>_<y>_v(u32 r) : Returns the value of field <y> from a full register
41 * <x> value 'r' after being shifted to place its LSB at bit 0.
42 * This value is suitable for direct comparison with other unshifted
43 * values appropriate for use in field <y> of register <x>.
44 *
45 * <x>_<y>_<z>_v(void) : Returns the constant value for <z> defined for
46 * field <y> of register <x>. This value is suitable for direct
47 * comparison with unshifted values appropriate for use in field <y>
48 * of register <x>.
49 */
50#ifndef _hw_trim_gp106_h_
51#define _hw_trim_gp106_h_
52static inline u32 trim_gpc_bcast_clk_cntr_ncgpcclk_cfg_r(void)
53{
54 return 0x00132924;
55}
56static inline u32 trim_gpc_bcast_clk_cntr_ncgpcclk_cfg_noofipclks_s(void)
57{
58 return 16;
59}
60static inline u32 trim_gpc_bcast_clk_cntr_ncgpcclk_cfg_noofipclks_f(u32 v)
61{
62 return (v & 0xffff) << 0;
63}
64static inline u32 trim_gpc_bcast_clk_cntr_ncgpcclk_cfg_noofipclks_m(void)
65{
66 return 0xffff << 0;
67}
68static inline u32 trim_gpc_bcast_clk_cntr_ncgpcclk_cfg_noofipclks_v(u32 r)
69{
70 return (r >> 0) & 0xffff;
71}
72static inline u32 trim_gpc_bcast_clk_cntr_ncgpcclk_cfg_write_en_s(void)
73{
74 return 1;
75}
76static inline u32 trim_gpc_bcast_clk_cntr_ncgpcclk_cfg_write_en_f(u32 v)
77{
78 return (v & 0x1) << 16;
79}
80static inline u32 trim_gpc_bcast_clk_cntr_ncgpcclk_cfg_write_en_m(void)
81{
82 return 0x1 << 16;
83}
84static inline u32 trim_gpc_bcast_clk_cntr_ncgpcclk_cfg_write_en_v(u32 r)
85{
86 return (r >> 16) & 0x1;
87}
88static inline u32 trim_gpc_bcast_clk_cntr_ncgpcclk_cfg_write_en_deasserted_f(void)
89{
90 return 0;
91}
92static inline u32 trim_gpc_bcast_clk_cntr_ncgpcclk_cfg_write_en_asserted_f(void)
93{
94 return 0x10000;
95}
96static inline u32 trim_gpc_bcast_clk_cntr_ncgpcclk_cfg_enable_s(void)
97{
98 return 1;
99}
100static inline u32 trim_gpc_bcast_clk_cntr_ncgpcclk_cfg_enable_f(u32 v)
101{
102 return (v & 0x1) << 20;
103}
104static inline u32 trim_gpc_bcast_clk_cntr_ncgpcclk_cfg_enable_m(void)
105{
106 return 0x1 << 20;
107}
108static inline u32 trim_gpc_bcast_clk_cntr_ncgpcclk_cfg_enable_v(u32 r)
109{
110 return (r >> 20) & 0x1;
111}
112static inline u32 trim_gpc_bcast_clk_cntr_ncgpcclk_cfg_enable_deasserted_f(void)
113{
114 return 0;
115}
116static inline u32 trim_gpc_bcast_clk_cntr_ncgpcclk_cfg_enable_asserted_f(void)
117{
118 return 0x100000;
119}
120static inline u32 trim_gpc_bcast_clk_cntr_ncgpcclk_cfg_reset_s(void)
121{
122 return 1;
123}
124static inline u32 trim_gpc_bcast_clk_cntr_ncgpcclk_cfg_reset_f(u32 v)
125{
126 return (v & 0x1) << 24;
127}
128static inline u32 trim_gpc_bcast_clk_cntr_ncgpcclk_cfg_reset_m(void)
129{
130 return 0x1 << 24;
131}
132static inline u32 trim_gpc_bcast_clk_cntr_ncgpcclk_cfg_reset_v(u32 r)
133{
134 return (r >> 24) & 0x1;
135}
136static inline u32 trim_gpc_bcast_clk_cntr_ncgpcclk_cfg_reset_deasserted_f(void)
137{
138 return 0;
139}
140static inline u32 trim_gpc_bcast_clk_cntr_ncgpcclk_cfg_reset_asserted_f(void)
141{
142 return 0x1000000;
143}
144static inline u32 trim_gpc_bcast_clk_cntr_ncgpcclk_cfg_source_gpc2clk_f(void)
145{
146 return 0x70000000;
147}
148static inline u32 trim_gpc_bcast_clk_cntr_ncgpcclk_cnt_r(void)
149{
150 return 0x00132928;
151}
152static inline u32 trim_fbpa_bcast_clk_cntr_ncltcclk_cfg_r(void)
153{
154 return 0x00132128;
155}
156static inline u32 trim_fbpa_bcast_clk_cntr_ncltcclk_cfg_source_dramdiv4_rec_clk1_f(void)
157{
158 return 0x20000000;
159}
160static inline u32 trim_fbpa_bcast_clk_cntr_ncltcclk_cnt_r(void)
161{
162 return 0x0013212c;
163}
164static inline u32 trim_sys_clk_cntr_ncltcpll_cfg_r(void)
165{
166 return 0x001373c0;
167}
168static inline u32 trim_sys_clk_cntr_ncltcpll_cfg_source_xbar2clk_f(void)
169{
170 return 0x20000000;
171}
172static inline u32 trim_sys_clk_cntr_ncltcpll_cnt_r(void)
173{
174 return 0x001373c4;
175}
176static inline u32 trim_sys_clk_cntr_ncsyspll_cfg_r(void)
177{
178 return 0x001373b0;
179}
180static inline u32 trim_sys_clk_cntr_ncsyspll_cfg_source_sys2clk_f(void)
181{
182 return 0x0;
183}
184static inline u32 trim_sys_clk_cntr_ncsyspll_cnt_r(void)
185{
186 return 0x001373b4;
187}
188
189#endif