Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: MIT */
0002 #ifndef __NVBIOS_RAMCFG_H__
0003 #define __NVBIOS_RAMCFG_H__
0004 struct nvbios_ramcfg {
0005     unsigned rammap_ver;
0006     unsigned rammap_hdr;
0007     unsigned rammap_min;
0008     unsigned rammap_max;
0009     union {
0010         struct {
0011             unsigned rammap_00_16_20:1;
0012             unsigned rammap_00_16_40:1;
0013             unsigned rammap_00_17_02:1;
0014         };
0015         struct {
0016             unsigned rammap_10_04_02:1;
0017             unsigned rammap_10_04_08:1;
0018         };
0019         struct {
0020             unsigned rammap_11_08_01:1;
0021             unsigned rammap_11_08_0c:2;
0022             unsigned rammap_11_08_10:1;
0023             unsigned rammap_11_09_01ff:9;
0024             unsigned rammap_11_0a_03fe:9;
0025             unsigned rammap_11_0a_0400:1;
0026             unsigned rammap_11_0a_0800:1;
0027             unsigned rammap_11_0b_01f0:5;
0028             unsigned rammap_11_0b_0200:1;
0029             unsigned rammap_11_0b_0400:1;
0030             unsigned rammap_11_0b_0800:1;
0031             unsigned rammap_11_0d:8;
0032             unsigned rammap_11_0e:8;
0033             unsigned rammap_11_0f:8;
0034             unsigned rammap_11_11_0c:2;
0035         };
0036     };
0037 
0038     unsigned ramcfg_ver;
0039     unsigned ramcfg_hdr;
0040     unsigned ramcfg_timing;
0041     unsigned ramcfg_DLLoff;
0042     unsigned ramcfg_RON;
0043     unsigned ramcfg_FBVDDQ;
0044     union {
0045         struct {
0046             unsigned ramcfg_00_03_01:1;
0047             unsigned ramcfg_00_03_02:1;
0048             unsigned ramcfg_00_03_08:1;
0049             unsigned ramcfg_00_03_10:1;
0050             unsigned ramcfg_00_04_02:1;
0051             unsigned ramcfg_00_04_04:1;
0052             unsigned ramcfg_00_04_20:1;
0053             unsigned ramcfg_00_05:8;
0054             unsigned ramcfg_00_06:8;
0055             unsigned ramcfg_00_07:8;
0056             unsigned ramcfg_00_08:8;
0057             unsigned ramcfg_00_09:8;
0058             unsigned ramcfg_00_0a_0f:4;
0059             unsigned ramcfg_00_0a_f0:4;
0060         };
0061         struct {
0062             unsigned ramcfg_10_02_01:1;
0063             unsigned ramcfg_10_02_02:1;
0064             unsigned ramcfg_10_02_04:1;
0065             unsigned ramcfg_10_02_08:1;
0066             unsigned ramcfg_10_02_10:1;
0067             unsigned ramcfg_10_02_20:1;
0068             unsigned ramcfg_10_03_0f:4;
0069             unsigned ramcfg_10_04_01:1;
0070             unsigned ramcfg_10_05:8;
0071             unsigned ramcfg_10_06:8;
0072             unsigned ramcfg_10_07:8;
0073             unsigned ramcfg_10_08:8;
0074             unsigned ramcfg_10_09_0f:4;
0075             unsigned ramcfg_10_09_f0:4;
0076         };
0077         struct {
0078             unsigned ramcfg_11_01_01:1;
0079             unsigned ramcfg_11_01_02:1;
0080             unsigned ramcfg_11_01_04:1;
0081             unsigned ramcfg_11_01_08:1;
0082             unsigned ramcfg_11_01_10:1;
0083             unsigned ramcfg_11_01_40:1;
0084             unsigned ramcfg_11_01_80:1;
0085             unsigned ramcfg_11_02_03:2;
0086             unsigned ramcfg_11_02_04:1;
0087             unsigned ramcfg_11_02_08:1;
0088             unsigned ramcfg_11_02_10:1;
0089             unsigned ramcfg_11_02_40:1;
0090             unsigned ramcfg_11_02_80:1;
0091             unsigned ramcfg_11_03_0f:4;
0092             unsigned ramcfg_11_03_30:2;
0093             unsigned ramcfg_11_03_c0:2;
0094             unsigned ramcfg_11_03_f0:4;
0095             unsigned ramcfg_11_04:8;
0096             unsigned ramcfg_11_06:8;
0097             unsigned ramcfg_11_07_02:1;
0098             unsigned ramcfg_11_07_04:1;
0099             unsigned ramcfg_11_07_08:1;
0100             unsigned ramcfg_11_07_10:1;
0101             unsigned ramcfg_11_07_40:1;
0102             unsigned ramcfg_11_07_80:1;
0103             unsigned ramcfg_11_08_01:1;
0104             unsigned ramcfg_11_08_02:1;
0105             unsigned ramcfg_11_08_04:1;
0106             unsigned ramcfg_11_08_08:1;
0107             unsigned ramcfg_11_08_10:1;
0108             unsigned ramcfg_11_08_20:1;
0109             unsigned ramcfg_11_09:8;
0110         };
0111     };
0112 
0113     unsigned timing_ver;
0114     unsigned timing_hdr;
0115     unsigned timing[11];
0116     union {
0117         struct {
0118             unsigned timing_10_WR:8;
0119             unsigned timing_10_WTR:8;
0120             unsigned timing_10_CL:8;
0121             unsigned timing_10_RC:8;
0122             /*empty: 4 */
0123             unsigned timing_10_RFC:8;        /* Byte 5 */
0124             /*empty: 6 */
0125             unsigned timing_10_RAS:8;        /* Byte 7 */
0126             /*empty: 8 */
0127             unsigned timing_10_RP:8;         /* Byte 9 */
0128             unsigned timing_10_RCDRD:8;
0129             unsigned timing_10_RCDWR:8;
0130             unsigned timing_10_RRD:8;
0131             unsigned timing_10_13:8;
0132             unsigned timing_10_ODT:3;
0133             /* empty: 15 */
0134             unsigned timing_10_16:8;
0135             /* empty: 17 */
0136             unsigned timing_10_18:8;
0137             unsigned timing_10_CWL:8;
0138             unsigned timing_10_20:8;
0139             unsigned timing_10_21:8;
0140             /* empty: 22, 23 */
0141             unsigned timing_10_24:8;
0142         };
0143         struct {
0144             unsigned timing_20_2e_03:2;
0145             unsigned timing_20_2e_30:2;
0146             unsigned timing_20_2e_c0:2;
0147             unsigned timing_20_2f_03:2;
0148             unsigned timing_20_2c_003f:6;
0149             unsigned timing_20_2c_1fc0:7;
0150             unsigned timing_20_30_f8:5;
0151             unsigned timing_20_30_07:3;
0152             unsigned timing_20_31_0007:3;
0153             unsigned timing_20_31_0078:4;
0154             unsigned timing_20_31_0780:4;
0155             unsigned timing_20_31_0800:1;
0156             unsigned timing_20_31_7000:3;
0157             unsigned timing_20_31_8000:1;
0158         };
0159     };
0160 };
0161 
0162 u8 nvbios_ramcfg_count(struct nvkm_bios *);
0163 u8 nvbios_ramcfg_index(struct nvkm_subdev *);
0164 #endif