Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OS
U-Boot.Mirror
提交
46ff4f11
U
U-Boot.Mirror
项目概览
OS
/
U-Boot.Mirror
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
U-Boot.Mirror
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
46ff4f11
编写于
8月 26, 2008
作者:
K
Kumar Gala
提交者:
Wolfgang Denk
8月 27, 2008
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
FSL DDR: Add 86xx specific register setting
Signed-off-by:
N
Kumar Gala
<
galak@kernel.crashing.org
>
上级
233fdd50
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
92 addition
and
0 deletion
+92
-0
cpu/mpc86xx/Makefile
cpu/mpc86xx/Makefile
+6
-0
cpu/mpc86xx/ddr-8641.c
cpu/mpc86xx/ddr-8641.c
+86
-0
未找到文件。
cpu/mpc86xx/Makefile
浏览文件 @
46ff4f11
...
...
@@ -39,6 +39,12 @@ COBJS-y += interrupts.o
COBJS-$(CONFIG_OF_LIBFDT)
+=
fdt.o
ifeq
($(CONFIG_FSL_DDR2),y)
COBJS-$(CONFIG_MPC8641)
+=
ddr-8641.o
# 8610 & 8641 are identical w/regards to DDR
COBJS-$(CONFIG_MPC8610)
+=
ddr-8641.o
endif
ifneq
($(CONFIG_FSL_DDR2),y)
COBJS-y
+=
spd_sdram.o
endif
...
...
cpu/mpc86xx/ddr-8641.c
0 → 100644
浏览文件 @
46ff4f11
/*
* Copyright 2008 Freescale Semiconductor, Inc.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* Version 2 as published by the Free Software Foundation.
*/
#include <common.h>
#include <asm/io.h>
#include <asm/fsl_ddr_sdram.h>
#if (CONFIG_CHIP_SELECTS_PER_CTRL > 4)
#error Invalid setting for CONFIG_CHIP_SELECTS_PER_CTRL
#endif
void
fsl_ddr_set_memctl_regs
(
const
fsl_ddr_cfg_regs_t
*
regs
,
unsigned
int
ctrl_num
)
{
unsigned
int
i
;
volatile
ccsr_ddr_t
*
ddr
;
switch
(
ctrl_num
)
{
case
0
:
ddr
=
(
void
*
)
CFG_MPC86xx_DDR_ADDR
;
break
;
case
1
:
ddr
=
(
void
*
)
CFG_MPC86xx_DDR2_ADDR
;
break
;
default:
printf
(
"%s unexpected ctrl_num = %u
\n
"
,
__FUNCTION__
,
ctrl_num
);
return
;
}
for
(
i
=
0
;
i
<
CONFIG_CHIP_SELECTS_PER_CTRL
;
i
++
)
{
if
(
i
==
0
)
{
out_be32
(
&
ddr
->
cs0_bnds
,
regs
->
cs
[
i
].
bnds
);
out_be32
(
&
ddr
->
cs0_bnds
,
regs
->
cs
[
i
].
bnds
);
out_be32
(
&
ddr
->
cs0_config
,
regs
->
cs
[
i
].
config
);
}
else
if
(
i
==
1
)
{
out_be32
(
&
ddr
->
cs1_bnds
,
regs
->
cs
[
i
].
bnds
);
out_be32
(
&
ddr
->
cs1_config
,
regs
->
cs
[
i
].
config
);
}
else
if
(
i
==
2
)
{
out_be32
(
&
ddr
->
cs2_bnds
,
regs
->
cs
[
i
].
bnds
);
out_be32
(
&
ddr
->
cs2_config
,
regs
->
cs
[
i
].
config
);
}
else
if
(
i
==
3
)
{
out_be32
(
&
ddr
->
cs3_bnds
,
regs
->
cs
[
i
].
bnds
);
out_be32
(
&
ddr
->
cs3_config
,
regs
->
cs
[
i
].
config
);
}
}
out_be32
(
&
ddr
->
timing_cfg_3
,
regs
->
timing_cfg_3
);
out_be32
(
&
ddr
->
timing_cfg_0
,
regs
->
timing_cfg_0
);
out_be32
(
&
ddr
->
timing_cfg_1
,
regs
->
timing_cfg_1
);
out_be32
(
&
ddr
->
timing_cfg_2
,
regs
->
timing_cfg_2
);
out_be32
(
&
ddr
->
sdram_cfg_2
,
regs
->
ddr_sdram_cfg_2
);
out_be32
(
&
ddr
->
sdram_mode_1
,
regs
->
ddr_sdram_mode
);
out_be32
(
&
ddr
->
sdram_mode_2
,
regs
->
ddr_sdram_mode_2
);
out_be32
(
&
ddr
->
sdram_mode_cntl
,
regs
->
ddr_sdram_md_cntl
);
out_be32
(
&
ddr
->
sdram_interval
,
regs
->
ddr_sdram_interval
);
out_be32
(
&
ddr
->
sdram_data_init
,
regs
->
ddr_data_init
);
out_be32
(
&
ddr
->
sdram_clk_cntl
,
regs
->
ddr_sdram_clk_cntl
);
out_be32
(
&
ddr
->
init_addr
,
regs
->
ddr_init_addr
);
out_be32
(
&
ddr
->
init_ext_addr
,
regs
->
ddr_init_ext_addr
);
debug
(
"before go
\n
"
);
/*
* 200 painful micro-seconds must elapse between
* the DDR clock setup and the DDR config enable.
*/
udelay
(
200
);
asm
volatile
(
"sync;isync"
);
out_be32
(
&
ddr
->
sdram_cfg_1
,
regs
->
ddr_sdram_cfg
);
/*
* Poll DDR_SDRAM_CFG_2[D_INIT] bit until auto-data init is done
*/
while
(
in_be32
(
&
ddr
->
sdram_cfg_2
)
&
0x10
)
{
udelay
(
10000
);
/* throttle polling rate */
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录