brintos

brintos / linux-shallow public Read only

0
0
Text · 4.2 KiB · 153edf8 Raw
165 lines · c
1/* SPDX-License-Identifier: MIT */2#ifndef __NVBIOS_RAMCFG_H__3#define __NVBIOS_RAMCFG_H__4struct nvbios_ramcfg {5	unsigned rammap_ver;6	unsigned rammap_hdr;7	unsigned rammap_min;8	unsigned rammap_max;9	union {10		struct {11			unsigned rammap_00_16_20:1;12			unsigned rammap_00_16_40:1;13			unsigned rammap_00_17_02:1;14		};15		struct {16			unsigned rammap_10_04_02:1;17			unsigned rammap_10_04_08:1;18		};19		struct {20			unsigned rammap_11_08_01:1;21			unsigned rammap_11_08_0c:2;22			unsigned rammap_11_08_10:1;23			unsigned rammap_11_09_01ff:9;24			unsigned rammap_11_0a_03fe:9;25			unsigned rammap_11_0a_0400:1;26			unsigned rammap_11_0a_0800:1;27			unsigned rammap_11_0b_01f0:5;28			unsigned rammap_11_0b_0200:1;29			unsigned rammap_11_0b_0400:1;30			unsigned rammap_11_0b_0800:1;31			unsigned rammap_11_0d:8;32			unsigned rammap_11_0e:8;33			unsigned rammap_11_0f:8;34			unsigned rammap_11_11_0c:2;35		};36	};37 38	unsigned ramcfg_ver;39	unsigned ramcfg_hdr;40	unsigned ramcfg_timing;41	unsigned ramcfg_DLLoff;42	unsigned ramcfg_RON;43	unsigned ramcfg_FBVDDQ;44	union {45		struct {46			unsigned ramcfg_00_03_01:1;47			unsigned ramcfg_00_03_02:1;48			unsigned ramcfg_00_03_08:1;49			unsigned ramcfg_00_03_10:1;50			unsigned ramcfg_00_04_02:1;51			unsigned ramcfg_00_04_04:1;52			unsigned ramcfg_00_04_20:1;53			unsigned ramcfg_00_05:8;54			unsigned ramcfg_00_06:8;55			unsigned ramcfg_00_07:8;56			unsigned ramcfg_00_08:8;57			unsigned ramcfg_00_09:8;58			unsigned ramcfg_00_0a_0f:4;59			unsigned ramcfg_00_0a_f0:4;60		};61		struct {62			unsigned ramcfg_10_02_01:1;63			unsigned ramcfg_10_02_02:1;64			unsigned ramcfg_10_02_04:1;65			unsigned ramcfg_10_02_08:1;66			unsigned ramcfg_10_02_10:1;67			unsigned ramcfg_10_02_20:1;68			unsigned ramcfg_10_03_0f:4;69			unsigned ramcfg_10_04_01:1;70			unsigned ramcfg_10_05:8;71			unsigned ramcfg_10_06:8;72			unsigned ramcfg_10_07:8;73			unsigned ramcfg_10_08:8;74			unsigned ramcfg_10_09_0f:4;75			unsigned ramcfg_10_09_f0:4;76		};77		struct {78			unsigned ramcfg_11_01_01:1;79			unsigned ramcfg_11_01_02:1;80			unsigned ramcfg_11_01_04:1;81			unsigned ramcfg_11_01_08:1;82			unsigned ramcfg_11_01_10:1;83			unsigned ramcfg_11_01_40:1;84			unsigned ramcfg_11_01_80:1;85			unsigned ramcfg_11_02_03:2;86			unsigned ramcfg_11_02_04:1;87			unsigned ramcfg_11_02_08:1;88			unsigned ramcfg_11_02_10:1;89			unsigned ramcfg_11_02_40:1;90			unsigned ramcfg_11_02_80:1;91			unsigned ramcfg_11_03_0f:4;92			unsigned ramcfg_11_03_30:2;93			unsigned ramcfg_11_03_c0:2;94			unsigned ramcfg_11_03_f0:4;95			unsigned ramcfg_11_04:8;96			unsigned ramcfg_11_06:8;97			unsigned ramcfg_11_07_02:1;98			unsigned ramcfg_11_07_04:1;99			unsigned ramcfg_11_07_08:1;100			unsigned ramcfg_11_07_10:1;101			unsigned ramcfg_11_07_40:1;102			unsigned ramcfg_11_07_80:1;103			unsigned ramcfg_11_08_01:1;104			unsigned ramcfg_11_08_02:1;105			unsigned ramcfg_11_08_04:1;106			unsigned ramcfg_11_08_08:1;107			unsigned ramcfg_11_08_10:1;108			unsigned ramcfg_11_08_20:1;109			unsigned ramcfg_11_09:8;110		};111	};112 113	unsigned timing_ver;114	unsigned timing_hdr;115	unsigned timing[11];116	union {117		struct {118			unsigned timing_10_WR:8;119			unsigned timing_10_WTR:8;120			unsigned timing_10_CL:8;121			unsigned timing_10_RC:8;122			/*empty: 4 */123			unsigned timing_10_RFC:8;        /* Byte 5 */124			/*empty: 6 */125			unsigned timing_10_RAS:8;        /* Byte 7 */126			/*empty: 8 */127			unsigned timing_10_RP:8;         /* Byte 9 */128			unsigned timing_10_RCDRD:8;129			unsigned timing_10_RCDWR:8;130			unsigned timing_10_RRD:8;131			unsigned timing_10_13:8;132			unsigned timing_10_ODT:3;133			/* empty: 15 */134			unsigned timing_10_16:8;135			/* empty: 17 */136			unsigned timing_10_18:8;137			unsigned timing_10_CWL:8;138			unsigned timing_10_20:8;139			unsigned timing_10_21:8;140			/* empty: 22, 23 */141			unsigned timing_10_24:8;142		};143		struct {144			unsigned timing_20_2e_03:2;145			unsigned timing_20_2e_30:2;146			unsigned timing_20_2e_c0:2;147			unsigned timing_20_2f_03:2;148			unsigned timing_20_2c_003f:6;149			unsigned timing_20_2c_1fc0:7;150			unsigned timing_20_30_f8:5;151			unsigned timing_20_30_07:3;152			unsigned timing_20_31_0007:3;153			unsigned timing_20_31_0078:4;154			unsigned timing_20_31_0780:4;155			unsigned timing_20_31_0800:1;156			unsigned timing_20_31_7000:3;157			unsigned timing_20_31_8000:1;158		};159	};160};161 162u8 nvbios_ramcfg_count(struct nvkm_bios *);163u8 nvbios_ramcfg_index(struct nvkm_subdev *);164#endif165