coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
mc.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #ifndef __SOC_NVIDIA_TEGRA124_MC_H__
4 #define __SOC_NVIDIA_TEGRA124_MC_H__
5 
6 #include <stddef.h>
7 #include <stdint.h>
8 
9 // Memory Controller registers we need/care about
10 
11 struct tegra_mc_regs {
12  uint32_t rsvd_0x0[4]; /* 0x00 */
13  uint32_t smmu_config; /* 0x10 */
16  uint32_t smmu_ptb_asid; /* 0x1c */
17  uint32_t smmu_ptb_data; /* 0x20 */
18  uint32_t rsvd_0x24[3]; /* 0x24 */
21  uint32_t rsvd_0x38[6]; /* 0x38 */
22  uint32_t emem_cfg; /* 0x50 */
23  uint32_t emem_adr_cfg; /* 0x54 */
26  uint32_t rsvd_0x60[1]; /* 0x60 */
30  uint32_t rsvd_0x70[8]; /* 0x70 */
31  uint32_t emem_arb_cfg; /* 0x90 */
45  uint32_t rsvd_0xc8[2]; /* 0xc8 */
53  uint32_t emem_arb_rsv; /* 0xec */
54  uint32_t rsvd_0xf0[1]; /* 0xf0 */
58  uint32_t stat_control; /* 0x100 */
59  uint32_t rsvd_0x104[65]; /* 0x104 */
63  uint32_t rsvd_0x214[38]; /* 0x214 */
65  uint32_t rsvd_0x2b0[90]; /* 0x2b0 */
67  uint32_t rsvd_0x41c[93]; /* 0x41c */
69  uint32_t rsvd_0x594[29]; /* 0x594 */
71  uint32_t rsvd_0x60c[15]; /* 0x60c */
75  uint32_t rsvd_0x654[4]; /* 0x654 */
77  uint32_t rsvd_0x668[2]; /* 0x668 */
81  uint32_t rsvd_0x67c[187]; /* 0x67c */
83  uint32_t rsvd_0x96c[3]; /* 0x96c */
85  uint32_t rsvd_0x97c[2]; /* 0x97c */
88  uint32_t rsvd_0x98c[5]; /* 0x98c */
93  uint32_t rsvd_0x9b0[4]; /* 0x9b0 */
98  uint32_t rsvd_0x9d0[1]; /* 0x9d0 */
100 };
101 
102 enum {
105 
108 
110 
112 };
113 
114 check_member(tegra_mc_regs, sec_carveout_adr_hi, 0x9d4);
115 
116 #endif /* __SOC_NVIDIA_TEGRA124_MC_H__ */
unsigned int uint32_t
Definition: stdint.h:14
uint32_t rsvd_0x2b0[90]
Definition: mc.h:65
uint32_t emem_adr_cfg
Definition: mc.h:23
uint32_t smmu_ptb_data
Definition: mc.h:17
uint32_t display_snap_ring
Definition: mc.h:70
uint32_t rsvd_0x60[1]
Definition: mc.h:26
uint32_t rsvd_0x60c[15]
Definition: mc.h:71
uint32_t emem_arb_isochronous_0
Definition: mc.h:60
uint32_t emem_arb_timing_rcd
Definition: mc.h:33
uint32_t emem_cfg_access_ctrl
Definition: mc.h:76
uint32_t rsvd_0x24[3]
Definition: mc.h:18
uint32_t video_protect_size_mb
Definition: mc.h:73
uint32_t rsvd_0x0[4]
Definition: mc.h:12
uint32_t rsvd_0x668[2]
Definition: mc.h:77
uint32_t timing_control_dbg
Definition: mc.h:56
uint32_t emem_arb_isochronous_2
Definition: mc.h:62
uint32_t emem_arb_timing_rap2pre
Definition: mc.h:39
uint32_t rsvd_0x9b0[4]
Definition: mc.h:93
uint32_t sec_carveout_size_mb
Definition: mc.h:79
uint32_t emem_arb_timing_r2r
Definition: mc.h:41
uint32_t smmu_ptb_asid
Definition: mc.h:16
uint32_t emem_arb_override
Definition: mc.h:52
uint32_t emem_arb_ring3_throttle
Definition: mc.h:51
uint32_t smmu_ptc_flush
Definition: mc.h:20
uint32_t rsvd_0x38[6]
Definition: mc.h:21
uint32_t video_protect_vpr_override
Definition: mc.h:66
uint32_t emem_arb_outstanding_req
Definition: mc.h:32
uint32_t mts_carveout_adr_hi
Definition: mc.h:91
uint32_t smmu_config
Definition: mc.h:13
uint32_t video_protect_bom_adr_hi
Definition: mc.h:84
uint32_t sec_carveout_reg_ctrl
Definition: mc.h:80
uint32_t smmu_ptc_config
Definition: mc.h:15
uint32_t rsvd_0x67c[187]
Definition: mc.h:81
uint32_t emem_adr_cfg_dev1
Definition: mc.h:25
uint32_t rsvd_0x104[65]
Definition: mc.h:59
uint32_t rsvd_0x98c[5]
Definition: mc.h:88
uint32_t emem_adr_cfg_dev0
Definition: mc.h:24
uint32_t emem_adr_cfg_bank_mask_1
Definition: mc.h:28
uint32_t emem_bank_swizzle_cfg0
Definition: mc.h:94
uint32_t rsvd_0x97c[2]
Definition: mc.h:85
uint32_t rsvd_0xc8[2]
Definition: mc.h:45
uint32_t emem_cfg
Definition: mc.h:22
uint32_t emem_arb_timing_ras
Definition: mc.h:36
uint32_t rsvd_0x70[8]
Definition: mc.h:30
uint32_t video_protect_gpu_override_0
Definition: mc.h:86
uint32_t video_protect_bom
Definition: mc.h:72
uint32_t stat_control
Definition: mc.h:58
uint32_t emem_arb_timing_rc
Definition: mc.h:35
uint32_t smmu_tlb_flush
Definition: mc.h:19
uint32_t emem_arb_isochronous_1
Definition: mc.h:61
uint32_t emem_adr_cfg_bank_mask_0
Definition: mc.h:27
uint32_t emem_adr_cfg_bank_mask_2
Definition: mc.h:29
uint32_t emem_arb_rsv
Definition: mc.h:53
uint32_t emem_arb_timing_w2w
Definition: mc.h:42
uint32_t emem_arb_cfg
Definition: mc.h:31
uint32_t emem_arb_ring1_throttle
Definition: mc.h:50
uint32_t rsvd_0x594[29]
Definition: mc.h:69
uint32_t clken_override
Definition: mc.h:55
uint32_t rsvd_0x41c[93]
Definition: mc.h:67
uint32_t timing_control
Definition: mc.h:57
uint32_t emem_bank_swizzle_cfg1
Definition: mc.h:95
uint32_t emem_arb_da_turns
Definition: mc.h:46
uint32_t emem_bank_swizzle_cfg3
Definition: mc.h:97
uint32_t video_protect_gpu_override_1
Definition: mc.h:87
uint32_t emem_arb_misc1
Definition: mc.h:49
uint32_t mts_carveout_reg_ctrl
Definition: mc.h:92
uint32_t emem_arb_override_1
Definition: mc.h:82
uint32_t emem_arb_da_covers
Definition: mc.h:47
uint32_t video_protect_vpr_override1
Definition: mc.h:68
uint32_t rsvd_0x9d0[1]
Definition: mc.h:98
uint32_t mts_carveout_bom
Definition: mc.h:89
uint32_t emem_bank_swizzle_cfg2
Definition: mc.h:96
uint32_t sec_carveout_bom
Definition: mc.h:78
uint32_t sec_carveout_adr_hi
Definition: mc.h:99
uint32_t emem_arb_timing_faw
Definition: mc.h:37
uint32_t emem_arb_timing_wap2pre
Definition: mc.h:40
uint32_t rsvd_0x654[4]
Definition: mc.h:75
uint32_t emem_arb_timing_w2r
Definition: mc.h:44
uint32_t rsvd_0x214[38]
Definition: mc.h:63
uint32_t dis_extra_snap_levels
Definition: mc.h:64
uint32_t emem_arb_timing_rp
Definition: mc.h:34
uint32_t video_protect_reg_ctrl
Definition: mc.h:74
uint32_t mts_carveout_size_mb
Definition: mc.h:90
uint32_t smmu_tlb_config
Definition: mc.h:14
uint32_t emem_arb_timing_r2w
Definition: mc.h:43
uint32_t emem_arb_timing_rrd
Definition: mc.h:38
uint32_t emem_arb_misc0
Definition: mc.h:48
uint32_t rsvd_0xf0[1]
Definition: mc.h:54
uint32_t rsvd_0x96c[3]
Definition: mc.h:83
check_member(tegra_mc_regs, sec_carveout_adr_hi, 0x9d4)
@ MC_EMEM_ARB_MISC0_MC_EMC_SAME_FREQ_SHIFT
Definition: mc.h:106
@ MC_EMEM_CFG_ACCESS_CTRL_WRITE_ACCESS_DISABLED
Definition: mc.h:109
@ MC_EMEM_CFG_SIZE_MB_SHIFT
Definition: mc.h:103
@ MC_EMEM_ARB_MISC0_MC_EMC_SAME_FREQ_MASK
Definition: mc.h:107
@ MC_TIMING_CONTROL_TIMING_UPDATE
Definition: mc.h:111
@ MC_EMEM_CFG_SIZE_MB_MASK
Definition: mc.h:104