1/* $NetBSD: M0203.h,v 1.3 2021/12/18 23:45:33 riastradh Exp $ */ 2 3/* SPDX-License-Identifier: MIT */ 4#ifndef __NVBIOS_M0203_H__ 5#define __NVBIOS_M0203_H__ 6struct nvbios_M0203T { 7#define M0203T_TYPE_RAMCFG 0x00 8 u8 type; 9 u16 pointer; 10}; 11 12u32 nvbios_M0203Te(struct nvkm_bios *, u8 *ver, u8 *hdr, u8 *cnt, u8 *len); 13u32 nvbios_M0203Tp(struct nvkm_bios *, u8 *ver, u8 *hdr, u8 *cnt, u8 *len, 14 struct nvbios_M0203T *); 15 16struct nvbios_M0203E { 17#define M0203E_TYPE_DDR2 0x0 18#define M0203E_TYPE_DDR3 0x1 19#define M0203E_TYPE_GDDR3 0x2 20#define M0203E_TYPE_GDDR5 0x3 21#define M0203E_TYPE_HBM2 0x6 22#define M0203E_TYPE_GDDR5X 0x8 23#define M0203E_TYPE_GDDR6 0x9 24#define M0203E_TYPE_SKIP 0xf 25 u8 type; 26 u8 strap; 27 u8 group; 28}; 29 30u32 nvbios_M0203Ee(struct nvkm_bios *, int idx, u8 *ver, u8 *hdr); 31u32 nvbios_M0203Ep(struct nvkm_bios *, int idx, u8 *ver, u8 *hdr, 32 struct nvbios_M0203E *); 33u32 nvbios_M0203Em(struct nvkm_bios *, u8 ramcfg, u8 *ver, u8 *hdr, 34 struct nvbios_M0203E *); 35#endif 36