Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OS
U-Boot.Mirror
提交
a86fcff6
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,发现更多精彩内容 >>
提交
a86fcff6
编写于
11月 28, 2012
作者:
T
Tom Rini
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'master' of
git://www.denx.de/git/u-boot-mpc85xx
上级
d41b3cc1
afbfdf54
变更
46
展开全部
隐藏空白更改
内联
并排
Showing
46 changed file
with
1207 addition
and
109 deletion
+1207
-109
arch/powerpc/cpu/mpc85xx/cmd_errata.c
arch/powerpc/cpu/mpc85xx/cmd_errata.c
+114
-0
arch/powerpc/cpu/mpc85xx/cpu.c
arch/powerpc/cpu/mpc85xx/cpu.c
+7
-7
arch/powerpc/cpu/mpc85xx/cpu_init.c
arch/powerpc/cpu/mpc85xx/cpu_init.c
+12
-0
arch/powerpc/cpu/mpc85xx/ddr-gen1.c
arch/powerpc/cpu/mpc85xx/ddr-gen1.c
+2
-2
arch/powerpc/cpu/mpc85xx/ddr-gen2.c
arch/powerpc/cpu/mpc85xx/ddr-gen2.c
+3
-6
arch/powerpc/cpu/mpc85xx/ddr-gen3.c
arch/powerpc/cpu/mpc85xx/ddr-gen3.c
+7
-7
arch/powerpc/cpu/mpc85xx/fsl_corenet_serdes.c
arch/powerpc/cpu/mpc85xx/fsl_corenet_serdes.c
+13
-7
arch/powerpc/cpu/mpc85xx/release.S
arch/powerpc/cpu/mpc85xx/release.S
+34
-1
arch/powerpc/cpu/mpc86xx/ddr-8641.c
arch/powerpc/cpu/mpc86xx/ddr-8641.c
+2
-2
arch/powerpc/cpu/mpc8xxx/ddr/ctrl_regs.c
arch/powerpc/cpu/mpc8xxx/ddr/ctrl_regs.c
+1
-9
arch/powerpc/cpu/mpc8xxx/ddr/util.c
arch/powerpc/cpu/mpc8xxx/ddr/util.c
+4
-10
arch/powerpc/cpu/mpc8xxx/fdt.c
arch/powerpc/cpu/mpc8xxx/fdt.c
+3
-3
arch/powerpc/include/asm/config_mpc85xx.h
arch/powerpc/include/asm/config_mpc85xx.h
+12
-8
arch/powerpc/include/asm/immap_83xx.h
arch/powerpc/include/asm/immap_83xx.h
+3
-3
arch/powerpc/include/asm/immap_85xx.h
arch/powerpc/include/asm/immap_85xx.h
+15
-12
arch/powerpc/include/asm/immap_86xx.h
arch/powerpc/include/asm/immap_86xx.h
+4
-4
board/exmeritus/hww1u1a/hww1u1a.c
board/exmeritus/hww1u1a/hww1u1a.c
+1
-1
board/freescale/common/Makefile
board/freescale/common/Makefile
+2
-0
board/freescale/common/ngpixis.h
board/freescale/common/ngpixis.h
+1
-1
board/freescale/corenet_ds/Makefile
board/freescale/corenet_ds/Makefile
+2
-0
board/freescale/corenet_ds/corenet_ds.c
board/freescale/corenet_ds/corenet_ds.c
+16
-6
board/freescale/corenet_ds/ddr.c
board/freescale/corenet_ds/ddr.c
+2
-2
board/freescale/corenet_ds/eth_superhydra.c
board/freescale/corenet_ds/eth_superhydra.c
+722
-0
board/freescale/corenet_ds/p5040ds_ddr.c
board/freescale/corenet_ds/p5040ds_ddr.c
+18
-0
board/freescale/mpc8540ads/mpc8540ads.c
board/freescale/mpc8540ads/mpc8540ads.c
+1
-1
board/freescale/mpc8560ads/mpc8560ads.c
board/freescale/mpc8560ads/mpc8560ads.c
+1
-1
board/freescale/mpc8569mds/mpc8569mds.c
board/freescale/mpc8569mds/mpc8569mds.c
+1
-1
board/freescale/p1023rds/p1023rds.c
board/freescale/p1023rds/p1023rds.c
+1
-1
board/freescale/p1_p2_rdb_pc/spl_minimal.c
board/freescale/p1_p2_rdb_pc/spl_minimal.c
+1
-1
board/freescale/p2020ds/p2020ds.c
board/freescale/p2020ds/p2020ds.c
+1
-1
board/sbc8548/ddr.c
board/sbc8548/ddr.c
+1
-1
board/socrates/sdram.c
board/socrates/sdram.c
+1
-1
boards.cfg
boards.cfg
+1
-0
drivers/net/fm/Makefile
drivers/net/fm/Makefile
+1
-0
drivers/net/fm/p5040.c
drivers/net/fm/p5040.c
+113
-0
drivers/pci/fsl_pci_init.c
drivers/pci/fsl_pci_init.c
+22
-0
include/configs/P1010RDB.h
include/configs/P1010RDB.h
+1
-0
include/configs/P1022DS.h
include/configs/P1022DS.h
+1
-0
include/configs/P1023RDS.h
include/configs/P1023RDS.h
+1
-1
include/configs/P2041RDB.h
include/configs/P2041RDB.h
+14
-6
include/configs/P3041DS.h
include/configs/P3041DS.h
+1
-0
include/configs/P5020DS.h
include/configs/P5020DS.h
+1
-0
include/configs/P5040DS.h
include/configs/P5040DS.h
+40
-0
include/configs/corenet_ds.h
include/configs/corenet_ds.h
+1
-1
nand_spl/board/freescale/p1010rdb/nand_boot.c
nand_spl/board/freescale/p1010rdb/nand_boot.c
+1
-1
nand_spl/board/freescale/p1023rds/nand_boot.c
nand_spl/board/freescale/p1023rds/nand_boot.c
+1
-1
未找到文件。
arch/powerpc/cpu/mpc85xx/cmd_errata.c
浏览文件 @
a86fcff6
...
...
@@ -24,6 +24,109 @@
#include <command.h>
#include <linux/compiler.h>
#include <asm/processor.h>
#include "fsl_corenet_serdes.h"
#ifdef CONFIG_SYS_FSL_ERRATUM_A004849
/*
* This work-around is implemented in PBI, so just check to see if the
* work-around was actually applied. To do this, we check for specific data
* at specific addresses in DCSR.
*
* Array offsets[] contains a list of offsets within DCSR. According to the
* erratum document, the value at each offset should be 2.
*/
static
void
check_erratum_a4849
(
uint32_t
svr
)
{
void
__iomem
*
dcsr
=
(
void
*
)
CONFIG_SYS_DCSRBAR
+
0xb0000
;
unsigned
int
i
;
#if defined(CONFIG_PPC_P2041) || defined(CONFIG_PPC_P3041)
static
const
uint8_t
offsets
[]
=
{
0x50
,
0x54
,
0x58
,
0x90
,
0x94
,
0x98
};
#endif
#ifdef CONFIG_PPC_P4080
static
const
uint8_t
offsets
[]
=
{
0x60
,
0x64
,
0x68
,
0x6c
,
0xa0
,
0xa4
,
0xa8
,
0xac
};
#endif
uint32_t
x108
;
/* The value that should be at offset 0x108 */
for
(
i
=
0
;
i
<
ARRAY_SIZE
(
offsets
);
i
++
)
{
if
(
in_be32
(
dcsr
+
offsets
[
i
])
!=
2
)
{
printf
(
"Work-around for Erratum A004849 is not enabled
\n
"
);
return
;
}
}
#if defined(CONFIG_PPC_P2041) || defined(CONFIG_PPC_P3041)
x108
=
0x12
;
#endif
#ifdef CONFIG_PPC_P4080
/*
* For P4080, the erratum document says that the value at offset 0x108
* should be 0x12 on rev2, or 0x1c on rev3.
*/
if
(
SVR_MAJ
(
svr
)
==
2
)
x108
=
0x12
;
if
(
SVR_MAJ
(
svr
)
==
3
)
x108
=
0x1c
;
#endif
if
(
in_be32
(
dcsr
+
0x108
)
!=
x108
)
{
printf
(
"Work-around for Erratum A004849 is not enabled
\n
"
);
return
;
}
/* Everything matches, so the erratum work-around was applied */
printf
(
"Work-around for Erratum A004849 enabled
\n
"
);
}
#endif
#ifdef CONFIG_SYS_FSL_ERRATUM_A004580
/*
* This work-around is implemented in PBI, so just check to see if the
* work-around was actually applied. To do this, we check for specific data
* at specific addresses in the SerDes register block.
*
* The work-around says that for each SerDes lane, write BnTTLCRy0 =
* 0x1B00_0001, Register 2 = 0x0088_0000, and Register 3 = 0x4000_0000.
*/
static
void
check_erratum_a4580
(
uint32_t
svr
)
{
const
serdes_corenet_t
__iomem
*
srds_regs
=
(
void
*
)
CONFIG_SYS_FSL_CORENET_SERDES_ADDR
;
unsigned
int
lane
;
for
(
lane
=
0
;
lane
<
SRDS_MAX_LANES
;
lane
++
)
{
if
(
serdes_lane_enabled
(
lane
))
{
const
struct
serdes_lane
__iomem
*
srds_lane
=
&
srds_regs
->
lane
[
serdes_get_lane_idx
(
lane
)];
/*
* Verify that the values we were supposed to write in
* the PBI are actually there. Also, the lower 15
* bits of res4[3] should be the same as the upper 15
* bits of res4[1].
*/
if
((
in_be32
(
&
srds_lane
->
ttlcr0
)
!=
0x1b000001
)
||
(
in_be32
(
&
srds_lane
->
res4
[
1
])
!=
0x880000
)
||
(
in_be32
(
&
srds_lane
->
res4
[
3
])
!=
0x40000044
))
{
printf
(
"Work-around for Erratum A004580 is "
"not enabled
\n
"
);
return
;
}
}
}
/* Everything matches, so the erratum work-around was applied */
printf
(
"Work-around for Erratum A004580 enabled
\n
"
);
}
#endif
static
int
do_errata
(
cmd_tbl_t
*
cmdtp
,
int
flag
,
int
argc
,
char
*
const
argv
[])
{
...
...
@@ -136,6 +239,17 @@ static int do_errata(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
#endif
#ifdef CONFIG_SYS_FSL_ERRATUM_A_004934
puts
(
"Work-around for Erratum A004934 enabled
\n
"
);
#endif
#ifdef CONFIG_SYS_FSL_ERRATUM_A004849
/* This work-around is implemented in PBI, so just check for it */
check_erratum_a4849
(
svr
);
#endif
#ifdef CONFIG_SYS_FSL_ERRATUM_A004580
/* This work-around is implemented in PBI, so just check for it */
check_erratum_a4580
(
svr
);
#endif
#ifdef CONFIG_SYS_P4080_ERRATUM_PCIE_A003
puts
(
"Work-around for Erratum PCIe-A003 enabled
\n
"
);
#endif
return
0
;
}
...
...
arch/powerpc/cpu/mpc85xx/cpu.c
浏览文件 @
a86fcff6
...
...
@@ -451,21 +451,21 @@ static void dump_spd_ddr_reg(void)
for
(
i
=
0
;
i
<
CONFIG_NUM_DDR_CONTROLLERS
;
i
++
)
{
switch
(
i
)
{
case
0
:
ddr
[
i
]
=
(
void
*
)
CONFIG_SYS_MPC8
5
xx_DDR_ADDR
;
ddr
[
i
]
=
(
void
*
)
CONFIG_SYS_MPC8
x
xx_DDR_ADDR
;
break
;
#if defined(CONFIG_SYS_MPC8
5
xx_DDR2_ADDR) && (CONFIG_NUM_DDR_CONTROLLERS > 1)
#if defined(CONFIG_SYS_MPC8
x
xx_DDR2_ADDR) && (CONFIG_NUM_DDR_CONTROLLERS > 1)
case
1
:
ddr
[
i
]
=
(
void
*
)
CONFIG_SYS_MPC8
5
xx_DDR2_ADDR
;
ddr
[
i
]
=
(
void
*
)
CONFIG_SYS_MPC8
x
xx_DDR2_ADDR
;
break
;
#endif
#if defined(CONFIG_SYS_MPC8
5
xx_DDR3_ADDR) && (CONFIG_NUM_DDR_CONTROLLERS > 2)
#if defined(CONFIG_SYS_MPC8
x
xx_DDR3_ADDR) && (CONFIG_NUM_DDR_CONTROLLERS > 2)
case
2
:
ddr
[
i
]
=
(
void
*
)
CONFIG_SYS_MPC8
5
xx_DDR3_ADDR
;
ddr
[
i
]
=
(
void
*
)
CONFIG_SYS_MPC8
x
xx_DDR3_ADDR
;
break
;
#endif
#if defined(CONFIG_SYS_MPC8
5
xx_DDR4_ADDR) && (CONFIG_NUM_DDR_CONTROLLERS > 3)
#if defined(CONFIG_SYS_MPC8
x
xx_DDR4_ADDR) && (CONFIG_NUM_DDR_CONTROLLERS > 3)
case
3
:
ddr
[
i
]
=
(
void
*
)
CONFIG_SYS_MPC8
5
xx_DDR4_ADDR
;
ddr
[
i
]
=
(
void
*
)
CONFIG_SYS_MPC8
x
xx_DDR4_ADDR
;
break
;
#endif
default:
...
...
arch/powerpc/cpu/mpc85xx/cpu_init.c
浏览文件 @
a86fcff6
...
...
@@ -350,6 +350,10 @@ int cpu_init_r(void)
#elif defined(CONFIG_SYS_FSL_QORIQ_CHASSIS2)
struct
ccsr_cluster_l2
*
l2cache
=
(
void
__iomem
*
)
CONFIG_SYS_FSL_CLUSTER_1_L2
;
#endif
#if defined(CONFIG_PPC_SPINTABLE_COMPATIBLE) && defined(CONFIG_MP)
extern
int
spin_table_compat
;
const
char
*
spin
;
#endif
#if defined(CONFIG_SYS_P4080_ERRATUM_CPU22) || \
defined(CONFIG_SYS_FSL_ERRATUM_NMG_CPU_A011)
...
...
@@ -395,6 +399,14 @@ int cpu_init_r(void)
}
#endif
#if defined(CONFIG_PPC_SPINTABLE_COMPATIBLE) && defined(CONFIG_MP)
spin
=
getenv
(
"spin_table_compat"
);
if
(
spin
&&
(
*
spin
==
'n'
))
spin_table_compat
=
0
;
else
spin_table_compat
=
1
;
#endif
puts
(
"L2: "
);
#if defined(CONFIG_L2_CACHE)
...
...
arch/powerpc/cpu/mpc85xx/ddr-gen1.c
浏览文件 @
a86fcff6
...
...
@@ -18,7 +18,7 @@ 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
=
(
void
*
)
CONFIG_SYS_MPC8
5
xx_DDR_ADDR
;
volatile
ccsr_ddr_t
*
ddr
=
(
void
*
)
CONFIG_SYS_MPC8
x
xx_DDR_ADDR
;
if
(
ctrl_num
!=
0
)
{
printf
(
"%s unexpected ctrl_num = %u
\n
"
,
__FUNCTION__
,
ctrl_num
);
...
...
@@ -73,7 +73,7 @@ void fsl_ddr_set_memctl_regs(const fsl_ddr_cfg_regs_t *regs,
void
ddr_enable_ecc
(
unsigned
int
dram_size
)
{
volatile
ccsr_ddr_t
*
ddr
=
(
void
*
)(
CONFIG_SYS_MPC8
5
xx_DDR_ADDR
);
volatile
ccsr_ddr_t
*
ddr
=
(
void
*
)(
CONFIG_SYS_MPC8
x
xx_DDR_ADDR
);
dma_meminit
(
CONFIG_MEM_INIT_VALUE
,
dram_size
);
...
...
arch/powerpc/cpu/mpc85xx/ddr-gen2.c
浏览文件 @
a86fcff6
...
...
@@ -19,14 +19,11 @@ void fsl_ddr_set_memctl_regs(const fsl_ddr_cfg_regs_t *regs,
unsigned
int
ctrl_num
)
{
unsigned
int
i
;
#ifdef CONFIG_MPC83xx
ccsr_ddr_t
*
ddr
=
(
void
*
)
CONFIG_SYS_MPC83xx_DDR_ADDR
;
#else
ccsr_ddr_t
*
ddr
=
(
void
*
)
CONFIG_SYS_MPC85xx_DDR_ADDR
;
#ifdef CONFIG_SYS_FSL_ERRATUM_NMG_DDR120
ccsr_ddr_t
*
ddr
=
(
void
*
)
CONFIG_SYS_MPC8xxx_DDR_ADDR
;
#if defined(CONFIG_SYS_FSL_ERRATUM_NMG_DDR120) && defined(CONFIG_MPC85xx)
ccsr_gur_t
*
gur
=
(
void
*
)(
CONFIG_SYS_MPC85xx_GUTS_ADDR
);
uint
svr
;
#endif
#endif
if
(
ctrl_num
)
{
...
...
arch/powerpc/cpu/mpc85xx/ddr-gen3.c
浏览文件 @
a86fcff6
...
...
@@ -32,21 +32,21 @@ void fsl_ddr_set_memctl_regs(const fsl_ddr_cfg_regs_t *regs,
switch
(
ctrl_num
)
{
case
0
:
ddr
=
(
void
*
)
CONFIG_SYS_MPC8
5
xx_DDR_ADDR
;
ddr
=
(
void
*
)
CONFIG_SYS_MPC8
x
xx_DDR_ADDR
;
break
;
#if defined(CONFIG_SYS_MPC8
5
xx_DDR2_ADDR) && (CONFIG_NUM_DDR_CONTROLLERS > 1)
#if defined(CONFIG_SYS_MPC8
x
xx_DDR2_ADDR) && (CONFIG_NUM_DDR_CONTROLLERS > 1)
case
1
:
ddr
=
(
void
*
)
CONFIG_SYS_MPC8
5
xx_DDR2_ADDR
;
ddr
=
(
void
*
)
CONFIG_SYS_MPC8
x
xx_DDR2_ADDR
;
break
;
#endif
#if defined(CONFIG_SYS_MPC8
5
xx_DDR3_ADDR) && (CONFIG_NUM_DDR_CONTROLLERS > 2)
#if defined(CONFIG_SYS_MPC8
x
xx_DDR3_ADDR) && (CONFIG_NUM_DDR_CONTROLLERS > 2)
case
2
:
ddr
=
(
void
*
)
CONFIG_SYS_MPC8
5
xx_DDR3_ADDR
;
ddr
=
(
void
*
)
CONFIG_SYS_MPC8
x
xx_DDR3_ADDR
;
break
;
#endif
#if defined(CONFIG_SYS_MPC8
5
xx_DDR4_ADDR) && (CONFIG_NUM_DDR_CONTROLLERS > 3)
#if defined(CONFIG_SYS_MPC8
x
xx_DDR4_ADDR) && (CONFIG_NUM_DDR_CONTROLLERS > 3)
case
3
:
ddr
=
(
void
*
)
CONFIG_SYS_MPC8
5
xx_DDR4_ADDR
;
ddr
=
(
void
*
)
CONFIG_SYS_MPC8
x
xx_DDR4_ADDR
;
break
;
#endif
default:
...
...
arch/powerpc/cpu/mpc85xx/fsl_corenet_serdes.c
浏览文件 @
a86fcff6
...
...
@@ -714,9 +714,13 @@ void fsl_serdes_init(void)
#ifdef CONFIG_SYS_P4080_ERRATUM_SERDES9
/*
* Set BnTTLCRy0[FLT_SEL] = 000011 and set BnTTLCRy0[17] = 1 for
* each of the SerDes lanes selected as SGMII, XAUI, SRIO, or
* AURORA before the device is initialized.
* Set BnTTLCRy0[FLT_SEL] = 011011 and set BnTTLCRy0[31] = 1
* for each of the SerDes lanes selected as SGMII, XAUI, SRIO,
* or AURORA before the device is initialized.
*
* Note that this part of the SERDES-9 work-around is
* redundant if the work-around for A-4580 has already been
* applied via PBI.
*/
switch
(
lane_prtcl
)
{
case
SGMII_FM1_DTSEC1
:
...
...
@@ -733,10 +737,12 @@ void fsl_serdes_init(void)
case
SRIO1
:
case
SRIO2
:
case
AURORA
:
clrsetbits_be32
(
&
srds_regs
->
lane
[
idx
].
ttlcr0
,
SRDS_TTLCR0_FLT_SEL_MASK
,
SRDS_TTLCR0_FLT_SEL_750PPM
|
SRDS_TTLCR0_PM_DIS
);
out_be32
(
&
srds_regs
->
lane
[
idx
].
ttlcr0
,
SRDS_TTLCR0_FLT_SEL_KFR_26
|
SRDS_TTLCR0_FLT_SEL_KPH_28
|
SRDS_TTLCR0_FLT_SEL_750PPM
|
SRDS_TTLCR0_FREQOVD_EN
);
break
;
default:
break
;
}
...
...
arch/powerpc/cpu/mpc85xx/release.S
浏览文件 @
a86fcff6
...
...
@@ -351,6 +351,13 @@ __secondary_reset_vector:
.
align
L1_CACHE_SHIFT
.
global
__second_half_boot_page
__second_half_boot_page
:
#ifdef CONFIG_PPC_SPINTABLE_COMPATIBLE
lis
r3
,(
spin_table_compat
-
__second_half_boot_page
)
@
h
ori
r3
,
r3
,(
spin_table_compat
-
__second_half_boot_page
)
@
l
add
r3
,
r3
,
r11
/*
r11
has
the
address
of
__second_half_boot_page
*/
lwz
r14
,
0
(
r3
)
#endif
#define EPAPR_MAGIC 0x45504150
#define ENTRY_ADDR_UPPER 0
#define ENTRY_ADDR_LOWER 4
...
...
@@ -383,7 +390,24 @@ __second_half_boot_page:
stw
r8
,
ENTRY_ADDR_LOWER
(
r10
)
/
*
spin
waiting
for
addr
*/
3
:
lwz
r4
,
ENTRY_ADDR_LOWER
(
r10
)
3
:
/*
*
To
comply
with
ePAPR
1
.1
,
the
spin
table
has
been
moved
to
cache
-
enabled
*
memory
.
Old
OS
may
not
work
with
this
change
.
A
patch
is
waiting
to
be
*
accepted
for
Linux
kernel
.
Other
OS
needs
similar
fix
to
spin
table
.
*
For
OSes
with
old
spin
table
code
,
we
can
enable
this
temporary
fix
by
*
setting
environmental
variable
"spin_table_compat"
.
For
new
OSes
,
set
*
"spin_table_compat=no"
.
After
Linux
is
fixed
,
we
can
remove
this
macro
*
and
related
code
.
For
now
,
it
is
enabled
by
default
.
*/
#ifdef CONFIG_PPC_SPINTABLE_COMPATIBLE
cmpwi
r14
,
0
beq
4
f
dcbf
0
,
r10
sync
4
:
#endif
lwz
r4
,
ENTRY_ADDR_LOWER
(
r10
)
andi
.
r11
,
r4
,
1
bne
3
b
isync
...
...
@@ -460,5 +484,14 @@ __second_half_boot_page:
.
globl
__spin_table
__spin_table
:
.
space
CONFIG_MAX_CPUS
*
ENTRY_SIZE
#ifdef CONFIG_PPC_SPINTABLE_COMPATIBLE
.
align
L1_CACHE_SHIFT
.
global
spin_table_compat
spin_table_compat
:
.
long
1
#endif
__spin_table_end
:
.
space
4096
-
(
__spin_table_end
-
__spin_table
)
arch/powerpc/cpu/mpc86xx/ddr-8641.c
浏览文件 @
a86fcff6
...
...
@@ -22,10 +22,10 @@ void fsl_ddr_set_memctl_regs(const fsl_ddr_cfg_regs_t *regs,
switch
(
ctrl_num
)
{
case
0
:
ddr
=
(
void
*
)
CONFIG_SYS_MPC8
6
xx_DDR_ADDR
;
ddr
=
(
void
*
)
CONFIG_SYS_MPC8
x
xx_DDR_ADDR
;
break
;
case
1
:
ddr
=
(
void
*
)
CONFIG_SYS_MPC8
6
xx_DDR2_ADDR
;
ddr
=
(
void
*
)
CONFIG_SYS_MPC8
x
xx_DDR2_ADDR
;
break
;
default:
printf
(
"%s unexpected ctrl_num = %u
\n
"
,
__FUNCTION__
,
ctrl_num
);
...
...
arch/powerpc/cpu/mpc8xxx/ddr/ctrl_regs.c
浏览文件 @
a86fcff6
...
...
@@ -18,15 +18,7 @@
#include "ddr.h"
#ifdef CONFIG_MPC83xx
#define _DDR_ADDR CONFIG_SYS_MPC83xx_DDR_ADDR
#elif defined(CONFIG_MPC85xx)
#define _DDR_ADDR CONFIG_SYS_MPC85xx_DDR_ADDR
#elif defined(CONFIG_MPC86xx)
#define _DDR_ADDR CONFIG_SYS_MPC86xx_DDR_ADDR
#else
#error "Undefined _DDR_ADDR"
#endif
#define _DDR_ADDR CONFIG_SYS_MPC8xxx_DDR_ADDR
static
u32
fsl_ddr_get_version
(
void
)
{
...
...
arch/powerpc/cpu/mpc8xxx/ddr/util.c
浏览文件 @
a86fcff6
...
...
@@ -133,14 +133,8 @@ u32 fsl_ddr_get_intl3r(void)
void
board_add_ram_info
(
int
use_default
)
{
#if defined(CONFIG_MPC83xx)
immap_t
*
immap
=
(
immap_t
*
)
CONFIG_SYS_IMMR
;
ccsr_ddr_t
*
ddr
=
(
void
*
)
&
immap
->
ddr
;
#elif defined(CONFIG_MPC85xx)
ccsr_ddr_t
*
ddr
=
(
void
*
)(
CONFIG_SYS_MPC85xx_DDR_ADDR
);
#elif defined(CONFIG_MPC86xx)
ccsr_ddr_t
*
ddr
=
(
void
*
)(
CONFIG_SYS_MPC86xx_DDR_ADDR
);
#endif
ccsr_ddr_t
*
ddr
=
(
void
*
)(
CONFIG_SYS_MPC8xxx_DDR_ADDR
);
#if defined(CONFIG_E6500) && (CONFIG_NUM_DDR_CONTROLLERS == 3)
u32
*
mcintl3r
=
(
void
*
)
(
CONFIG_SYS_IMMR
+
0x18004
);
#endif
...
...
@@ -152,13 +146,13 @@ void board_add_ram_info(int use_default)
#if CONFIG_NUM_DDR_CONTROLLERS >= 2
if
(
!
(
sdram_cfg
&
SDRAM_CFG_MEM_EN
))
{
ddr
=
(
void
__iomem
*
)
CONFIG_SYS_MPC8
5
xx_DDR2_ADDR
;
ddr
=
(
void
__iomem
*
)
CONFIG_SYS_MPC8
x
xx_DDR2_ADDR
;
sdram_cfg
=
in_be32
(
&
ddr
->
sdram_cfg
);
}
#endif
#if CONFIG_NUM_DDR_CONTROLLERS >= 3
if
(
!
(
sdram_cfg
&
SDRAM_CFG_MEM_EN
))
{
ddr
=
(
void
__iomem
*
)
CONFIG_SYS_MPC8
5
xx_DDR3_ADDR
;
ddr
=
(
void
__iomem
*
)
CONFIG_SYS_MPC8
x
xx_DDR3_ADDR
;
sdram_cfg
=
in_be32
(
&
ddr
->
sdram_cfg
);
}
#endif
...
...
arch/powerpc/cpu/mpc8xxx/fdt.c
浏览文件 @
a86fcff6
...
...
@@ -217,7 +217,7 @@ void fdt_fixup_dr_usb(void *blob, bd_t *bd)
#if CONFIG_SYS_FSL_SEC_COMPAT == 2
/* SEC 2.x/3.x */
void
fdt_fixup_crypto_node
(
void
*
blob
,
int
sec_rev
)
{
const
struct
sec_rev_prop
{
static
const
struct
sec_rev_prop
{
u32
sec_rev
;
u32
num_channels
;
u32
channel_fifo_len
;
...
...
@@ -232,8 +232,8 @@ void fdt_fixup_crypto_node(void *blob, int sec_rev)
{
0x0301
,
4
,
24
,
0xbfe
,
0x03ab0ebf
},
/* SEC 3.1 */
{
0x0303
,
4
,
24
,
0x97c
,
0x03a30abf
},
/* SEC 3.3 */
};
char
compat_strlist
[
ARRAY_SIZE
(
sec_rev_prop_list
)
*
sizeof
(
"fsl,secX.Y"
)];
static
char
compat_strlist
[
ARRAY_SIZE
(
sec_rev_prop_list
)
*
sizeof
(
"fsl,secX.Y"
)];
int
crypto_node
,
sec_idx
,
err
;
char
*
p
;
u32
val
;
...
...
arch/powerpc/include/asm/config_mpc85xx.h
浏览文件 @
a86fcff6
...
...
@@ -27,6 +27,12 @@
#error "Do not define CONFIG_SYS_CCSRBAR_DEFAULT in the board header file."
#endif
/*
* This macro should be removed when we no longer care about backwards
* compatibility with older operating systems.
*/
#define CONFIG_PPC_SPINTABLE_COMPATIBLE
#define FSL_DDR_VER_4_7 47
/* Number of TLB CAM entries we have on FSL Book-E chips */
...
...
@@ -131,7 +137,6 @@
#define CONFIG_SYS_PPC_E500_DEBUG_TLB 3
#define CONFIG_TSECV2
#define CONFIG_SYS_FSL_SEC_COMPAT 4
#define CONFIG_FSL_SATA_V2
#define CONFIG_SYS_FSL_ERRATUM_ESDHC111
#define CONFIG_NUM_DDR_CONTROLLERS 1
#define CONFIG_SYS_CCSRBAR_DEFAULT 0xff700000
...
...
@@ -175,7 +180,6 @@
#define CONFIG_SYS_PPC_E500_DEBUG_TLB 2
#define CONFIG_TSECV2
#define CONFIG_SYS_FSL_SEC_COMPAT 2
#define CONFIG_FSL_SATA_V2
#define CONFIG_SYS_CCSRBAR_DEFAULT 0xff700000
#define CONFIG_SYS_FSL_ERRATUM_ELBC_A001
#define CONFIG_SYS_FSL_ERRATUM_ESDHC111
...
...
@@ -188,7 +192,6 @@
#define CONFIG_SYS_PPC_E500_DEBUG_TLB 3
#define CONFIG_TSECV2
#define CONFIG_SYS_FSL_SEC_COMPAT 4
#define CONFIG_FSL_SATA_V2
#define CONFIG_SYS_FSL_ERRATUM_ESDHC111
#define CONFIG_NUM_DDR_CONTROLLERS 1
#define CONFIG_SYS_CCSRBAR_DEFAULT 0xff700000
...
...
@@ -242,7 +245,6 @@
#define CONFIG_SYS_PPC_E500_DEBUG_TLB 2
#define CONFIG_TSECV2
#define CONFIG_SYS_FSL_SEC_COMPAT 2
#define CONFIG_FSL_SATA_V2
#define CONFIG_SYS_CCSRBAR_DEFAULT 0xff700000
#define CONFIG_SYS_FSL_ERRATUM_ELBC_A001
#define CONFIG_SYS_FSL_ERRATUM_ESDHC111
...
...
@@ -318,7 +320,6 @@
#define CONFIG_SYS_FSL_NUM_CC_PLLS 2
#define CONFIG_SYS_FSL_NUM_LAWS 32
#define CONFIG_SYS_FSL_SEC_COMPAT 4
#define CONFIG_FSL_SATA_V2
#define CONFIG_SYS_NUM_FMAN 1
#define CONFIG_SYS_NUM_FM1_DTSEC 5
#define CONFIG_SYS_NUM_FM1_10GEC 1
...
...
@@ -343,6 +344,7 @@
#define CONFIG_SYS_FSL_ERRATUM_A004510_SVR_REV2 0x11
#define CONFIG_SYS_FSL_CORENET_SNOOPVEC_COREONLY 0xf0000000
#define CONFIG_SYS_FSL_ERRATUM_SRIO_A004034
#define CONFIG_SYS_FSL_ERRATUM_A004849
#elif defined(CONFIG_PPC_P3041)
#define CONFIG_SYS_FSL_QORIQ_CHASSIS1
...
...
@@ -350,7 +352,6 @@
#define CONFIG_SYS_FSL_NUM_CC_PLLS 2
#define CONFIG_SYS_FSL_NUM_LAWS 32
#define CONFIG_SYS_FSL_SEC_COMPAT 4
#define CONFIG_FSL_SATA_V2
#define CONFIG_SYS_NUM_FMAN 1
#define CONFIG_SYS_NUM_FM1_DTSEC 5
#define CONFIG_SYS_NUM_FM1_10GEC 1
...
...
@@ -375,6 +376,7 @@
#define CONFIG_SYS_FSL_ERRATUM_A004510_SVR_REV2 0x11
#define CONFIG_SYS_FSL_CORENET_SNOOPVEC_COREONLY 0xf0000000
#define CONFIG_SYS_FSL_ERRATUM_SRIO_A004034
#define CONFIG_SYS_FSL_ERRATUM_A004849
#elif defined(CONFIG_PPC_P4080)
/* also supports P4040 */
#define CONFIG_SYS_FSL_QORIQ_CHASSIS1
...
...
@@ -417,6 +419,9 @@
#define CONFIG_SYS_FSL_ERRATUM_A004510_SVR_REV 0x20
#define CONFIG_SYS_FSL_CORENET_SNOOPVEC_COREONLY 0xff000000
#define CONFIG_SYS_FSL_ERRATUM_SRIO_A004034
#define CONFIG_SYS_FSL_ERRATUM_A004849
#define CONFIG_SYS_FSL_ERRATUM_A004580
#define CONFIG_SYS_P4080_ERRATUM_PCIE_A003
#elif defined(CONFIG_PPC_P5020)
/* also supports P5010 */
#define CONFIG_SYS_PPC64
/* 64-bit core */
...
...
@@ -425,7 +430,6 @@
#define CONFIG_SYS_FSL_NUM_CC_PLLS 2
#define CONFIG_SYS_FSL_NUM_LAWS 32
#define CONFIG_SYS_FSL_SEC_COMPAT 4
#define CONFIG_FSL_SATA_V2
#define CONFIG_SYS_NUM_FMAN 1
#define CONFIG_SYS_NUM_FM1_DTSEC 5
#define CONFIG_SYS_NUM_FM1_10GEC 1
...
...
@@ -449,6 +453,7 @@
#define CONFIG_SYS_FSL_ERRATUM_SRIO_A004034
#elif defined(CONFIG_PPC_P5040)
#define CONFIG_SYS_PPC64
#define CONFIG_SYS_FSL_QORIQ_CHASSIS1
#define CONFIG_MAX_CPUS 4
#define CONFIG_SYS_FSL_NUM_CC_PLLS 3
...
...
@@ -472,7 +477,6 @@
#define CONFIG_SYS_FSL_ERRATUM_DDR_A003
#define CONFIG_SYS_FSL_ERRATUM_DDR_A003474
#define CONFIG_SYS_FSL_ERRATUM_A004699
#define CONFIG_SYS_FSL_ELBC_MULTIBIT_ECC
#define CONFIG_SYS_FSL_ERRATUM_A004510
#define CONFIG_SYS_FSL_ERRATUM_A004510_SVR_REV 0x10
#define CONFIG_SYS_FSL_CORENET_SNOOPVEC_COREONLY 0xf0000000
...
...
arch/powerpc/include/asm/immap_83xx.h
浏览文件 @
a86fcff6
...
...
@@ -1035,9 +1035,9 @@ typedef struct immap {
}
immap_t
;
#endif
#define CONFIG_SYS_MPC8
3
xx_DDR_OFFSET (0x2000)
#define CONFIG_SYS_MPC8
3
xx_DDR_ADDR \
(CONFIG_SYS_IMMR + CONFIG_SYS_MPC8
3
xx_DDR_OFFSET)
#define CONFIG_SYS_MPC8
x
xx_DDR_OFFSET (0x2000)
#define CONFIG_SYS_MPC8
x
xx_DDR_ADDR \
(CONFIG_SYS_IMMR + CONFIG_SYS_MPC8
x
xx_DDR_OFFSET)
#define CONFIG_SYS_MPC83xx_DMA_OFFSET (0x8000)
#define CONFIG_SYS_MPC83xx_DMA_ADDR \
(CONFIG_SYS_IMMR + CONFIG_SYS_MPC83xx_DMA_OFFSET)
...
...
arch/powerpc/include/asm/immap_85xx.h
浏览文件 @
a86fcff6
...
...
@@ -2619,7 +2619,7 @@ typedef struct serdes_corenet {
#define SRDS_PCCR2_RST_XGMII1 0x00800000
#define SRDS_PCCR2_RST_XGMII2 0x00400000
u32
res5
[
197
];
struct
{
struct
serdes_lane
{
u32
gcr0
;
/* General Control Register 0 */
#define SRDS_GCR0_RRST 0x00400000
#define SRDS_GCR0_1STLANE 0x00010000
...
...
@@ -2637,8 +2637,11 @@ typedef struct serdes_corenet {
u32
res3
;
u32
ttlcr0
;
/* Transition Tracking Loop Ctrl 0 */
#define SRDS_TTLCR0_FLT_SEL_MASK 0x3f000000
#define SRDS_TTLCR0_FLT_SEL_KFR_26 0x10000000
#define SRDS_TTLCR0_FLT_SEL_KPH_28 0x08000000
#define SRDS_TTLCR0_FLT_SEL_750PPM 0x03000000
#define SRDS_TTLCR0_PM_DIS 0x00004000
#define SRDS_TTLCR0_FREQOVD_EN 0x00000001
u32
res4
[
7
];
}
lane
[
24
];
u32
res6
[
384
];
...
...
@@ -2867,9 +2870,9 @@ struct ccsr_pman {
#define CONFIG_SYS_FSL_CORENET_PMAN2_OFFSET 0x5000
#define CONFIG_SYS_FSL_CORENET_PMAN3_OFFSET 0x6000
#endif
#define CONFIG_SYS_MPC8
5
xx_DDR_OFFSET 0x8000
#define CONFIG_SYS_MPC8
5
xx_DDR2_OFFSET 0x9000
#define CONFIG_SYS_MPC8
5
xx_DDR3_OFFSET 0xA000
#define CONFIG_SYS_MPC8
x
xx_DDR_OFFSET 0x8000
#define CONFIG_SYS_MPC8
x
xx_DDR2_OFFSET 0x9000
#define CONFIG_SYS_MPC8
x
xx_DDR3_OFFSET 0xA000
#define CONFIG_SYS_FSL_CORENET_CLK_OFFSET 0xE1000
#define CONFIG_SYS_FSL_CORENET_RCPM_OFFSET 0xE2000
#define CONFIG_SYS_FSL_CORENET_SERDES_OFFSET 0xEA000
...
...
@@ -2929,9 +2932,9 @@ struct ccsr_pman {
#define CONFIG_SYS_FSL_CLUSTER_1_L2_OFFSET 0xC20000
#else
#define CONFIG_SYS_MPC85xx_ECM_OFFSET 0x0000
#define CONFIG_SYS_MPC8
5
xx_DDR_OFFSET 0x2000
#define CONFIG_SYS_MPC8
x
xx_DDR_OFFSET 0x2000
#define CONFIG_SYS_MPC85xx_LBC_OFFSET 0x5000
#define CONFIG_SYS_MPC8
5
xx_DDR2_OFFSET 0x6000
#define CONFIG_SYS_MPC8
x
xx_DDR2_OFFSET 0x6000
#define CONFIG_SYS_MPC85xx_ESPI_OFFSET 0x7000
#define CONFIG_SYS_MPC85xx_PCI1_OFFSET 0x8000
#define CONFIG_SYS_MPC85xx_PCIX_OFFSET 0x8000
...
...
@@ -2998,12 +3001,12 @@ struct ccsr_pman {
(CONFIG_SYS_IMMR + CONFIG_SYS_FSL_CORENET_RCPM_OFFSET)
#define CONFIG_SYS_MPC85xx_ECM_ADDR \
(CONFIG_SYS_IMMR + CONFIG_SYS_MPC85xx_ECM_OFFSET)
#define CONFIG_SYS_MPC8
5
xx_DDR_ADDR \
(CONFIG_SYS_IMMR + CONFIG_SYS_MPC8
5
xx_DDR_OFFSET)
#define CONFIG_SYS_MPC8
5
xx_DDR2_ADDR \
(CONFIG_SYS_IMMR + CONFIG_SYS_MPC8
5
xx_DDR2_OFFSET)
#define CONFIG_SYS_MPC8
5
xx_DDR3_ADDR \
(CONFIG_SYS_IMMR + CONFIG_SYS_MPC8
5
xx_DDR3_OFFSET)
#define CONFIG_SYS_MPC8
x
xx_DDR_ADDR \
(CONFIG_SYS_IMMR + CONFIG_SYS_MPC8
x
xx_DDR_OFFSET)
#define CONFIG_SYS_MPC8
x
xx_DDR2_ADDR \
(CONFIG_SYS_IMMR + CONFIG_SYS_MPC8
x
xx_DDR2_OFFSET)
#define CONFIG_SYS_MPC8
x
xx_DDR3_ADDR \
(CONFIG_SYS_IMMR + CONFIG_SYS_MPC8
x
xx_DDR3_OFFSET)
#define CONFIG_SYS_LBC_ADDR \
(CONFIG_SYS_IMMR + CONFIG_SYS_MPC85xx_LBC_OFFSET)
#define CONFIG_SYS_IFC_ADDR \
...
...
arch/powerpc/include/asm/immap_86xx.h
浏览文件 @
a86fcff6
...
...
@@ -1252,10 +1252,10 @@ typedef struct immap {
extern
immap_t
*
immr
;
#define CONFIG_SYS_MPC8
6
xx_DDR_OFFSET 0x2000
#define CONFIG_SYS_MPC8
6xx_DDR_ADDR (CONFIG_SYS_IMMR + CONFIG_SYS_MPC86
xx_DDR_OFFSET)
#define CONFIG_SYS_MPC8
6
xx_DDR2_OFFSET 0x6000
#define CONFIG_SYS_MPC8
6xx_DDR2_ADDR (CONFIG_SYS_IMMR + CONFIG_SYS_MPC86
xx_DDR2_OFFSET)
#define CONFIG_SYS_MPC8
x
xx_DDR_OFFSET 0x2000
#define CONFIG_SYS_MPC8
xxx_DDR_ADDR (CONFIG_SYS_IMMR + CONFIG_SYS_MPC8x
xx_DDR_OFFSET)
#define CONFIG_SYS_MPC8
x
xx_DDR2_OFFSET 0x6000
#define CONFIG_SYS_MPC8
xxx_DDR2_ADDR (CONFIG_SYS_IMMR + CONFIG_SYS_MPC8x
xx_DDR2_OFFSET)
#define CONFIG_SYS_MPC86xx_DMA_OFFSET 0x21000
#define CONFIG_SYS_MPC86xx_DMA_ADDR (CONFIG_SYS_IMMR + CONFIG_SYS_MPC86xx_DMA_OFFSET)
#define CONFIG_SYS_MPC86xx_PIC_OFFSET 0x40000
...
...
board/exmeritus/hww1u1a/hww1u1a.c
浏览文件 @
a86fcff6
...
...
@@ -105,7 +105,7 @@ int checkboard(void)
* and delay a while before we continue.
*/
if
(
mpc85xx_gpio_get
(
GPIO_RESETS
))
{
ccsr_ddr_t
*
ddr
=
(
ccsr_ddr_t
*
)
CONFIG_SYS_MPC8
5
xx_DDR_ADDR
;
ccsr_ddr_t
*
ddr
=
(
ccsr_ddr_t
*
)
CONFIG_SYS_MPC8
x
xx_DDR_ADDR
;
puts
(
"Debugger detected... extra device reset enabled!
\n
"
);
...
...
board/freescale/common/Makefile
浏览文件 @
a86fcff6
...
...
@@ -53,6 +53,7 @@ COBJS-$(CONFIG_P2020DS) += ics307_clk.o
COBJS-$(CONFIG_P3041DS)
+=
ics307_clk.o
COBJS-$(CONFIG_P4080DS)
+=
ics307_clk.o
COBJS-$(CONFIG_P5020DS)
+=
ics307_clk.o
COBJS-$(CONFIG_P5040DS)
+=
ics307_clk.o
COBJS-$(CONFIG_VSC_CROSSBAR)
+=
vsc3316_3308.o
# deal with common files for P-series corenet based devices
...
...
@@ -60,6 +61,7 @@ SUBLIB-$(CONFIG_P2041RDB) += p_corenet/libp_corenet.o
SUBLIB-$(CONFIG_P3041DS)
+=
p_corenet/libp_corenet.o
SUBLIB-$(CONFIG_P4080DS)
+=
p_corenet/libp_corenet.o
SUBLIB-$(CONFIG_P5020DS)
+=
p_corenet/libp_corenet.o
SUBLIB-$(CONFIG_P5040DS)
+=
p_corenet/libp_corenet.o
SRCS
:=
$(SOBJS:.o=.S)
$
(
COBJS-y:.o
=
.c
)
OBJS
:=
$(
addprefix
$(obj)
,
$
(
COBJS-y
))
...
...
board/freescale/common/ngpixis.h
浏览文件 @
a86fcff6
...
...
@@ -45,7 +45,7 @@ typedef struct ngpixis {
struct
{
u8
sw
;
u8
en
;
}
s
[
8
];
}
s
[
9
];
/* s[0]..s[7] is SW1..SW8, and s[8] is SW11 */
}
__attribute__
((
packed
))
ngpixis_t
;
/* Pointer to the PIXIS register set */
...
...
board/freescale/corenet_ds/Makefile
浏览文件 @
a86fcff6
...
...
@@ -31,9 +31,11 @@ COBJS-y += ddr.o
COBJS-$(CONFIG_P3041DS)
+=
eth_hydra.o
COBJS-$(CONFIG_P4080DS)
+=
eth_p4080.o
COBJS-$(CONFIG_P5020DS)
+=
eth_hydra.o
COBJS-$(CONFIG_P5040DS)
+=
eth_superhydra.o
COBJS-$(CONFIG_P3041DS)
+=
p3041ds_ddr.o
COBJS-$(CONFIG_P4080DS)
+=
p4080ds_ddr.o
COBJS-$(CONFIG_P5020DS)
+=
p5020ds_ddr.o
COBJS-$(CONFIG_P5040DS)
+=
p5040ds_ddr.o
SRCS
:=
$(SOBJS:.o=.S)
$
(
COBJS-y:.o
=
.c
)
OBJS
:=
$(
addprefix
$(obj)
,
$
(
COBJS-y
))
...
...
board/freescale/corenet_ds/corenet_ds.c
浏览文件 @
a86fcff6
...
...
@@ -45,6 +45,7 @@ int checkboard (void)
struct
cpu_type
*
cpu
=
gd
->
cpu
;
ccsr_gur_t
*
gur
=
(
void
*
)
CONFIG_SYS_MPC85xx_GUTS_ADDR
;
unsigned
int
i
;
static
const
char
*
const
freq
[]
=
{
"100"
,
"125"
,
"156.25"
,
"212.5"
};
printf
(
"Board: %sDS, "
,
cpu
->
name
);
printf
(
"Sys ID: 0x%02x, Sys Ver: 0x%02x, FPGA Ver: 0x%02x, "
,
...
...
@@ -83,20 +84,28 @@ int checkboard (void)
* don't match.
*/
puts
(
"SERDES Reference Clocks: "
);
#if defined(CONFIG_P3041DS) || defined(CONFIG_P5020DS)
#if defined(CONFIG_P3041DS) || defined(CONFIG_P5020DS) \
|| defined(CONFIG_P5040DS)
sw
=
in_8
(
&
PIXIS_SW
(
5
));
for
(
i
=
0
;
i
<
3
;
i
++
)
{
static
const
char
*
freq
[]
=
{
"100"
,
"125"
,
"156.25"
,
"212.5"
};
unsigned
int
clock
=
(
sw
>>
(
6
-
(
2
*
i
)))
&
3
;
printf
(
"Bank%u=%sMhz "
,
i
+
1
,
freq
[
clock
]);
}
#ifdef CONFIG_P5040DS
/* On P5040DS, SW11[7:8] determines the Bank 4 frequency */
sw
=
in_8
(
&
PIXIS_SW
(
9
));
printf
(
"Bank4=%sMhz "
,
freq
[
sw
&
3
]);
#endif
puts
(
"
\n
"
);
#else
sw
=
in_8
(
&
PIXIS_SW
(
3
));
printf
(
"Bank1=%uMHz "
,
(
sw
&
0x40
)
?
125
:
100
);
printf
(
"Bank2=%sMHz "
,
(
sw
&
0x20
)
?
"156.25"
:
"125"
);
printf
(
"Bank3=%sMHz
\n
"
,
(
sw
&
0x10
)
?
"156.25"
:
"125"
);
/* SW3[2]: 0 = 100 Mhz, 1 = 125 MHz */
/* SW3[3]: 0 = 125 Mhz, 1 = 156.25 MHz */
/* SW3[4]: 0 = 125 Mhz, 1 = 156.25 MHz */
printf
(
"Bank1=%sMHz "
,
freq
[
!!
(
sw
&
0x40
)]);
printf
(
"Bank2=%sMHz "
,
freq
[
1
+
!!
(
sw
&
0x20
)]);
printf
(
"Bank3=%sMHz
\n
"
,
freq
[
1
+
!!
(
sw
&
0x10
)]);
#endif
return
0
;
...
...
@@ -168,7 +177,8 @@ int misc_init_r(void)
unsigned
int
i
;
u8
sw
;
#if defined(CONFIG_P3041DS) || defined(CONFIG_P5020DS)
#if defined(CONFIG_P3041DS) || defined(CONFIG_P5020DS) \
|| defined(CONFIG_P5040DS)
sw
=
in_8
(
&
PIXIS_SW
(
5
));
for
(
i
=
0
;
i
<
3
;
i
++
)
{
unsigned
int
clock
=
(
sw
>>
(
6
-
(
2
*
i
)))
&
3
;
...
...
board/freescale/corenet_ds/ddr.c
浏览文件 @
a86fcff6
...
...
@@ -139,8 +139,8 @@ static const struct board_specific_parameters udimm0[] = {
{
2
,
1250
,
4
,
6
,
0xff
,
2
,
0
},
{
2
,
1350
,
5
,
7
,
0xff
,
2
,
0
},
{
2
,
1666
,
5
,
8
,
0xff
,
2
,
0
},
{
1
,
850
,
4
,
5
,
0xff
,
2
,
0
},
{
1
,
950
,
4
,
7
,
0xff
,
2
,
0
},
{
1
,
1250
,
4
,
6
,
0xff
,
2
,
0
},
{
1
,
1335
,
4
,
7
,
0xff
,
2
,
0
},
{
1
,
1666
,
4
,
8
,
0xff
,
2
,
0
},
{}
};
...
...
board/freescale/corenet_ds/eth_superhydra.c
0 → 100644
浏览文件 @
a86fcff6
此差异已折叠。
点击以展开。
board/freescale/corenet_ds/p5040ds_ddr.c
0 → 100644
浏览文件 @
a86fcff6
/*
* Copyright 2009-2010 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/fsl_ddr_sdram.h>
fixed_ddr_parm_t
fixed_ddr_parm_0
[]
=
{
{
0
,
0
,
NULL
}
};
fixed_ddr_parm_t
fixed_ddr_parm_1
[]
=
{
{
0
,
0
,
NULL
}
};
board/freescale/mpc8540ads/mpc8540ads.c
浏览文件 @
a86fcff6
...
...
@@ -184,7 +184,7 @@ void lbc_sdram_init(void)
phys_size_t
fixed_sdram
(
void
)
{
#ifndef CONFIG_SYS_RAMBOOT
volatile
ccsr_ddr_t
*
ddr
=
(
void
*
)(
CONFIG_SYS_MPC8
5
xx_DDR_ADDR
);
volatile
ccsr_ddr_t
*
ddr
=
(
void
*
)(
CONFIG_SYS_MPC8
x
xx_DDR_ADDR
);
ddr
->
cs0_bnds
=
CONFIG_SYS_DDR_CS0_BNDS
;
ddr
->
cs0_config
=
CONFIG_SYS_DDR_CS0_CONFIG
;
...
...
board/freescale/mpc8560ads/mpc8560ads.c
浏览文件 @
a86fcff6
...
...
@@ -389,7 +389,7 @@ void lbc_sdram_init(void)
phys_size_t
fixed_sdram
(
void
)
{
#ifndef CONFIG_SYS_RAMBOOT
volatile
ccsr_ddr_t
*
ddr
=
(
void
*
)(
CONFIG_SYS_MPC8
5
xx_DDR_ADDR
);
volatile
ccsr_ddr_t
*
ddr
=
(
void
*
)(
CONFIG_SYS_MPC8
x
xx_DDR_ADDR
);
ddr
->
cs0_bnds
=
CONFIG_SYS_DDR_CS0_BNDS
;
ddr
->
cs0_config
=
CONFIG_SYS_DDR_CS0_CONFIG
;
...
...
board/freescale/mpc8569mds/mpc8569mds.c
浏览文件 @
a86fcff6
...
...
@@ -247,7 +247,7 @@ int checkboard (void)
#if !defined(CONFIG_SPD_EEPROM)
phys_size_t
fixed_sdram
(
void
)
{
volatile
ccsr_ddr_t
*
ddr
=
(
ccsr_ddr_t
*
)
CONFIG_SYS_MPC8
5
xx_DDR_ADDR
;
volatile
ccsr_ddr_t
*
ddr
=
(
ccsr_ddr_t
*
)
CONFIG_SYS_MPC8
x
xx_DDR_ADDR
;
uint
d_init
;
out_be32
(
&
ddr
->
cs0_bnds
,
CONFIG_SYS_DDR_CS0_BNDS
);
...
...
board/freescale/p1023rds/p1023rds.c
浏览文件 @
a86fcff6
...
...
@@ -74,7 +74,7 @@ int checkboard(void)
phys_size_t
fixed_sdram
(
void
)
{
#ifndef CONFIG_SYS_RAMBOOT
ccsr_ddr_t
*
ddr
=
(
ccsr_ddr_t
*
)
CONFIG_SYS_MPC8
5
xx_DDR_ADDR
;
ccsr_ddr_t
*
ddr
=
(
ccsr_ddr_t
*
)
CONFIG_SYS_MPC8
x
xx_DDR_ADDR
;
set_next_law
(
0
,
LAW_SIZE_2G
,
LAW_TRGT_IF_DDR_1
);
...
...
board/freescale/p1_p2_rdb_pc/spl_minimal.c
浏览文件 @
a86fcff6
...
...
@@ -36,7 +36,7 @@ DECLARE_GLOBAL_DATA_PTR;
*/
static
void
sdram_init
(
void
)
{
ccsr_ddr_t
*
ddr
=
(
ccsr_ddr_t
*
)
CONFIG_SYS_MPC8
5
xx_DDR_ADDR
;
ccsr_ddr_t
*
ddr
=
(
ccsr_ddr_t
*
)
CONFIG_SYS_MPC8
x
xx_DDR_ADDR
;
__raw_writel
(
CONFIG_SYS_DDR_CS0_BNDS
,
&
ddr
->
cs0_bnds
);
__raw_writel
(
CONFIG_SYS_DDR_CS0_CONFIG
,
&
ddr
->
cs0_config
);
...
...
board/freescale/p2020ds/p2020ds.c
浏览文件 @
a86fcff6
...
...
@@ -84,7 +84,7 @@ int checkboard(void)
phys_size_t
fixed_sdram
(
void
)
{
volatile
ccsr_ddr_t
*
ddr
=
(
ccsr_ddr_t
*
)
CONFIG_SYS_MPC8
5
xx_DDR_ADDR
;
volatile
ccsr_ddr_t
*
ddr
=
(
ccsr_ddr_t
*
)
CONFIG_SYS_MPC8
x
xx_DDR_ADDR
;
uint
d_init
;
ddr
->
cs0_config
=
CONFIG_SYS_DDR_CS0_CONFIG
;
...
...
board/sbc8548/ddr.c
浏览文件 @
a86fcff6
...
...
@@ -91,7 +91,7 @@ void get_spd(generic_spd_eeprom_t *spd, u8 i2c_address)
*/
phys_size_t
fixed_sdram
(
void
)
{
volatile
ccsr_ddr_t
*
ddr
=
(
void
*
)(
CONFIG_SYS_MPC8
5
xx_DDR_ADDR
);
volatile
ccsr_ddr_t
*
ddr
=
(
void
*
)(
CONFIG_SYS_MPC8
x
xx_DDR_ADDR
);
out_be32
(
&
ddr
->
cs0_bnds
,
0x0000007f
);
out_be32
(
&
ddr
->
cs1_bnds
,
0x008000ff
);
...
...
board/socrates/sdram.c
浏览文件 @
a86fcff6
...
...
@@ -41,7 +41,7 @@
*/
phys_size_t
fixed_sdram
(
void
)
{
volatile
ccsr_ddr_t
*
ddr
=
(
void
*
)(
CONFIG_SYS_MPC8
5
xx_DDR_ADDR
);
volatile
ccsr_ddr_t
*
ddr
=
(
void
*
)(
CONFIG_SYS_MPC8
x
xx_DDR_ADDR
);
/*
* Disable memory controller.
...
...
boards.cfg
浏览文件 @
a86fcff6
...
...
@@ -849,6 +849,7 @@ P5020DS_SDCARD powerpc mpc85xx corenet_ds freescale
P5020DS_SECURE_BOOT powerpc mpc85xx corenet_ds freescale - P5020DS:SECURE_BOOT
P5020DS_SPIFLASH powerpc mpc85xx corenet_ds freescale - P5020DS:RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF80000
P5020DS_SRIO_PCIE_BOOT powerpc mpc85xx corenet_ds freescale - P5020DS:SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF80000
P5040DS powerpc mpc85xx corenet_ds freescale
BSC9131RDB_SPIFLASH powerpc mpc85xx bsc9131rdb freescale - BSC9131RDB:BSC9131RDB,SPIFLASH
stxgp3 powerpc mpc85xx stxgp3 stx
stxssa powerpc mpc85xx stxssa stx - stxssa
...
...
drivers/net/fm/Makefile
浏览文件 @
a86fcff6
...
...
@@ -44,6 +44,7 @@ COBJS-$(CONFIG_PPC_P2041) += p5020.o
COBJS-$(CONFIG_PPC_P3041)
+=
p5020.o
COBJS-$(CONFIG_PPC_P4080)
+=
p4080.o
COBJS-$(CONFIG_PPC_P5020)
+=
p5020.o
COBJS-$(CONFIG_PPC_P5040)
+=
p5040.o
COBJS-$(CONFIG_PPC_T4240)
+=
t4240.o
COBJS-$(CONFIG_PPC_B4860)
+=
b4860.o
endif
...
...
drivers/net/fm/p5040.c
0 → 100644
浏览文件 @
a86fcff6
/*
* Copyright 2011 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 as
* published by the Free Software Foundation; either version 2 of
* the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*/
#include <common.h>
#include <phy.h>
#include <fm_eth.h>
#include <asm/io.h>
#include <asm/immap_85xx.h>
#include <asm/fsl_serdes.h>
u32
port_to_devdisr
[]
=
{
[
FM1_DTSEC1
]
=
FSL_CORENET_DEVDISR2_DTSEC1_1
,
[
FM1_DTSEC2
]
=
FSL_CORENET_DEVDISR2_DTSEC1_2
,
[
FM1_DTSEC3
]
=
FSL_CORENET_DEVDISR2_DTSEC1_3
,
[
FM1_DTSEC4
]
=
FSL_CORENET_DEVDISR2_DTSEC1_4
,
[
FM1_DTSEC5
]
=
FSL_CORENET_DEVDISR2_DTSEC1_5
,
[
FM1_10GEC1
]
=
FSL_CORENET_DEVDISR2_10GEC1
,
[
FM2_DTSEC1
]
=
FSL_CORENET_DEVDISR2_DTSEC2_1
,
[
FM2_DTSEC2
]
=
FSL_CORENET_DEVDISR2_DTSEC2_2
,
[
FM2_DTSEC3
]
=
FSL_CORENET_DEVDISR2_DTSEC2_3
,
[
FM2_DTSEC4
]
=
FSL_CORENET_DEVDISR2_DTSEC2_4
,
[
FM2_DTSEC5
]
=
FSL_CORENET_DEVDISR2_DTSEC2_5
,
[
FM2_10GEC1
]
=
FSL_CORENET_DEVDISR2_10GEC2
,
};
static
int
is_device_disabled
(
enum
fm_port
port
)
{
ccsr_gur_t
*
gur
=
(
void
*
)(
CONFIG_SYS_MPC85xx_GUTS_ADDR
);
u32
devdisr2
=
in_be32
(
&
gur
->
devdisr2
);
return
port_to_devdisr
[
port
]
&
devdisr2
;
}
void
fman_disable_port
(
enum
fm_port
port
)
{
ccsr_gur_t
*
gur
=
(
void
*
)(
CONFIG_SYS_MPC85xx_GUTS_ADDR
);
/* don't allow disabling of DTSEC1 as its needed for MDIO */
if
(
port
==
FM1_DTSEC1
)
return
;
setbits_be32
(
&
gur
->
devdisr2
,
port_to_devdisr
[
port
]);
}
phy_interface_t
fman_port_enet_if
(
enum
fm_port
port
)
{
ccsr_gur_t
*
gur
=
(
void
*
)(
CONFIG_SYS_MPC85xx_GUTS_ADDR
);
u32
rcwsr11
=
in_be32
(
&
gur
->
rcwsr
[
11
]);
if
(
is_device_disabled
(
port
))
return
PHY_INTERFACE_MODE_NONE
;
if
((
port
==
FM1_10GEC1
)
&&
(
is_serdes_configured
(
XAUI_FM1
)))
return
PHY_INTERFACE_MODE_XGMII
;
if
((
port
==
FM2_10GEC1
)
&&
(
is_serdes_configured
(
XAUI_FM2
)))
return
PHY_INTERFACE_MODE_XGMII
;
/* handle RGMII first */
if
((
port
==
FM1_DTSEC5
)
&&
((
rcwsr11
&
FSL_CORENET_RCWSR11_EC1
)
==
FSL_CORENET_RCWSR11_EC1_FM1_DTSEC5_RGMII
))
return
PHY_INTERFACE_MODE_RGMII
;
if
((
port
==
FM1_DTSEC5
)
&&
((
rcwsr11
&
FSL_CORENET_RCWSR11_EC1
)
==
FSL_CORENET_RCWSR11_EC1_FM1_DTSEC5_MII
))
return
PHY_INTERFACE_MODE_MII
;
if
((
port
==
FM2_DTSEC5
)
&&
((
rcwsr11
&
FSL_CORENET_RCWSR11_EC2
)
==
FSL_CORENET_RCWSR11_EC2_FM2_DTSEC5_RGMII
))
return
PHY_INTERFACE_MODE_RGMII
;
if
((
port
==
FM2_DTSEC5
)
&&
((
rcwsr11
&
FSL_CORENET_RCWSR11_EC2
)
==
FSL_CORENET_RCWSR11_EC2_FM2_DTSEC5_MII
))
return
PHY_INTERFACE_MODE_MII
;
switch
(
port
)
{
case
FM1_DTSEC1
:
case
FM1_DTSEC2
:
case
FM1_DTSEC3
:
case
FM1_DTSEC4
:
case
FM1_DTSEC5
:
if
(
is_serdes_configured
(
SGMII_FM1_DTSEC1
+
port
-
FM1_DTSEC1
))
return
PHY_INTERFACE_MODE_SGMII
;
break
;
case
FM2_DTSEC1
:
case
FM2_DTSEC2
:
case
FM2_DTSEC3
:
case
FM2_DTSEC4
:
case
FM2_DTSEC5
:
if
(
is_serdes_configured
(
SGMII_FM2_DTSEC1
+
port
-
FM2_DTSEC1
))
return
PHY_INTERFACE_MODE_SGMII
;
break
;
default:
return
PHY_INTERFACE_MODE_NONE
;
}
return
PHY_INTERFACE_MODE_NONE
;
}
drivers/pci/fsl_pci_init.c
浏览文件 @
a86fcff6
...
...
@@ -470,6 +470,28 @@ void fsl_pci_init(struct pci_controller *hose, struct fsl_pci_info *pci_info)
}
#endif
#ifdef CONFIG_SYS_P4080_ERRATUM_PCIE_A003
if
(
enabled
==
0
)
{
serdes_corenet_t
*
srds_regs
=
(
void
*
)
CONFIG_SYS_FSL_CORENET_SERDES_ADDR
;
temp32
=
in_be32
(
&
srds_regs
->
srdspccr0
);
if
((
temp32
>>
28
)
==
3
)
{
int
i
;
out_be32
(
&
srds_regs
->
srdspccr0
,
2
<<
28
);
setbits_be32
(
&
pci
->
pdb_stat
,
0x08000000
);
in_be32
(
&
pci
->
pdb_stat
);
udelay
(
100
);
clrbits_be32
(
&
pci
->
pdb_stat
,
0x08000000
);
asm
(
"sync;isync"
);
for
(
i
=
0
;
i
<
100
&&
ltssm
<
PCI_LTSSM_L0
;
i
++
)
{
pci_hose_read_config_word
(
hose
,
dev
,
PCI_LTSSM
,
&
ltssm
);
udelay
(
1000
);
}
enabled
=
ltssm
>=
PCI_LTSSM_L0
;
}
}
#endif
if
(
!
enabled
)
{
/* Let the user know there's no PCIe link */
printf
(
"no link, regs @ 0x%lx
\n
"
,
pci_info
->
regs
);
...
...
include/configs/P1010RDB.h
浏览文件 @
a86fcff6
...
...
@@ -553,6 +553,7 @@ extern unsigned long get_sdram_size(void);
/* SATA */
#define CONFIG_FSL_SATA
#define CONFIG_FSL_SATA_V2
#define CONFIG_LIBATA
#ifdef CONFIG_FSL_SATA
...
...
include/configs/P1022DS.h
浏览文件 @
a86fcff6
...
...
@@ -360,6 +360,7 @@
/* SATA */
#define CONFIG_LIBATA
#define CONFIG_FSL_SATA
#define CONFIG_FSL_SATA_V2
#define CONFIG_SYS_SATA_MAX_DEVICE 2
#define CONFIG_SATA1
...
...
include/configs/P1023RDS.h
浏览文件 @
a86fcff6
...
...
@@ -524,7 +524,7 @@ extern unsigned long get_clock_freq(void);
/* Default address of microcode for the Linux Fman driver */
/* QE microcode/firmware address */
#define CONFIG_SYS_QE_FMAN_FW_IN_NOR
#define CONFIG_SYS_QE_FMAN_FW_ADDR 0xEF
00
0000
#define CONFIG_SYS_QE_FMAN_FW_ADDR 0xEF
F4
0000
#else
#define CONFIG_SYS_QE_FMAN_FW_IN_NAND
#define CONFIG_SYS_QE_FMAN_FW_ADDR 0x1f00000
...
...
include/configs/P2041RDB.h
浏览文件 @
a86fcff6
...
...
@@ -202,15 +202,21 @@ unsigned long get_board_sys_clk(unsigned long dummy);
/* Set the local bus clock 1/8 of platform clock */
#define CONFIG_SYS_LBC_LCRR LCRR_CLKDIV_8
#define CONFIG_SYS_FLASH_BASE 0xe8000000
/* Start of PromJet */
/*
* This board doesn't have a promjet connector.
* However, it uses commone corenet board LAW and TLB.
* It is necessary to use the same start address with proper offset.
*/
#define CONFIG_SYS_FLASH_BASE 0xe0000000
#ifdef CONFIG_PHYS_64BIT
#define CONFIG_SYS_FLASH_BASE_PHYS 0xfe
8
000000ull
#define CONFIG_SYS_FLASH_BASE_PHYS 0xfe
0
000000ull
#else
#define CONFIG_SYS_FLASH_BASE_PHYS CONFIG_SYS_FLASH_BASE
#endif
#define CONFIG_SYS_FLASH_BR_PRELIM \
(BR_PHYS_ADDR(CONFIG_SYS_FLASH_BASE_PHYS) | BR_PS_16 | BR_V)
(BR_PHYS_ADDR((CONFIG_SYS_FLASH_BASE_PHYS + 0x8000000)) | \
BR_PS_16 | BR_V)
#define CONFIG_SYS_FLASH_OR_PRELIM \
((0xf8000ff7 & ~OR_GPCM_SCY & ~OR_GPCM_EHTR) \
| OR_GPCM_SCY_8 | OR_GPCM_EHTR_CLEAR)
...
...
@@ -294,7 +300,7 @@ unsigned long get_board_sys_clk(unsigned long dummy);
#define CONFIG_SYS_FLASH_EMPTY_INFO
#define CONFIG_SYS_FLASH_AMD_CHECK_DQ7
#define CONFIG_SYS_FLASH_BANKS_LIST {CONFIG_SYS_FLASH_BASE_PHYS}
#define CONFIG_SYS_FLASH_BANKS_LIST {CONFIG_SYS_FLASH_BASE_PHYS
+ 0x8000000
}
#define CONFIG_BOARD_EARLY_INIT_F
#define CONFIG_BOARD_EARLY_INIT_R
/* call board_early_init_r function */
...
...
@@ -539,7 +545,7 @@ unsigned long get_board_sys_clk(unsigned long dummy);
#define CONFIG_SYS_QE_FMAN_FW_ADDR 0xFFE00000
#else
#define CONFIG_SYS_QE_FMAN_FW_IN_NOR
#define CONFIG_SYS_QE_FMAN_FW_ADDR 0xEF
00
0000
#define CONFIG_SYS_QE_FMAN_FW_ADDR 0xEF
F4
0000
#endif
#define CONFIG_SYS_QE_FMAN_FW_LENGTH 0x10000
#define CONFIG_SYS_FDT_PAD (0x3000 + CONFIG_SYS_QE_FMAN_FW_LENGTH)
...
...
@@ -560,8 +566,10 @@ unsigned long get_board_sys_clk(unsigned long dummy);
#endif
/* CONFIG_PCI */
/* SATA */
#define CONFIG_FSL_SATA_V2
#ifdef CONFIG_FSL_SATA_V2
#define CONFIG_FSL_SATA
#ifdef CONFIG_FSL_SATA
#define CONFIG_LIBATA
#define CONFIG_SYS_SATA_MAX_DEVICE 2
...
...
include/configs/P3041DS.h
浏览文件 @
a86fcff6
...
...
@@ -32,6 +32,7 @@
#define CONFIG_MMC
#define CONFIG_NAND_FSL_ELBC
#define CONFIG_FSL_SATA_V2
#define CONFIG_PCIE3
#define CONFIG_PCIE4
#define CONFIG_SYS_DPAA_RMAN
...
...
include/configs/P5020DS.h
浏览文件 @
a86fcff6
...
...
@@ -32,6 +32,7 @@
#define CONFIG_MMC
#define CONFIG_NAND_FSL_ELBC
#define CONFIG_FSL_SATA_V2
#define CONFIG_PCIE3
#define CONFIG_PCIE4
#define CONFIG_SYS_FSL_RAID_ENGINE
...
...
include/configs/P5040DS.h
0 → 100644
浏览文件 @
a86fcff6
/*
* Copyright 2009-2011 Freescale Semiconductor, Inc.
*
* See file CREDITS for list of people who contributed to this
* project.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
* the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*/
/*
* P5040 DS board configuration file
*
*/
#define CONFIG_P5040DS
#define CONFIG_PHYS_64BIT
#define CONFIG_PPC_P5040
#define CONFIG_FSL_NGPIXIS
/* use common ngPIXIS code */
#define CONFIG_MMC
#define CONFIG_NAND_FSL_ELBC
#define CONFIG_PCIE3
#define CONFIG_SYS_FSL_RAID_ENGINE
#define CONFIG_ICS307_REFCLK_HZ 25000000
/* ICS307 ref clk freq */
#include "corenet_ds.h"
include/configs/corenet_ds.h
浏览文件 @
a86fcff6
...
...
@@ -549,7 +549,7 @@
#define CONFIG_SYS_QE_FMAN_FW_ADDR 0xFFE00000
#else
#define CONFIG_SYS_QE_FMAN_FW_IN_NOR
#define CONFIG_SYS_QE_FMAN_FW_ADDR 0xEF
00
0000
#define CONFIG_SYS_QE_FMAN_FW_ADDR 0xEF
F4
0000
#endif
#define CONFIG_SYS_QE_FMAN_FW_LENGTH 0x10000
#define CONFIG_SYS_FDT_PAD (0x3000 + CONFIG_SYS_QE_FMAN_FW_LENGTH)
...
...
nand_spl/board/freescale/p1010rdb/nand_boot.c
浏览文件 @
a86fcff6
...
...
@@ -35,7 +35,7 @@ unsigned long ddr_freq_mhz;
void
sdram_init
(
void
)
{
ccsr_ddr_t
*
ddr
=
(
ccsr_ddr_t
*
)
CONFIG_SYS_MPC8
5
xx_DDR_ADDR
;
ccsr_ddr_t
*
ddr
=
(
ccsr_ddr_t
*
)
CONFIG_SYS_MPC8
x
xx_DDR_ADDR
;
/* mask off E bit */
u32
svr
=
SVR_SOC_VER
(
mfspr
(
SPRN_SVR
));
...
...
nand_spl/board/freescale/p1023rds/nand_boot.c
浏览文件 @
a86fcff6
...
...
@@ -33,7 +33,7 @@ DECLARE_GLOBAL_DATA_PTR;
/* Fixed sdram init -- doesn't use serial presence detect. */
void
sdram_init
(
void
)
{
ccsr_ddr_t
*
ddr
=
(
ccsr_ddr_t
*
)
CONFIG_SYS_MPC8
5
xx_DDR_ADDR
;
ccsr_ddr_t
*
ddr
=
(
ccsr_ddr_t
*
)
CONFIG_SYS_MPC8
x
xx_DDR_ADDR
;
set_next_law
(
0
,
LAW_SIZE_2G
,
LAW_TRGT_IF_DDR_1
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录