Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
SPARC U-Boot Custodian Tree
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Analytics
Analytics
Repository
Value Stream
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Commits
Open sidebar
U-Boot
Custodians
SPARC U-Boot Custodian Tree
Commits
bea8e84b
Commit
bea8e84b
authored
Dec 16, 2004
by
stroese
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
PCI405 board update
parent
917b8cc4
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
235 additions
and
0 deletions
+235
-0
board/esd/pci405/writeibm.S
board/esd/pci405/writeibm.S
+235
-0
No files found.
board/esd/pci405/writeibm.S
0 → 100644
View file @
bea8e84b
/*------------------------------------------------------------------------------+
*/
/*
*/
/*
This
source
code
has
been
made
available
to
you
by
IBM
on
an
AS
-
IS
*/
/*
basis
.
Anyone
receiving
this
source
is
licensed
under
IBM
*/
/*
copyrights
to
use
it
in
any
way
he
or
she
deems
fit
,
including
*/
/*
copying
it
,
modifying
it
,
compiling
it
,
and
redistributing
it
either
*/
/*
with
or
without
modifications
.
No
license
under
IBM
patents
or
*/
/*
patent
applications
is
to
be
implied
by
the
copyright
license
.
*/
/*
*/
/*
Any
user
of
this
software
should
understand
that
IBM
cannot
provide
*/
/*
technical
support
for
this
software
and
will
not
be
responsible
for
*/
/*
any
consequences
resulting
from
the
use
of
this
software
.
*/
/*
*/
/*
Any
person
who
transfers
this
source
code
or
any
derivative
work
*/
/*
must
include
the
IBM
copyright
notice
,
this
paragraph
,
and
the
*/
/*
preceding
two
paragraphs
in
the
transferred
software
.
*/
/*
*/
/*
COPYRIGHT
I
B
M
CORPORATION
1995
*/
/*
LICENSED
MATERIAL
-
PROGRAM
PROPERTY
OF
I
B
M
*/
/*-------------------------------------------------------------------------------
*/
/*-----------------------------------------------------------------------------
*/
/*
Function
:
ext_bus_cntlr_init
*/
/*
Description
:
Initializes
the
External
Bus
Controller
for
the
external
*/
/*
peripherals
.
IMPORTANT
:
For
pass1
this
code
must
run
from
*/
/*
cache
since
you
can
not
reliably
change
a
peripheral
banks
*/
/*
timing
register
(
pbxap
)
while
running
code
from
that
bank
.
*/
/*
For
ex
.
,
since
we
are
running
from
ROM
on
bank
0
,
we
can
NOT
*/
/*
execute
the
code
that
modifies
bank
0
timings
from
ROM
,
so
*/
/*
we
run
it
from
cache
.
*/
/*
Bank
0
-
Flash
and
SRAM
*/
/*
Bank
1
-
NVRAM
/
RTC
*/
/*
Bank
2
-
Keyboard
/
Mouse
controller
*/
/*
Bank
3
-
IR
controller
*/
/*
Bank
4
-
not
used
*/
/*
Bank
5
-
not
used
*/
/*
Bank
6
-
not
used
*/
/*
Bank
7
-
FPGA
registers
*/
/*-----------------------------------------------------------------------------
*/
#include <ppc4xx.h>
#include <ppc_asm.tmpl>
#include <ppc_defs.h>
#include <asm/cache.h>
#include <asm/mmu.h>
.
globl
write_without_sync
write_without_sync
:
/
*
*
Write
one
values
to
host
via
pci
busmastering
*
ptr
=
0xc0000000
->
0x01000000
(
PCI
)
*
*
ptr
=
0x01234567
;
*/
addi
r31
,
0
,
0
lis
r31
,
0xc000
start1
:
lis
r0
,
0x0123
ori
r0
,
r0
,
0x4567
stw
r0
,
0
(
r31
)
/
*
*
Read
one
value
back
*
ptr
=
(
volatile
unsigned
long
*)
addr
;
*
val
=
*
ptr
;
*/
lwz
r0
,
0
(
r31
)
/
*
*
One
pci
config
write
*
ibmPciConfigWrite
(
0x2e
,
2
,
0x1234
)
;
*/
/
*
subsystem
id
*/
li
r4
,
0x002C
oris
r4
,
r4
,
0x8000
lis
r3
,
0xEEC0
stwbrx
r4
,
0
,
r3
li
r5
,
0x1234
ori
r3
,
r3
,
0x4
stwbrx
r5
,
0
,
r3
b
start1
blr
/*
never
reached
!!!!
*/
.
globl
write_with_sync
write_with_sync
:
/
*
*
Write
one
values
to
host
via
pci
busmastering
*
ptr
=
0xc0000000
->
0x01000000
(
PCI
)
*
*
ptr
=
0x01234567
;
*/
addi
r31
,
0
,
0
lis
r31
,
0xc000
start2
:
lis
r0
,
0x0123
ori
r0
,
r0
,
0x4567
stw
r0
,
0
(
r31
)
/
*
*
Read
one
value
back
*
ptr
=
(
volatile
unsigned
long
*)
addr
;
*
val
=
*
ptr
;
*/
lwz
r0
,
0
(
r31
)
/
*
*
One
pci
config
write
*
ibmPciConfigWrite
(
0x2e
,
2
,
0x1234
)
;
*/
/
*
subsystem
id
*/
li
r4
,
0x002C
oris
r4
,
r4
,
0x8000
lis
r3
,
0xEEC0
stwbrx
r4
,
0
,
r3
sync
li
r5
,
0x1234
ori
r3
,
r3
,
0x4
stwbrx
r5
,
0
,
r3
sync
b
start2
blr
/*
never
reached
!!!!
*/
.
globl
write_with_less_sync
write_with_less_sync
:
/
*
*
Write
one
values
to
host
via
pci
busmastering
*
ptr
=
0xc0000000
->
0x01000000
(
PCI
)
*
*
ptr
=
0x01234567
;
*/
addi
r31
,
0
,
0
lis
r31
,
0xc000
start2b
:
lis
r0
,
0x0123
ori
r0
,
r0
,
0x4567
stw
r0
,
0
(
r31
)
/
*
*
Read
one
value
back
*
ptr
=
(
volatile
unsigned
long
*)
addr
;
*
val
=
*
ptr
;
*/
lwz
r0
,
0
(
r31
)
/
*
*
One
pci
config
write
*
ibmPciConfigWrite
(
0x2e
,
2
,
0x1234
)
;
*/
/
*
subsystem
id
*/
li
r4
,
0x002C
oris
r4
,
r4
,
0x8000
lis
r3
,
0xEEC0
stwbrx
r4
,
0
,
r3
sync
li
r5
,
0x1234
ori
r3
,
r3
,
0x4
stwbrx
r5
,
0
,
r3
/*
sync
*/
b
start2b
blr
/*
never
reached
!!!!
*/
.
globl
write_with_more_sync
write_with_more_sync
:
/
*
*
Write
one
values
to
host
via
pci
busmastering
*
ptr
=
0xc0000000
->
0x01000000
(
PCI
)
*
*
ptr
=
0x01234567
;
*/
addi
r31
,
0
,
0
lis
r31
,
0xc000
start3
:
lis
r0
,
0x0123
ori
r0
,
r0
,
0x4567
stw
r0
,
0
(
r31
)
sync
/
*
*
Read
one
value
back
*
ptr
=
(
volatile
unsigned
long
*)
addr
;
*
val
=
*
ptr
;
*/
lwz
r0
,
0
(
r31
)
sync
/
*
*
One
pci
config
write
*
ibmPciConfigWrite
(
0x2e
,
2
,
0x1234
)
;
*/
/
*
subsystem
id
(
PCIC0_SBSYSVID
)*/
li
r4
,
0x002C
oris
r4
,
r4
,
0x8000
lis
r3
,
0xEEC0
stwbrx
r4
,
0
,
r3
sync
li
r5
,
0x1234
ori
r3
,
r3
,
0x4
stwbrx
r5
,
0
,
r3
sync
b
start3
blr
/*
never
reached
!!!!
*/
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment