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
7struct nv50_devinit {
8	struct nvkm_devinit base;
9	u32 r001540;
10};
11
12int nv50_devinit_new_(const struct nvkm_devinit_func *, struct nvkm_device *, enum nvkm_subdev_type,
13		      int, struct nvkm_devinit **);
14void nv50_devinit_preinit(struct nvkm_devinit *);
15void nv50_devinit_init(struct nvkm_devinit *);
16int  nv50_devinit_pll_set(struct nvkm_devinit *, u32, u32);
17
18int  gt215_devinit_pll_set(struct nvkm_devinit *, u32, u32);
19
20int  gf100_devinit_ctor(struct nvkm_object *, struct nvkm_object *,
21			struct nvkm_oclass *, void *, u32,
22			struct nvkm_object **);
23int  gf100_devinit_pll_set(struct nvkm_devinit *, u32, u32);
24void gf100_devinit_preinit(struct nvkm_devinit *);
25
26void  gm107_devinit_disable(struct nvkm_devinit *);
27
28int gm200_devinit_post(struct nvkm_devinit *, bool);
29void gm200_devinit_preos(struct nv50_devinit *, bool);
30#endif
31