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