1
2#ifndef __NVKM_BIOS_H__
3#define __NVKM_BIOS_H__
4#include <core/subdev.h>
5
6struct nvkm_bios {
7 struct nvkm_subdev subdev;
8 u32 size;
9 u8 *data;
10
11 u32 image0_size;
12 u32 imaged_addr;
13
14 u32 bmp_offset;
15 u32 bit_offset;
16
17 struct {
18 u8 major;
19 u8 chip;
20 u8 minor;
21 u8 micro;
22 u8 patch;
23 } version;
24};
25
26u8 nvbios_checksum(const u8 *data, int size);
27u16 nvbios_findstr(const u8 *data, int size, const char *str, int len);
28int nvbios_memcmp(struct nvkm_bios *, u32 addr, const char *, u32 len);
29u8 nvbios_rd08(struct nvkm_bios *, u32 addr);
30u16 nvbios_rd16(struct nvkm_bios *, u32 addr);
31u32 nvbios_rd32(struct nvkm_bios *, u32 addr);
32
33int nvkm_bios_new(struct nvkm_device *, int, struct nvkm_bios **);
34#endif
35