Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Librem5
uboot-imx
Commits
1730edf7
Commit
1730edf7
authored
Jun 11, 2008
by
Wolfgang Denk
Browse files
Merge branch 'master' of
git://www.denx.de/git/u-boot-ppc4xx
parents
5ea67393
b2815f79
Changes
89
Hide whitespace changes
Inline
Side-by-side
board/amcc/acadia/memory.c
View file @
1730edf7
...
...
@@ -33,14 +33,6 @@
extern
void
board_pll_init_f
(
void
);
/*
* sdram_init - Dummy implementation for start.S, spd_sdram used on this board!
*/
void
sdram_init
(
void
)
{
return
;
}
#if !defined(CONFIG_NAND_U_BOOT) || defined(CONFIG_NAND_SPL)
static
void
cram_bcr_write
(
u32
wr_val
)
{
...
...
@@ -116,10 +108,3 @@ long int initdram(int board_type)
return
(
CFG_MBYTES_RAM
<<
20
);
}
#ifndef CONFIG_NAND_SPL
int
testdram
(
void
)
{
return
(
0
);
}
#endif
board/amcc/bamboo/bamboo.c
View file @
1730edf7
...
...
@@ -466,73 +466,6 @@ long int initdram (int board_type)
#endif
}
#if defined(CFG_DRAM_TEST)
int
testdram
(
void
)
{
unsigned
long
*
mem
=
(
unsigned
long
*
)
0
;
const
unsigned
long
kend
=
(
1024
/
sizeof
(
unsigned
long
));
unsigned
long
k
,
n
,
*
p32
,
ctr
;
const
unsigned
long
bend
=
CFG_MBYTES_SDRAM
*
1024
*
1024
;
mtmsr
(
0
);
for
(
k
=
0
;
k
<
CFG_MBYTES_SDRAM
*
1024
;
++
k
,
mem
+=
(
1024
/
sizeof
(
unsigned
long
)))
{
if
((
k
&
1023
)
==
0
)
{
printf
(
"%3d MB
\r
"
,
k
/
1024
);
}
memset
(
mem
,
0xaaaaaaaa
,
1024
);
for
(
n
=
0
;
n
<
kend
;
++
n
)
{
if
(
mem
[
n
]
!=
0xaaaaaaaa
)
{
printf
(
"SDRAM test fails at: %08x
\n
"
,
(
uint
)
&
mem
[
n
]);
return
1
;
}
}
memset
(
mem
,
0x55555555
,
1024
);
for
(
n
=
0
;
n
<
kend
;
++
n
)
{
if
(
mem
[
n
]
!=
0x55555555
)
{
printf
(
"SDRAM test fails at: %08x
\n
"
,
(
uint
)
&
mem
[
n
]);
return
1
;
}
}
}
/*
* Perform a sequence test to ensure that all
* memory locations are uniquely addressable
*/
ctr
=
0
;
p32
=
0
;
while
((
unsigned
long
)
p32
!=
bend
)
{
if
(
0
==
((
unsigned
long
)
p32
&
((
1
<<
20
)
-
1
)))
printf
(
"Writing %3d MB
\r
"
,
(
unsigned
long
)
p32
>>
20
);
*
p32
++
=
ctr
++
;
}
ctr
=
0
;
p32
=
0
;
while
((
unsigned
long
)
p32
!=
bend
)
{
if
(
0
==
((
unsigned
long
)
p32
&
((
1
<<
20
)
-
1
)))
printf
(
"Verifying %3d MB
\r
"
,
(
unsigned
long
)
p32
>>
20
);
if
(
*
p32
!=
ctr
)
{
printf
(
"SDRAM test fails at: %08x
\n
"
,
p32
);
return
1
;
}
ctr
++
;
p32
++
;
}
printf
(
"SDRAM test passes
\n
"
);
return
0
;
}
#endif
/*************************************************************************
* pci_pre_init
*
...
...
board/amcc/bubinga/bubinga.c
View file @
1730edf7
...
...
@@ -66,14 +66,6 @@ int checkboard(void)
return
(
0
);
}
/*
* sdram_init - Dummy implementation for start.S, spd_sdram used on this board!
*/
void
sdram_init
(
void
)
{
return
;
}
/* -------------------------------------------------------------------------
initdram(int board_type) reads EEPROM via I2c. EEPROM contains all of
the necessary info for SDRAM controller configuration
...
...
@@ -85,11 +77,3 @@ long int initdram(int board_type)
ret
=
spd_sdram
();
return
ret
;
}
int
testdram
(
void
)
{
/* TODO: XXX XXX XXX */
printf
(
"test: xxx MB - ok
\n
"
);
return
(
0
);
}
board/amcc/canyonlands/canyonlands.c
View file @
1730edf7
...
...
@@ -211,44 +211,6 @@ long int initdram(int board_type)
}
#endif
#if defined(CFG_DRAM_TEST)
int
testdram
(
void
)
{
unsigned
long
*
mem
=
(
unsigned
long
*
)
0
;
const
unsigned
long
kend
=
(
1024
/
sizeof
(
unsigned
long
));
unsigned
long
k
,
n
;
mtmsr
(
0
);
for
(
k
=
0
;
k
<
CFG_KBYTES_SDRAM
;
++
k
,
mem
+=
(
1024
/
sizeof
(
unsigned
long
)))
{
if
((
k
&
1023
)
==
0
)
{
printf
(
"%3d MB
\r
"
,
k
/
1024
);
}
memset
(
mem
,
0xaaaaaaaa
,
1024
);
for
(
n
=
0
;
n
<
kend
;
++
n
)
{
if
(
mem
[
n
]
!=
0xaaaaaaaa
)
{
printf
(
"SDRAM test fails at: %08x
\n
"
,
(
uint
)
&
mem
[
n
]);
return
1
;
}
}
memset
(
mem
,
0x55555555
,
1024
);
for
(
n
=
0
;
n
<
kend
;
++
n
)
{
if
(
mem
[
n
]
!=
0x55555555
)
{
printf
(
"SDRAM test fails at: %08x
\n
"
,
(
uint
)
&
mem
[
n
]);
return
1
;
}
}
}
printf
(
"SDRAM test passes
\n
"
);
return
0
;
}
#endif
/*
* pci_target_init
*
...
...
board/amcc/ebony/ebony.c
View file @
1730edf7
...
...
@@ -116,36 +116,6 @@ long int initdram(int board_type)
return
dram_size
;
}
#if defined(CFG_DRAM_TEST)
int
testdram
(
void
)
{
uint
*
pstart
=
(
uint
*
)
0x00000000
;
uint
*
pend
=
(
uint
*
)
0x08000000
;
uint
*
p
;
for
(
p
=
pstart
;
p
<
pend
;
p
++
)
*
p
=
0xaaaaaaaa
;
for
(
p
=
pstart
;
p
<
pend
;
p
++
)
{
if
(
*
p
!=
0xaaaaaaaa
)
{
printf
(
"SDRAM test fails at: %08x
\n
"
,
(
uint
)
p
);
return
1
;
}
}
for
(
p
=
pstart
;
p
<
pend
;
p
++
)
*
p
=
0x55555555
;
for
(
p
=
pstart
;
p
<
pend
;
p
++
)
{
if
(
*
p
!=
0x55555555
)
{
printf
(
"SDRAM test fails at: %08x
\n
"
,
(
uint
)
p
);
return
1
;
}
}
return
0
;
}
#endif
#if !defined(CONFIG_SPD_EEPROM)
/*************************************************************************
* fixed sdram init -- doesn't use serial presence detect.
...
...
board/amcc/katmai/katmai.c
View file @
1730edf7
...
...
@@ -258,36 +258,6 @@ u32 ddr_clktr(u32 default_val) {
return
(
SDRAM_CLKTR_CLKP_90_DEG_ADV
);
}
#if defined(CFG_DRAM_TEST)
int
testdram
(
void
)
{
uint
*
pstart
=
(
uint
*
)
0x00000000
;
uint
*
pend
=
(
uint
*
)
0x08000000
;
uint
*
p
;
for
(
p
=
pstart
;
p
<
pend
;
p
++
)
*
p
=
0xaaaaaaaa
;
for
(
p
=
pstart
;
p
<
pend
;
p
++
)
{
if
(
*
p
!=
0xaaaaaaaa
)
{
printf
(
"SDRAM test fails at: %08x
\n
"
,
(
uint
)
p
);
return
1
;
}
}
for
(
p
=
pstart
;
p
<
pend
;
p
++
)
*
p
=
0x55555555
;
for
(
p
=
pstart
;
p
<
pend
;
p
++
)
{
if
(
*
p
!=
0x55555555
)
{
printf
(
"SDRAM test fails at: %08x
\n
"
,
(
uint
)
p
);
return
1
;
}
}
return
0
;
}
#endif
/*************************************************************************
* pci_pre_init
*
...
...
board/amcc/kilauea/Makefile
View file @
1730edf7
...
...
@@ -25,8 +25,7 @@ include $(TOPDIR)/config.mk
LIB
=
$(obj)
lib
$(BOARD)
.a
COBJS
=
$(BOARD)
.o cmd_pll.o memory.o
SOBJS
=
init.o
COBJS
=
$(BOARD)
.o cmd_pll.o
SRCS
:=
$(SOBJS:.o=.S)
$(COBJS:.o=.c)
OBJS
:=
$(
addprefix
$(obj)
,
$(SOBJS)
$(COBJS)
)
...
...
board/amcc/kilauea/init.S
deleted
100644 → 0
View file @
5ea67393
/*
*
(
C
)
Copyright
2007
-
2008
*
Stefan
Roese
,
DENX
Software
Engineering
,
sr
@
denx
.
de
.
*
*
Based
on
code
provided
from
UDTech
and
AMCC
*
*
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
*/
#include <config.h>
#include <ppc4xx.h>
#include <ppc_asm.tmpl>
#include <ppc_defs.h>
#define mtsdram_as(reg, value) \
addi
r4
,
0
,
reg
; \
mtdcr
memcfga
,
r4
; \
addis
r4
,
0
,
value
@
h
; \
ori
r4
,
r4
,
value
@
l
; \
mtdcr
memcfgd
,
r4
;
.
globl
ext_bus_cntlr_init
ext_bus_cntlr_init
:
#if !defined(CONFIG_NAND_U_BOOT) || defined(CONFIG_NAND_SPL)
/
*
*
DDR2
setup
*/
/
*
Following
the
DDR
Core
Manual
,
here
is
the
initialization
*/
/
*
Step
1
*/
/
*
Step
2
*/
/
*
Step
3
*/
/
*
base
=
00000000
,
size
=
256
MByte
(
6
),
mode
=
7
(
n
*
10
*
8
)
*/
mtsdram_as
(
SDRAM_MB0CF
,
0x00006701
)
;
/
*
SET
SDRAM_MB1CF
-
Not
enabled
*/
mtsdram_as
(
SDRAM_MB1CF
,
0x00000000
)
;
/
*
SET
SDRAM_MB2CF
-
Not
enabled
*/
mtsdram_as
(
SDRAM_MB2CF
,
0x00000000
)
;
/
*
SET
SDRAM_MB3CF
-
Not
enabled
*/
mtsdram_as
(
SDRAM_MB3CF
,
0x00000000
)
;
/
*
SDRAM_CLKTR
:
Adv
Addr
clock
by
180
deg
*/
mtsdram_as
(
SDRAM_CLKTR
,
0x80000000
)
;
/
*
Refresh
Time
register
(
0x30
)
Refresh
every
7
.8125
uS
*/
mtsdram_as
(
SDRAM_RTR
,
0x06180000
)
;
/
*
SDRAM_SDTR1
*/
mtsdram_as
(
SDRAM_SDTR1
,
0x80201000
)
;
/
*
SDRAM_SDTR2
*/
mtsdram_as
(
SDRAM_SDTR2
,
0x32204232
)
;
/
*
SDRAM_SDTR3
*/
mtsdram_as
(
SDRAM_SDTR3
,
0x080b0d1a
)
;
mtsdram_as
(
SDRAM_MMODE
,
0x00000442
)
;
mtsdram_as
(
SDRAM_MEMODE
,
0x00000404
)
;
/
*
SDRAM0_MCOPT1
(
0X20
)
No
ECC
Gen
*/
mtsdram_as
(
SDRAM_MCOPT1
,
0x04322000
)
;
/
*
NOP
*/
mtsdram_as
(
SDRAM_INITPLR0
,
0xa8380000
)
;
/
*
precharge
3
DDR
clock
cycle
*/
mtsdram_as
(
SDRAM_INITPLR1
,
0x81900400
)
;
/
*
EMR2
twr
=
2
tck
*/
mtsdram_as
(
SDRAM_INITPLR2
,
0x81020000
)
;
/
*
EMR3
twr
=
2
tck
*/
mtsdram_as
(
SDRAM_INITPLR3
,
0x81030000
)
;
/
*
EMR
DLL
ENABLE
twr
=
2
tck
*/
mtsdram_as
(
SDRAM_INITPLR4
,
0x81010404
)
;
/
*
MR
w
/
DLL
reset
*
Note
:
5
is
CL
.
May
need
to
be
changed
*/
mtsdram_as
(
SDRAM_INITPLR5
,
0x81000542
)
;
/
*
precharge
3
DDR
clock
cycle
*/
mtsdram_as
(
SDRAM_INITPLR6
,
0x81900400
)
;
/
*
Auto
-
refresh
trfc
=
26
tck
*/
mtsdram_as
(
SDRAM_INITPLR7
,
0x8D080000
)
;
/
*
Auto
-
refresh
trfc
=
26
tck
*/
mtsdram_as
(
SDRAM_INITPLR8
,
0x8D080000
)
;
/
*
Auto
-
refresh
*/
mtsdram_as
(
SDRAM_INITPLR9
,
0x8D080000
)
;
/
*
Auto
-
refresh
*/
mtsdram_as
(
SDRAM_INITPLR10
,
0x8D080000
)
;
/
*
MRS
-
normal
operation
; wait 2 cycle (set wait to tMRD) */
mtsdram_as
(
SDRAM_INITPLR11
,
0x81000442
)
;
mtsdram_as
(
SDRAM_INITPLR12
,
0x81010780
)
;
mtsdram_as
(
SDRAM_INITPLR13
,
0x81010400
)
;
mtsdram_as
(
SDRAM_INITPLR14
,
0x00000000
)
;
mtsdram_as
(
SDRAM_INITPLR15
,
0x00000000
)
;
/
*
SET
MCIF0_CODT
Die
Termination
On
*/
mtsdram_as
(
SDRAM_CODT
,
0x0080f837
)
;
mtsdram_as
(
SDRAM_MODT0
,
0x01800000
)
;
mtsdram_as
(
SDRAM_MODT1
,
0x00000000
)
;
mtsdram_as
(
SDRAM_WRDTR
,
0x00000000
)
;
/
*
SDRAM0_MCOPT2
(
0X21
)
Start
initialization
*/
mtsdram_as
(
SDRAM_MCOPT2
,
0x20000000
)
;
/
*
Step
5
*/
lis
r3
,
0x1
/*
400000
=
wait
100
ms
*/
mtctr
r3
pll_wait
:
bdnz
pll_wait
/
*
Step
6
*/
/
*
SDRAM_DLCR
*/
mtsdram_as
(
SDRAM_DLCR
,
0x030000a5
)
;
/
*
SDRAM_RDCC
*/
mtsdram_as
(
SDRAM_RDCC
,
0x40000000
)
;
/
*
SDRAM_RQDC
*/
mtsdram_as
(
SDRAM_RQDC
,
0x80000038
)
;
/
*
SDRAM_RFDC
*/
mtsdram_as
(
SDRAM_RFDC
,
0x00000209
)
;
/
*
Enable
memory
controller
*/
mtsdram_as
(
SDRAM_MCOPT2
,
0x28000000
)
;
#endif /* #ifndef CONFIG_NAND_U_BOOT */
blr
board/amcc/kilauea/memory.c
deleted
100644 → 0
View file @
5ea67393
/*
* (C) Copyright 2007
* Stefan Roese, DENX Software Engineering, sr@denx.de.
*
* 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
*/
#include <common.h>
#include <asm/processor.h>
#include <i2c.h>
void
sdram_init
(
void
)
{
return
;
}
long
int
initdram
(
int
board_type
)
{
return
(
CFG_MBYTES_SDRAM
<<
20
);
}
#if defined(CFG_DRAM_TEST)
int
testdram
(
void
)
{
printf
(
"testdram
\n
"
);
#if defined (CONFIG_NAND_U_BOOT)
return
0
;
#endif
uint
*
pstart
=
(
uint
*
)
0x00000000
;
uint
*
pend
=
(
uint
*
)
0x00001000
;
uint
*
p
;
for
(
p
=
pstart
;
p
<
pend
;
p
++
)
{
*
p
=
0xaaaaaaaa
;
}
for
(
p
=
pstart
;
p
<
pend
;
p
++
)
{
if
(
*
p
!=
0xaaaaaaaa
)
{
#if !defined (CONFIG_NAND_SPL)
printf
(
"SDRAM test fails at: %08x
\n
"
,
(
uint
)
p
);
#endif
return
1
;
}
}
for
(
p
=
pstart
;
p
<
pend
;
p
++
)
{
*
p
=
0x55555555
;
}
for
(
p
=
pstart
;
p
<
pend
;
p
++
)
{
if
(
*
p
!=
0x55555555
)
{
#if !defined (CONFIG_NAND_SPL)
printf
(
"SDRAM test fails at: %08x
\n
"
,
(
uint
)
p
);
#endif
return
1
;
}
}
#if !defined (CONFIG_NAND_SPL)
printf
(
"SDRAM test passed!!!
\n
"
);
#endif
return
0
;
}
#endif
board/amcc/luan/luan.c
View file @
1730edf7
...
...
@@ -125,50 +125,6 @@ u32 ddr_clktr(u32 default_val) {
return
(
SDRAM_CLKTR_CLKP_180_DEG_ADV
);
}
/*************************************************************************
* int testdram()
*
************************************************************************/
#if defined(CFG_DRAM_TEST)
int
testdram
(
void
)
{
unsigned
long
*
mem
=
(
unsigned
long
*
)
0
;
const
unsigned
long
kend
=
(
1024
/
sizeof
(
unsigned
long
));
unsigned
long
k
,
n
;
mtmsr
(
0
);
for
(
k
=
0
;
k
<
CFG_KBYTES_SDRAM
;
++
k
,
mem
+=
(
1024
/
sizeof
(
unsigned
long
)))
{
if
((
k
&
1023
)
==
0
)
{
printf
(
"%3d MB
\r
"
,
k
/
1024
);
}
memset
(
mem
,
0xaaaaaaaa
,
1024
);
for
(
n
=
0
;
n
<
kend
;
++
n
)
{
if
(
mem
[
n
]
!=
0xaaaaaaaa
)
{
printf
(
"SDRAM test fails at: %08x
\n
"
,
(
uint
)
&
mem
[
n
]);
return
1
;
}
}
memset
(
mem
,
0x55555555
,
1024
);
for
(
n
=
0
;
n
<
kend
;
++
n
)
{
if
(
mem
[
n
]
!=
0x55555555
)
{
printf
(
"SDRAM test fails at: %08x
\n
"
,
(
uint
)
&
mem
[
n
]);
return
1
;
}
}
}
printf
(
"SDRAM test passes
\n
"
);
return
0
;
}
#endif
/*************************************************************************
* pci_pre_init
*
...
...
board/amcc/makalu/Makefile
View file @
1730edf7
...
...
@@ -25,7 +25,7 @@ include $(TOPDIR)/config.mk
LIB
=
$(obj)
lib
$(BOARD)
.a
COBJS
=
$(BOARD)
.o cmd_pll.o
memory.o
COBJS
=
$(BOARD)
.o cmd_pll.o
SOBJS
=
init.o
SRCS
:=
$(SOBJS:.o=.S)
$(COBJS:.o=.c)
...
...
board/amcc/makalu/init.S
View file @
1730edf7
/*
*
Copyright
(
c
)
2008
Nuovation
System
Designs
,
LLC
*
Grant
Erickson
<
gerickson
@
nuovations
.
com
>
*
*
(
C
)
Copyright
2007
-
2008
*
Stefan
Roese
,
DENX
Software
Engineering
,
sr
@
denx
.
de
.
*
*
B
ased
on
code
provided
from
Senao
and
AMCC
*
Originally
b
ased
on
code
provided
from
Senao
and
AMCC
*
*
See
file
CREDITS
for
list
of
people
who
contributed
to
this
*
project
.
...
...
@@ -23,126 +26,6 @@
*
MA
02111
-
1307
USA
*/
#include <config.h>
#include <ppc4xx.h>
#include <ppc_asm.tmpl>
#include <ppc_defs.h>
#define mtsdram_as(reg, value) \
addi
r4
,
0
,
reg
; \
mtdcr
memcfga
,
r4
; \
addis
r4
,
0
,
value
@
h
; \
ori
r4
,
r4
,
value
@
l
; \
mtdcr
memcfgd
,
r4
;
.
globl
ext_bus_cntlr_init
ext_bus_cntlr_init
:
/
*
*
DDR2
setup
*/
/
*
Following
the
DDR
Core
Manual
,
here
is
the
initialization
*/
/
*
Step
1
*/
/
*
Step
2
*/
/
*
Step
3
*/
/
*
base
=
00000000
,
size
=
128
MByte
(
5
),
mode
=
2
(
n
*
10
*
4
)
*/
mtsdram_as
(
SDRAM_MB0CF
,
0x00005201
)
;
/
*
base
=
08000000
,
size
=
128
MByte
(
5
),
mode
=
2
(
n
*
10
*
4
)
*/
mtsdram_as
(
SDRAM_MB1CF
,
(
0x08000000
>>
3
)
|
0x5201
)
;
/
*
SDRAM_CLKTR
:
Adv
Addr
clock
by
180
deg
*/
mtsdram_as
(
SDRAM_CLKTR
,0
x80000000
)
;
/
*
Refresh
Time
register
(
0x30
)
Refresh
every
7
.8125
uS
*/
mtsdram_as
(
SDRAM_RTR
,
0x06180000
)
;
/
*
SDRAM_SDTR1
*/
mtsdram_as
(
SDRAM_SDTR1
,
0x80201000
)
;