coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
sdram.h
Go to the documentation of this file.
1
/* SPDX-License-Identifier: GPL-2.0-only */
2
3
#ifndef __SOC_ROCKCHIP_RK3288_SDRAM_H__
4
#define __SOC_ROCKCHIP_RK3288_SDRAM_H__
5
6
#include <types.h>
7
8
enum
{
9
DDR3
= 3,
10
LPDDR3
= 6,
11
UNUSED
= 0xFF,
12
};
13
14
struct
rk3288_sdram_channel
{
15
u8
rank
;
16
u8
col
;
17
u8
bk
;
18
u8
bw
;
19
u8
dbw
;
20
u8
row_3_4
;
21
u8
cs0_row
;
22
u8
cs1_row
;
23
};
24
25
struct
rk3288_sdram_pctl_timing
{
26
u32
togcnt1u
;
27
u32
tinit
;
28
u32
trsth
;
29
u32
togcnt100n
;
30
u32
trefi
;
31
u32
tmrd
;
32
u32
trfc
;
33
u32
trp
;
34
u32
trtw
;
35
u32
tal
;
36
u32
tcl
;
37
u32
tcwl
;
38
u32
tras
;
39
u32
trc
;
40
u32
trcd
;
41
u32
trrd
;
42
u32
trtp
;
43
u32
twr
;
44
u32
twtr
;
45
u32
texsr
;
46
u32
txp
;
47
u32
txpdll
;
48
u32
tzqcs
;
49
u32
tzqcsi
;
50
u32
tdqs
;
51
u32
tcksre
;
52
u32
tcksrx
;
53
u32
tcke
;
54
u32
tmod
;
55
u32
trstl
;
56
u32
tzqcl
;
57
u32
tmrr
;
58
u32
tckesr
;
59
u32
tdpd
;
60
};
61
check_member
(
rk3288_sdram_pctl_timing
, tdpd, 0x144 - 0xc0);
62
63
struct
rk3288_sdram_phy_timing
{
64
u32
dtpr0
;
65
u32
dtpr1
;
66
u32
dtpr2
;
67
u32
mr
[4];
68
};
69
70
struct
rk3288_sdram_params
{
71
struct
rk3288_sdram_channel
ch
[2];
72
struct
rk3288_sdram_pctl_timing
pctl_timing
;
73
struct
rk3288_sdram_phy_timing
phy_timing
;
74
u32
noc_timing
;
75
u32
noc_activate
;
76
u32
ddrconfig
;
77
u32
ddr_freq
;
78
u8
dramtype
;
79
u8
num_channels
;
80
u8
stride
;
81
u8
odt
;
82
};
83
84
void
sdram_init
(
const
struct
rk3288_sdram_params
*
sdram_params
);
85
u32
sdram_get_ram_code
(
void
);
86
size_t
sdram_size_mb
(
void
);
87
const
struct
rk3288_sdram_params
*
get_sdram_config
(
void
);
88
#endif
sdram_init
void sdram_init(void)
Definition:
sdram.c:16
sdram_size_mb
size_t sdram_size_mb(void)
Definition:
sdram.c:24
sdram_get_ram_code
uint32_t sdram_get_ram_code(void)
Definition:
sdram.c:601
get_sdram_config
const struct rk3288_sdram_params * get_sdram_config(void)
Definition:
sdram_configs.c:85
check_member
check_member(rk3288_sdram_pctl_timing, tdpd, 0x144 - 0xc0)
DDR3
@ DDR3
Definition:
sdram.h:9
UNUSED
@ UNUSED
Definition:
sdram.h:11
LPDDR3
@ LPDDR3
Definition:
sdram.h:10
u32
uint32_t u32
Definition:
stdint.h:51
u8
uint8_t u8
Definition:
stdint.h:45
rk3288_sdram_channel
Definition:
sdram.h:14
rk3288_sdram_channel::cs0_row
u8 cs0_row
Definition:
sdram.h:21
rk3288_sdram_channel::cs1_row
u8 cs1_row
Definition:
sdram.h:22
rk3288_sdram_channel::row_3_4
u8 row_3_4
Definition:
sdram.h:20
rk3288_sdram_channel::bk
u8 bk
Definition:
sdram.h:17
rk3288_sdram_channel::bw
u8 bw
Definition:
sdram.h:18
rk3288_sdram_channel::col
u8 col
Definition:
sdram.h:16
rk3288_sdram_channel::rank
u8 rank
Definition:
sdram.h:15
rk3288_sdram_channel::dbw
u8 dbw
Definition:
sdram.h:19
rk3288_sdram_params
Definition:
sdram.h:70
rk3288_sdram_params::num_channels
u8 num_channels
Definition:
sdram.h:79
rk3288_sdram_params::pctl_timing
struct rk3288_sdram_pctl_timing pctl_timing
Definition:
sdram.h:72
rk3288_sdram_params::ch
struct rk3288_sdram_channel ch[2]
Definition:
sdram.h:71
rk3288_sdram_params::noc_timing
u32 noc_timing
Definition:
sdram.h:74
rk3288_sdram_params::ddrconfig
u32 ddrconfig
Definition:
sdram.h:76
rk3288_sdram_params::phy_timing
struct rk3288_sdram_phy_timing phy_timing
Definition:
sdram.h:73
rk3288_sdram_params::noc_activate
u32 noc_activate
Definition:
sdram.h:75
rk3288_sdram_params::ddr_freq
u32 ddr_freq
Definition:
sdram.h:77
rk3288_sdram_params::dramtype
u8 dramtype
Definition:
sdram.h:78
rk3288_sdram_params::odt
u8 odt
Definition:
sdram.h:81
rk3288_sdram_params::stride
u8 stride
Definition:
sdram.h:80
rk3288_sdram_pctl_timing
Definition:
sdram.h:25
rk3288_sdram_pctl_timing::trrd
u32 trrd
Definition:
sdram.h:41
rk3288_sdram_pctl_timing::tmod
u32 tmod
Definition:
sdram.h:54
rk3288_sdram_pctl_timing::tmrr
u32 tmrr
Definition:
sdram.h:57
rk3288_sdram_pctl_timing::texsr
u32 texsr
Definition:
sdram.h:45
rk3288_sdram_pctl_timing::trsth
u32 trsth
Definition:
sdram.h:28
rk3288_sdram_pctl_timing::trfc
u32 trfc
Definition:
sdram.h:32
rk3288_sdram_pctl_timing::txpdll
u32 txpdll
Definition:
sdram.h:47
rk3288_sdram_pctl_timing::tinit
u32 tinit
Definition:
sdram.h:27
rk3288_sdram_pctl_timing::trcd
u32 trcd
Definition:
sdram.h:40
rk3288_sdram_pctl_timing::togcnt1u
u32 togcnt1u
Definition:
sdram.h:26
rk3288_sdram_pctl_timing::tcksrx
u32 tcksrx
Definition:
sdram.h:52
rk3288_sdram_pctl_timing::tal
u32 tal
Definition:
sdram.h:35
rk3288_sdram_pctl_timing::tcksre
u32 tcksre
Definition:
sdram.h:51
rk3288_sdram_pctl_timing::trp
u32 trp
Definition:
sdram.h:33
rk3288_sdram_pctl_timing::trtw
u32 trtw
Definition:
sdram.h:34
rk3288_sdram_pctl_timing::tras
u32 tras
Definition:
sdram.h:38
rk3288_sdram_pctl_timing::trtp
u32 trtp
Definition:
sdram.h:42
rk3288_sdram_pctl_timing::tckesr
u32 tckesr
Definition:
sdram.h:58
rk3288_sdram_pctl_timing::trc
u32 trc
Definition:
sdram.h:39
rk3288_sdram_pctl_timing::togcnt100n
u32 togcnt100n
Definition:
sdram.h:29
rk3288_sdram_pctl_timing::txp
u32 txp
Definition:
sdram.h:46
rk3288_sdram_pctl_timing::tdqs
u32 tdqs
Definition:
sdram.h:50
rk3288_sdram_pctl_timing::tmrd
u32 tmrd
Definition:
sdram.h:31
rk3288_sdram_pctl_timing::tzqcsi
u32 tzqcsi
Definition:
sdram.h:49
rk3288_sdram_pctl_timing::tzqcs
u32 tzqcs
Definition:
sdram.h:48
rk3288_sdram_pctl_timing::tdpd
u32 tdpd
Definition:
sdram.h:59
rk3288_sdram_pctl_timing::tzqcl
u32 tzqcl
Definition:
sdram.h:56
rk3288_sdram_pctl_timing::twtr
u32 twtr
Definition:
sdram.h:44
rk3288_sdram_pctl_timing::tcwl
u32 tcwl
Definition:
sdram.h:37
rk3288_sdram_pctl_timing::tcke
u32 tcke
Definition:
sdram.h:53
rk3288_sdram_pctl_timing::twr
u32 twr
Definition:
sdram.h:43
rk3288_sdram_pctl_timing::tcl
u32 tcl
Definition:
sdram.h:36
rk3288_sdram_pctl_timing::trstl
u32 trstl
Definition:
sdram.h:55
rk3288_sdram_pctl_timing::trefi
u32 trefi
Definition:
sdram.h:30
rk3288_sdram_phy_timing
Definition:
sdram.h:63
rk3288_sdram_phy_timing::dtpr0
u32 dtpr0
Definition:
sdram.h:64
rk3288_sdram_phy_timing::dtpr1
u32 dtpr1
Definition:
sdram.h:65
rk3288_sdram_phy_timing::mr
u32 mr[4]
Definition:
sdram.h:67
rk3288_sdram_phy_timing::dtpr2
u32 dtpr2
Definition:
sdram.h:66
sdram_params
Defines the SDRAM parameter structure.
Definition:
emi.h:15
src
soc
rockchip
rk3288
include
soc
sdram.h
Generated by
1.9.1