Commit | Line | Data |
---|---|---|
b2441318 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
d390b480 BS |
2 | #ifndef __NVKM_BIOS_H__ |
3 | #define __NVKM_BIOS_H__ | |
70c0f263 | 4 | #include <core/subdev.h> |
70c0f263 | 5 | |
d390b480 | 6 | struct nvkm_bios { |
a00014e3 | 7 | struct nvkm_subdev subdev; |
70c0f263 BS |
8 | u32 size; |
9 | u8 *data; | |
10 | ||
2f96e8e3 BS |
11 | u32 image0_size; |
12 | u32 imaged_addr; | |
13 | ||
70c0f263 BS |
14 | u32 bmp_offset; |
15 | u32 bit_offset; | |
16 | ||
17 | struct { | |
18 | u8 major; | |
19 | u8 chip; | |
20 | u8 minor; | |
21 | u8 micro; | |
0dd660d4 | 22 | u8 patch; |
70c0f263 BS |
23 | } version; |
24 | }; | |
25 | ||
70c0f263 BS |
26 | u8 nvbios_checksum(const u8 *data, int size); |
27 | u16 nvbios_findstr(const u8 *data, int size, const char *str, int len); | |
7f5f518f | 28 | int nvbios_memcmp(struct nvkm_bios *, u32 addr, const char *, u32 len); |
4d4e9907 BS |
29 | u8 nvbios_rd08(struct nvkm_bios *, u32 addr); |
30 | u16 nvbios_rd16(struct nvkm_bios *, u32 addr); | |
31 | u32 nvbios_rd32(struct nvkm_bios *, u32 addr); | |
70c0f263 | 32 | |
46484438 | 33 | int nvkm_bios_new(struct nvkm_device *, int, struct nvkm_bios **); |
70c0f263 | 34 | #endif |