devinit.h revision 1.3
1/*	$NetBSD: devinit.h,v 1.3 2021/12/18 23:45:33 riastradh Exp $	*/
2
3/* SPDX-License-Identifier: MIT */
4#ifndef __NVKM_DEVINIT_H__
5#define __NVKM_DEVINIT_H__
6#include <core/subdev.h>
7struct nvkm_devinit;
8
9struct nvkm_devinit {
10	const struct nvkm_devinit_func *func;
11	struct nvkm_subdev subdev;
12	bool post;
13	bool force_post;
14};
15
16u32 nvkm_devinit_mmio(struct nvkm_devinit *, u32 addr);
17int nvkm_devinit_pll_set(struct nvkm_devinit *, u32 type, u32 khz);
18void nvkm_devinit_meminit(struct nvkm_devinit *);
19u64 nvkm_devinit_disable(struct nvkm_devinit *);
20int nvkm_devinit_post(struct nvkm_devinit *, u64 *disable);
21
22int nv04_devinit_new(struct nvkm_device *, int, struct nvkm_devinit **);
23int nv05_devinit_new(struct nvkm_device *, int, struct nvkm_devinit **);
24int nv10_devinit_new(struct nvkm_device *, int, struct nvkm_devinit **);
25int nv1a_devinit_new(struct nvkm_device *, int, struct nvkm_devinit **);
26int nv20_devinit_new(struct nvkm_device *, int, struct nvkm_devinit **);
27int nv50_devinit_new(struct nvkm_device *, int, struct nvkm_devinit **);
28int g84_devinit_new(struct nvkm_device *, int, struct nvkm_devinit **);
29int g98_devinit_new(struct nvkm_device *, int, struct nvkm_devinit **);
30int gt215_devinit_new(struct nvkm_device *, int, struct nvkm_devinit **);
31int mcp89_devinit_new(struct nvkm_device *, int, struct nvkm_devinit **);
32int gf100_devinit_new(struct nvkm_device *, int, struct nvkm_devinit **);
33int gm107_devinit_new(struct nvkm_device *, int, struct nvkm_devinit **);
34int gm200_devinit_new(struct nvkm_device *, int, struct nvkm_devinit **);
35int gv100_devinit_new(struct nvkm_device *, int, struct nvkm_devinit **);
36int tu102_devinit_new(struct nvkm_device *, int, struct nvkm_devinit **);
37#endif
38