bios.h 708 B

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