Home | History | Annotate | Line # | Download | only in subdev
      1 /*	$NetBSD: bios.h,v 1.3 2021/12/18 23:45:33 riastradh Exp $	*/
      2 
      3 /* SPDX-License-Identifier: MIT */
      4 #ifndef __NVKM_BIOS_H__
      5 #define __NVKM_BIOS_H__
      6 #include <core/subdev.h>
      7 
      8 struct nvkm_bios {
      9 	struct nvkm_subdev subdev;
     10 	u32 size;
     11 	u8 *data;
     12 
     13 	u32 image0_size;
     14 	u32 imaged_addr;
     15 
     16 	u32 bmp_offset;
     17 	u32 bit_offset;
     18 
     19 	struct {
     20 		u8 major;
     21 		u8 chip;
     22 		u8 minor;
     23 		u8 micro;
     24 		u8 patch;
     25 	} version;
     26 };
     27 
     28 u8  nvbios_checksum(const u8 *data, int size);
     29 u16 nvbios_findstr(const u8 *data, int size, const char *str, int len);
     30 int nvbios_memcmp(struct nvkm_bios *, u32 addr, const char *, u32 len);
     31 u8  nvbios_rd08(struct nvkm_bios *, u32 addr);
     32 u16 nvbios_rd16(struct nvkm_bios *, u32 addr);
     33 u32 nvbios_rd32(struct nvkm_bios *, u32 addr);
     34 
     35 int nvkm_bios_new(struct nvkm_device *, int, struct nvkm_bios **);
     36 #endif
     37