summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gm20b/clk_gm20b.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/gm20b/clk_gm20b.h')
-rw-r--r--drivers/gpu/nvgpu/gm20b/clk_gm20b.h44
1 files changed, 44 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gm20b/clk_gm20b.h b/drivers/gpu/nvgpu/gm20b/clk_gm20b.h
index f7912345..1e06d651 100644
--- a/drivers/gpu/nvgpu/gm20b/clk_gm20b.h
+++ b/drivers/gpu/nvgpu/gm20b/clk_gm20b.h
@@ -21,6 +21,35 @@
21 21
22#include <nvgpu/lock.h> 22#include <nvgpu/lock.h>
23 23
24struct nvgpu_clk_pll_debug_data {
25 u32 trim_sys_sel_vco_reg;
26 u32 trim_sys_sel_vco_val;
27
28 u32 trim_sys_gpc2clk_out_reg;
29 u32 trim_sys_gpc2clk_out_val;
30
31 u32 trim_sys_bypassctrl_reg;
32 u32 trim_sys_bypassctrl_val;
33
34 u32 trim_sys_gpcpll_cfg_reg;
35 u32 trim_sys_gpcpll_dvfs2_reg;
36
37 u32 trim_sys_gpcpll_cfg_val;
38 bool trim_sys_gpcpll_cfg_enabled;
39 bool trim_sys_gpcpll_cfg_locked;
40 bool trim_sys_gpcpll_cfg_sync_on;
41
42 u32 trim_sys_gpcpll_coeff_val;
43 u32 trim_sys_gpcpll_coeff_mdiv;
44 u32 trim_sys_gpcpll_coeff_ndiv;
45 u32 trim_sys_gpcpll_coeff_pldiv;
46
47 u32 trim_sys_gpcpll_dvfs0_val;
48 u32 trim_sys_gpcpll_dvfs0_dfs_coeff;
49 u32 trim_sys_gpcpll_dvfs0_dfs_det_max;
50 u32 trim_sys_gpcpll_dvfs0_dfs_dc_offset;
51};
52
24void gm20b_init_clk_ops(struct gpu_ops *gops); 53void gm20b_init_clk_ops(struct gpu_ops *gops);
25 54
26int gm20b_init_clk_setup_sw(struct gk20a *g); 55int gm20b_init_clk_setup_sw(struct gk20a *g);
@@ -33,5 +62,20 @@ int gm20b_gpcclk_set_rate(struct clk_gk20a *clk, unsigned long rate,
33 unsigned long parent_rate); 62 unsigned long parent_rate);
34long gm20b_round_rate(struct clk_gk20a *clk, unsigned long rate, 63long gm20b_round_rate(struct clk_gk20a *clk, unsigned long rate,
35 unsigned long *parent_rate); 64 unsigned long *parent_rate);
65struct pll_parms *gm20b_get_gpc_pll_parms(void);
66#ifdef CONFIG_DEBUG_FS
67int gm20b_clk_init_debugfs(struct gk20a *g);
68#endif
69
70/* 1:1 match between post divider settings and divisor value */
71static inline u32 nvgpu_pl_to_div(u32 pl)
72{
73 return pl;
74}
75
76static inline u32 nvgpu_div_to_pl(u32 div)
77{
78 return div;
79}
36 80
37#endif /* _NVHOST_CLK_GM20B_H_ */ 81#endif /* _NVHOST_CLK_GM20B_H_ */