1/* SPDX-License-Identifier: MIT */
2#ifndef __NV04_DEVINIT_H__
3#define __NV04_DEVINIT_H__
4#define nv04_devinit(p) container_of((p), struct nv04_devinit, base)
5#include "priv.h"
6struct nvkm_pll_vals;
7
8struct nv04_devinit {
9	struct nvkm_devinit base;
10	int owner;
11};
12
13int nv04_devinit_new_(const struct nvkm_devinit_func *, struct nvkm_device *,
14		      enum nvkm_subdev_type, int, struct nvkm_devinit **);
15void *nv04_devinit_dtor(struct nvkm_devinit *);
16void nv04_devinit_preinit(struct nvkm_devinit *);
17void nv04_devinit_fini(struct nvkm_devinit *);
18int  nv04_devinit_pll_set(struct nvkm_devinit *, u32, u32);
19
20void setPLL_single(struct nvkm_devinit *, u32, struct nvkm_pll_vals *);
21void setPLL_double_highregs(struct nvkm_devinit *, u32, struct nvkm_pll_vals *);
22void setPLL_double_lowregs(struct nvkm_devinit *, u32, struct nvkm_pll_vals *);
23#endif
24