1 /* SPDX-License-Identifier: MIT */
2 #ifndef __NV50_DEVINIT_H__
3 #define __NV50_DEVINIT_H__
4 #define nv50_devinit(p) container_of((p), struct nv50_devinit, base)
5 #include "priv.h"
6 
7 struct nv50_devinit {
8 	struct nvkm_devinit base;
9 	u32 r001540;
10 };
11 
12 int nv50_devinit_new_(const struct nvkm_devinit_func *, struct nvkm_device *, enum nvkm_subdev_type,
13 		      int, struct nvkm_devinit **);
14 void nv50_devinit_preinit(struct nvkm_devinit *);
15 void nv50_devinit_init(struct nvkm_devinit *);
16 int  nv50_devinit_pll_set(struct nvkm_devinit *, u32, u32);
17 
18 int  gt215_devinit_pll_set(struct nvkm_devinit *, u32, u32);
19 
20 int  gf100_devinit_ctor(struct nvkm_object *, struct nvkm_object *,
21 			struct nvkm_oclass *, void *, u32,
22 			struct nvkm_object **);
23 int  gf100_devinit_pll_set(struct nvkm_devinit *, u32, u32);
24 void gf100_devinit_preinit(struct nvkm_devinit *);
25 
26 u64  gm107_devinit_disable(struct nvkm_devinit *);
27 
28 int gm200_devinit_post(struct nvkm_devinit *, bool);
29 void gm200_devinit_preos(struct nv50_devinit *, bool);
30 #endif
31