1b7019ac5SIlia Mirkin /* SPDX-License-Identifier: MIT */ 2630ec6c0SBen Skeggs #ifndef __NVKM_FUSE_H__ 3630ec6c0SBen Skeggs #define __NVKM_FUSE_H__ 4c39f472eSBen Skeggs #include <core/subdev.h> 5c39f472eSBen Skeggs 6630ec6c0SBen Skeggs struct nvkm_fuse { 77e24c114SBen Skeggs const struct nvkm_fuse_func *func; 8c5fcafa5SBen Skeggs struct nvkm_subdev subdev; 9c5fcafa5SBen Skeggs spinlock_t lock; 107e24c114SBen Skeggs }; 117e24c114SBen Skeggs 12c5fcafa5SBen Skeggs u32 nvkm_fuse_read(struct nvkm_fuse *, u32 addr); 13c39f472eSBen Skeggs 14*8d056d99SBen Skeggs int nv50_fuse_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_fuse **); 15*8d056d99SBen Skeggs int gf100_fuse_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_fuse **); 16*8d056d99SBen Skeggs int gm107_fuse_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_fuse **); 17c39f472eSBen Skeggs #endif 18