xref: /linux/drivers/gpu/drm/nouveau/nvkm/subdev/clk/nv50.h (revision e0bf6c5ca2d3281f231c5f0c9bf145e9513644de)
1 #ifndef __NVKM_CLK_NV50_H__
2 #define __NVKM_CLK_NV50_H__
3 #include <subdev/bus/hwsq.h>
4 #include <subdev/clk.h>
5 
6 struct nv50_clk_hwsq {
7 	struct hwsq base;
8 	struct hwsq_reg r_fifo;
9 	struct hwsq_reg r_spll[2];
10 	struct hwsq_reg r_nvpll[2];
11 	struct hwsq_reg r_divs;
12 	struct hwsq_reg r_mast;
13 };
14 
15 struct nv50_clk_priv {
16 	struct nvkm_clk base;
17 	struct nv50_clk_hwsq hwsq;
18 };
19 
20 int  nv50_clk_ctor(struct nvkm_object *, struct nvkm_object *,
21 		     struct nvkm_oclass *, void *, u32,
22 		     struct nvkm_object **);
23 
24 struct nv50_clk_oclass {
25 	struct nvkm_oclass base;
26 	struct nvkm_domain *domains;
27 };
28 #endif
29