| /* SPDX-License-Identifier: MIT */ |
| #ifndef __NVKM_DEVINIT_H__ |
| #define __NVKM_DEVINIT_H__ |
| #include <core/subdev.h> |
| struct nvkm_devinit; |
| |
| struct nvkm_devinit { |
| const struct nvkm_devinit_func *func; |
| struct nvkm_subdev subdev; |
| bool post; |
| bool force_post; |
| }; |
| |
| u32 nvkm_devinit_mmio(struct nvkm_devinit *, u32 addr); |
| int nvkm_devinit_pll_set(struct nvkm_devinit *, u32 type, u32 khz); |
| void nvkm_devinit_meminit(struct nvkm_devinit *); |
| int nvkm_devinit_post(struct nvkm_devinit *); |
| |
| int nv04_devinit_new(struct nvkm_device *, enum nvkm_subdev_type, int, struct nvkm_devinit **); |
| int nv05_devinit_new(struct nvkm_device *, enum nvkm_subdev_type, int, struct nvkm_devinit **); |
| int nv10_devinit_new(struct nvkm_device *, enum nvkm_subdev_type, int, struct nvkm_devinit **); |
| int nv1a_devinit_new(struct nvkm_device *, enum nvkm_subdev_type, int, struct nvkm_devinit **); |
| int nv20_devinit_new(struct nvkm_device *, enum nvkm_subdev_type, int, struct nvkm_devinit **); |
| int nv50_devinit_new(struct nvkm_device *, enum nvkm_subdev_type, int, struct nvkm_devinit **); |
| int g84_devinit_new(struct nvkm_device *, enum nvkm_subdev_type, int, struct nvkm_devinit **); |
| int g98_devinit_new(struct nvkm_device *, enum nvkm_subdev_type, int, struct nvkm_devinit **); |
| int gt215_devinit_new(struct nvkm_device *, enum nvkm_subdev_type, int, struct nvkm_devinit **); |
| int mcp89_devinit_new(struct nvkm_device *, enum nvkm_subdev_type, int, struct nvkm_devinit **); |
| int gf100_devinit_new(struct nvkm_device *, enum nvkm_subdev_type, int, struct nvkm_devinit **); |
| int gm107_devinit_new(struct nvkm_device *, enum nvkm_subdev_type, int, struct nvkm_devinit **); |
| int gm200_devinit_new(struct nvkm_device *, enum nvkm_subdev_type, int, struct nvkm_devinit **); |
| int gv100_devinit_new(struct nvkm_device *, enum nvkm_subdev_type, int, struct nvkm_devinit **); |
| int tu102_devinit_new(struct nvkm_device *, enum nvkm_subdev_type, int, struct nvkm_devinit **); |
| int ga100_devinit_new(struct nvkm_device *, enum nvkm_subdev_type, int, struct nvkm_devinit **); |
| #endif |