File Index
Files and directories
Sign in
FILE

ramcfg.h

File preview with syntax highlighting.

linux-6.19.14/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/ramcfg.h 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#endif
~/ Read-only file preview.