• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #ifndef __NVBIOS_RAMCFG_H__
2 #define __NVBIOS_RAMCFG_H__
3 
4 struct nouveau_bios;
5 
6 struct nvbios_ramcfg {
7 	unsigned rammap_ver;
8 	unsigned rammap_hdr;
9 	unsigned rammap_min;
10 	unsigned rammap_max;
11 	union {
12 		struct {
13 			unsigned rammap_10_04_02:1;
14 			unsigned rammap_10_04_08:1;
15 		};
16 		struct {
17 			unsigned rammap_11_08_01:1;
18 			unsigned rammap_11_08_0c:2;
19 			unsigned rammap_11_08_10:1;
20 			unsigned rammap_11_09_01ff:9;
21 			unsigned rammap_11_0a_03fe:9;
22 			unsigned rammap_11_0a_0400:1;
23 			unsigned rammap_11_0a_0800:1;
24 			unsigned rammap_11_0b_01f0:5;
25 			unsigned rammap_11_0b_0200:1;
26 			unsigned rammap_11_0b_0400:1;
27 			unsigned rammap_11_0b_0800:1;
28 			unsigned rammap_11_0d:8;
29 			unsigned rammap_11_0e:8;
30 			unsigned rammap_11_0f:8;
31 			unsigned rammap_11_11_0c:2;
32 		};
33 	};
34 
35 	unsigned ramcfg_ver;
36 	unsigned ramcfg_hdr;
37 	unsigned ramcfg_timing;
38 	union {
39 		struct {
40 			unsigned ramcfg_10_02_01:1;
41 			unsigned ramcfg_10_02_02:1;
42 			unsigned ramcfg_10_02_04:1;
43 			unsigned ramcfg_10_02_08:1;
44 			unsigned ramcfg_10_02_10:1;
45 			unsigned ramcfg_10_02_20:1;
46 			unsigned ramcfg_10_02_40:1;
47 			unsigned ramcfg_10_03_0f:4;
48 			unsigned ramcfg_10_05:8;
49 			unsigned ramcfg_10_06:8;
50 			unsigned ramcfg_10_07:8;
51 			unsigned ramcfg_10_08:8;
52 			unsigned ramcfg_10_09_0f:4;
53 			unsigned ramcfg_10_09_f0:4;
54 		};
55 		struct {
56 			unsigned ramcfg_11_01_01:1;
57 			unsigned ramcfg_11_01_02:1;
58 			unsigned ramcfg_11_01_04:1;
59 			unsigned ramcfg_11_01_08:1;
60 			unsigned ramcfg_11_01_10:1;
61 			unsigned ramcfg_11_01_20:1;
62 			unsigned ramcfg_11_01_40:1;
63 			unsigned ramcfg_11_01_80:1;
64 			unsigned ramcfg_11_02_03:2;
65 			unsigned ramcfg_11_02_04:1;
66 			unsigned ramcfg_11_02_08:1;
67 			unsigned ramcfg_11_02_10:1;
68 			unsigned ramcfg_11_02_40:1;
69 			unsigned ramcfg_11_02_80:1;
70 			unsigned ramcfg_11_03_0f:4;
71 			unsigned ramcfg_11_03_30:2;
72 			unsigned ramcfg_11_03_c0:2;
73 			unsigned ramcfg_11_03_f0:4;
74 			unsigned ramcfg_11_04:8;
75 			unsigned ramcfg_11_06:8;
76 			unsigned ramcfg_11_07_02:1;
77 			unsigned ramcfg_11_07_04:1;
78 			unsigned ramcfg_11_07_08:1;
79 			unsigned ramcfg_11_07_10:1;
80 			unsigned ramcfg_11_07_40:1;
81 			unsigned ramcfg_11_07_80:1;
82 			unsigned ramcfg_11_08_01:1;
83 			unsigned ramcfg_11_08_02:1;
84 			unsigned ramcfg_11_08_04:1;
85 			unsigned ramcfg_11_08_08:1;
86 			unsigned ramcfg_11_08_10:1;
87 			unsigned ramcfg_11_08_20:1;
88 			unsigned ramcfg_11_09:8;
89 		};
90 	};
91 
92 	unsigned timing_ver;
93 	unsigned timing_hdr;
94 	unsigned timing[11];
95 	union {
96 		struct {
97 			unsigned timing_10_WR:8;
98 			unsigned timing_10_CL:8;
99 			unsigned timing_10_ODT:3;
100 			unsigned timing_10_CWL:8;
101 		};
102 		struct {
103 			unsigned timing_20_2e_03:2;
104 			unsigned timing_20_2e_30:2;
105 			unsigned timing_20_2e_c0:2;
106 			unsigned timing_20_2f_03:2;
107 			unsigned timing_20_2c_003f:6;
108 			unsigned timing_20_2c_1fc0:7;
109 			unsigned timing_20_30_f8:5;
110 			unsigned timing_20_30_07:3;
111 			unsigned timing_20_31_0007:3;
112 			unsigned timing_20_31_0078:4;
113 			unsigned timing_20_31_0780:4;
114 			unsigned timing_20_31_0800:1;
115 			unsigned timing_20_31_7000:3;
116 			unsigned timing_20_31_8000:1;
117 		};
118 	};
119 };
120 
121 u8 nvbios_ramcfg_count(struct nouveau_bios *);
122 u8 nvbios_ramcfg_index(struct nouveau_subdev *);
123 
124 #endif
125