Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
linux-davinci
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
linux
linux-davinci
Commits
be26a3df
Commit
be26a3df
authored
Feb 15, 2010
by
Tony Lindgren
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'debug-ll' into omap-for-linus
parents
918cae14
61b603b4
Changes
58
Hide whitespace changes
Inline
Side-by-side
Showing
58 changed files
with
507 additions
and
243 deletions
+507
-243
arch/arm/boot/compressed/head.S
arch/arm/boot/compressed/head.S
+10
-10
arch/arm/kernel/debug.S
arch/arm/kernel/debug.S
+6
-6
arch/arm/mach-aaec2000/include/mach/debug-macro.S
arch/arm/mach-aaec2000/include/mach/debug-macro.S
+1
-1
arch/arm/mach-at91/include/mach/debug-macro.S
arch/arm/mach-at91/include/mach/debug-macro.S
+1
-1
arch/arm/mach-clps711x/include/mach/debug-macro.S
arch/arm/mach-clps711x/include/mach/debug-macro.S
+1
-1
arch/arm/mach-davinci/include/mach/debug-macro.S
arch/arm/mach-davinci/include/mach/debug-macro.S
+1
-1
arch/arm/mach-dove/include/mach/debug-macro.S
arch/arm/mach-dove/include/mach/debug-macro.S
+1
-1
arch/arm/mach-ebsa110/include/mach/debug-macro.S
arch/arm/mach-ebsa110/include/mach/debug-macro.S
+1
-1
arch/arm/mach-ep93xx/include/mach/debug-macro.S
arch/arm/mach-ep93xx/include/mach/debug-macro.S
+1
-1
arch/arm/mach-footbridge/include/mach/debug-macro.S
arch/arm/mach-footbridge/include/mach/debug-macro.S
+2
-2
arch/arm/mach-gemini/include/mach/debug-macro.S
arch/arm/mach-gemini/include/mach/debug-macro.S
+1
-1
arch/arm/mach-h720x/include/mach/debug-macro.S
arch/arm/mach-h720x/include/mach/debug-macro.S
+1
-1
arch/arm/mach-integrator/include/mach/debug-macro.S
arch/arm/mach-integrator/include/mach/debug-macro.S
+1
-1
arch/arm/mach-iop13xx/include/mach/debug-macro.S
arch/arm/mach-iop13xx/include/mach/debug-macro.S
+1
-1
arch/arm/mach-iop32x/include/mach/debug-macro.S
arch/arm/mach-iop32x/include/mach/debug-macro.S
+1
-1
arch/arm/mach-iop33x/include/mach/debug-macro.S
arch/arm/mach-iop33x/include/mach/debug-macro.S
+1
-1
arch/arm/mach-ixp2000/include/mach/debug-macro.S
arch/arm/mach-ixp2000/include/mach/debug-macro.S
+1
-1
arch/arm/mach-ixp23xx/include/mach/debug-macro.S
arch/arm/mach-ixp23xx/include/mach/debug-macro.S
+1
-1
arch/arm/mach-ixp4xx/include/mach/debug-macro.S
arch/arm/mach-ixp4xx/include/mach/debug-macro.S
+1
-1
arch/arm/mach-kirkwood/include/mach/debug-macro.S
arch/arm/mach-kirkwood/include/mach/debug-macro.S
+1
-1
arch/arm/mach-ks8695/include/mach/debug-macro.S
arch/arm/mach-ks8695/include/mach/debug-macro.S
+1
-1
arch/arm/mach-l7200/include/mach/debug-macro.S
arch/arm/mach-l7200/include/mach/debug-macro.S
+1
-1
arch/arm/mach-lh7a40x/include/mach/debug-macro.S
arch/arm/mach-lh7a40x/include/mach/debug-macro.S
+1
-1
arch/arm/mach-loki/include/mach/debug-macro.S
arch/arm/mach-loki/include/mach/debug-macro.S
+1
-1
arch/arm/mach-mmp/include/mach/debug-macro.S
arch/arm/mach-mmp/include/mach/debug-macro.S
+1
-1
arch/arm/mach-msm/include/mach/debug-macro.S
arch/arm/mach-msm/include/mach/debug-macro.S
+2
-2
arch/arm/mach-mv78xx0/include/mach/debug-macro.S
arch/arm/mach-mv78xx0/include/mach/debug-macro.S
+1
-1
arch/arm/mach-netx/include/mach/debug-macro.S
arch/arm/mach-netx/include/mach/debug-macro.S
+1
-1
arch/arm/mach-nomadik/include/mach/debug-macro.S
arch/arm/mach-nomadik/include/mach/debug-macro.S
+1
-1
arch/arm/mach-ns9xxx/include/mach/debug-macro.S
arch/arm/mach-ns9xxx/include/mach/debug-macro.S
+1
-1
arch/arm/mach-omap1/include/mach/debug-macro.S
arch/arm/mach-omap1/include/mach/debug-macro.S
+76
-14
arch/arm/mach-omap1/serial.c
arch/arm/mach-omap1/serial.c
+3
-3
arch/arm/mach-omap2/board-3630sdp.c
arch/arm/mach-omap2/board-3630sdp.c
+1
-1
arch/arm/mach-omap2/board-zoom3.c
arch/arm/mach-omap2/board-zoom3.c
+1
-1
arch/arm/mach-omap2/include/mach/debug-macro.S
arch/arm/mach-omap2/include/mach/debug-macro.S
+102
-30
arch/arm/mach-omap2/serial.c
arch/arm/mach-omap2/serial.c
+11
-4
arch/arm/mach-orion5x/include/mach/debug-macro.S
arch/arm/mach-orion5x/include/mach/debug-macro.S
+1
-1
arch/arm/mach-pnx4008/include/mach/debug-macro.S
arch/arm/mach-pnx4008/include/mach/debug-macro.S
+1
-1
arch/arm/mach-pxa/include/mach/debug-macro.S
arch/arm/mach-pxa/include/mach/debug-macro.S
+1
-1
arch/arm/mach-realview/include/mach/debug-macro.S
arch/arm/mach-realview/include/mach/debug-macro.S
+1
-1
arch/arm/mach-rpc/include/mach/debug-macro.S
arch/arm/mach-rpc/include/mach/debug-macro.S
+1
-1
arch/arm/mach-s3c2410/include/mach/debug-macro.S
arch/arm/mach-s3c2410/include/mach/debug-macro.S
+1
-1
arch/arm/mach-s3c24a0/include/mach/debug-macro.S
arch/arm/mach-s3c24a0/include/mach/debug-macro.S
+1
-1
arch/arm/mach-s3c6400/include/mach/debug-macro.S
arch/arm/mach-s3c6400/include/mach/debug-macro.S
+1
-1
arch/arm/mach-s5pc100/include/mach/debug-macro.S
arch/arm/mach-s5pc100/include/mach/debug-macro.S
+1
-1
arch/arm/mach-sa1100/include/mach/debug-macro.S
arch/arm/mach-sa1100/include/mach/debug-macro.S
+1
-1
arch/arm/mach-shark/include/mach/debug-macro.S
arch/arm/mach-shark/include/mach/debug-macro.S
+1
-1
arch/arm/mach-u300/include/mach/debug-macro.S
arch/arm/mach-u300/include/mach/debug-macro.S
+1
-1
arch/arm/mach-ux500/include/mach/debug-macro.S
arch/arm/mach-ux500/include/mach/debug-macro.S
+1
-1
arch/arm/mach-versatile/include/mach/debug-macro.S
arch/arm/mach-versatile/include/mach/debug-macro.S
+1
-1
arch/arm/plat-mxc/include/mach/debug-macro.S
arch/arm/plat-mxc/include/mach/debug-macro.S
+1
-1
arch/arm/plat-omap/Kconfig
arch/arm/plat-omap/Kconfig
+0
-19
arch/arm/plat-omap/common.c
arch/arm/plat-omap/common.c
+26
-3
arch/arm/plat-omap/include/plat/common.h
arch/arm/plat-omap/include/plat/common.h
+6
-0
arch/arm/plat-omap/include/plat/omap16xx.h
arch/arm/plat-omap/include/plat/omap16xx.h
+37
-37
arch/arm/plat-omap/include/plat/serial.h
arch/arm/plat-omap/include/plat/serial.h
+49
-21
arch/arm/plat-omap/include/plat/uncompress.h
arch/arm/plat-omap/include/plat/uncompress.h
+133
-48
arch/arm/plat-stmp3xxx/include/mach/debug-macro.S
arch/arm/plat-stmp3xxx/include/mach/debug-macro.S
+1
-1
No files found.
arch/arm/boot/compressed/head.S
View file @
be26a3df
...
...
@@ -22,13 +22,13 @@
#if defined(CONFIG_DEBUG_ICEDCC)
#ifdef CONFIG_CPU_V6
.
macro
loadsp
,
rb
.
macro
loadsp
,
rb
,
tmp
.
endm
.
macro
writeb
,
ch
,
rb
mcr
p14
,
0
,
\
ch
,
c0
,
c5
,
0
.
endm
#elif defined(CONFIG_CPU_V7)
.
macro
loadsp
,
rb
.
macro
loadsp
,
rb
,
tmp
.
endm
.
macro
writeb
,
ch
,
rb
wait
:
mrc
p14
,
0
,
pc
,
c0
,
c1
,
0
...
...
@@ -36,13 +36,13 @@ wait: mrc p14, 0, pc, c0, c1, 0
mcr
p14
,
0
,
\
ch
,
c0
,
c5
,
0
.
endm
#elif defined(CONFIG_CPU_XSCALE)
.
macro
loadsp
,
rb
.
macro
loadsp
,
rb
,
tmp
.
endm
.
macro
writeb
,
ch
,
rb
mcr
p14
,
0
,
\
ch
,
c8
,
c0
,
0
.
endm
#else
.
macro
loadsp
,
rb
.
macro
loadsp
,
rb
,
tmp
.
endm
.
macro
writeb
,
ch
,
rb
mcr
p14
,
0
,
\
ch
,
c1
,
c0
,
0
...
...
@@ -58,7 +58,7 @@ wait: mrc p14, 0, pc, c0, c1, 0
.
endm
#if defined(CONFIG_ARCH_SA1100)
.
macro
loadsp
,
rb
.
macro
loadsp
,
rb
,
tmp
mov
\
rb
,
#
0x80000000
@
physical
base
address
#ifdef CONFIG_DEBUG_LL_SER3
add
\
rb
,
\
rb
,
#
0x00050000
@
Ser3
...
...
@@ -67,13 +67,13 @@ wait: mrc p14, 0, pc, c0, c1, 0
#endif
.
endm
#elif defined(CONFIG_ARCH_S3C2410)
.
macro
loadsp
,
rb
.
macro
loadsp
,
rb
,
tmp
mov
\
rb
,
#
0x50000000
add
\
rb
,
\
rb
,
#
0x4000
*
CONFIG_S3C_LOWLEVEL_UART_PORT
.
endm
#else
.
macro
loadsp
,
rb
addruart
\
rb
.
macro
loadsp
,
rb
,
tmp
addruart
\
rb
,
\
tmp
.
endm
#endif
#endif
...
...
@@ -1025,7 +1025,7 @@ phex: adr r3, phexbuf
strb
r2
,
[
r3
,
r1
]
b
1
b
puts
:
loadsp
r3
puts
:
loadsp
r3
,
r1
1
:
ldrb
r2
,
[
r0
],
#
1
teq
r2
,
#
0
moveq
pc
,
lr
...
...
@@ -1042,7 +1042,7 @@ puts: loadsp r3
putc
:
mov
r2
,
r0
mov
r0
,
#
0
loadsp
r3
loadsp
r3
,
r1
b
2
b
memdump
:
mov
r12
,
r0
...
...
arch/arm/kernel/debug.S
View file @
be26a3df
...
...
@@ -24,7 +24,7 @@
#if defined(CONFIG_CPU_V6)
.
macro
addruart
,
rx
.
macro
addruart
,
rx
,
tmp
.
endm
.
macro
senduart
,
rd
,
rx
...
...
@@ -51,7 +51,7 @@
#elif defined(CONFIG_CPU_V7)
.
macro
addruart
,
rx
.
macro
addruart
,
rx
,
tmp
.
endm
.
macro
senduart
,
rd
,
rx
...
...
@@ -71,7 +71,7 @@ wait: mrc p14, 0, pc, c0, c1, 0
#elif defined(CONFIG_CPU_XSCALE)
.
macro
addruart
,
rx
.
macro
addruart
,
rx
,
tmp
.
endm
.
macro
senduart
,
rd
,
rx
...
...
@@ -98,7 +98,7 @@ wait: mrc p14, 0, pc, c0, c1, 0
#else
.
macro
addruart
,
rx
.
macro
addruart
,
rx
,
tmp
.
endm
.
macro
senduart
,
rd
,
rx
...
...
@@ -164,7 +164,7 @@ ENDPROC(printhex2)
.
ltorg
ENTRY
(
printascii
)
addruart
r3
addruart
r3
,
r1
b
2
f
1
:
waituart
r2
,
r3
senduart
r1
,
r3
...
...
@@ -180,7 +180,7 @@ ENTRY(printascii)
ENDPROC
(
printascii
)
ENTRY
(
printch
)
addruart
r3
addruart
r3
,
r1
mov
r1
,
r0
mov
r0
,
#
0
b
1
b
...
...
arch/arm/mach-aaec2000/include/mach/debug-macro.S
View file @
be26a3df
...
...
@@ -10,7 +10,7 @@
*/
#include "hardware.h"
.
macro
addruart
,
rx
.
macro
addruart
,
rx
,
tmp
mrc
p15
,
0
,
\
rx
,
c1
,
c0
tst
\
rx
,
#
1
@
MMU
enabled
?
moveq
\
rx
,
#
0x80000000
@
physical
...
...
arch/arm/mach-at91/include/mach/debug-macro.S
View file @
be26a3df
...
...
@@ -14,7 +14,7 @@
#include <mach/hardware.h>
#include <mach/at91_dbgu.h>
.
macro
addruart
,
rx
.
macro
addruart
,
rx
,
tmp
mrc
p15
,
0
,
\
rx
,
c1
,
c0
tst
\
rx
,
#
1
@
MMU
enabled
?
ldreq
\
rx
,
=(
AT91_BASE_SYS
+
AT91_DBGU
)
@
System
peripherals
(
phys
address
)
...
...
arch/arm/mach-clps711x/include/mach/debug-macro.S
View file @
be26a3df
...
...
@@ -13,7 +13,7 @@
#include <asm/hardware/clps7111.h>
.
macro
addruart
,
rx
.
macro
addruart
,
rx
,
tmp
mrc
p15
,
0
,
\
rx
,
c1
,
c0
tst
\
rx
,
#
1
@
MMU
enabled
?
moveq
\
rx
,
#
CLPS7111_PHYS_BASE
...
...
arch/arm/mach-davinci/include/mach/debug-macro.S
View file @
be26a3df
...
...
@@ -19,7 +19,7 @@
#include <linux/serial_reg.h>
#define UART_SHIFT 2
.
macro
addruart
,
rx
.
macro
addruart
,
rx
,
tmp
mrc
p15
,
0
,
\
rx
,
c1
,
c0
tst
\
rx
,
#
1
@
MMU
enabled
?
moveq
\
rx
,
#
0x01000000
@
physical
base
address
...
...
arch/arm/mach-dove/include/mach/debug-macro.S
View file @
be26a3df
...
...
@@ -8,7 +8,7 @@
#include <mach/bridge-regs.h>
.
macro
addruart
,
rx
.
macro
addruart
,
rx
,
tmp
mrc
p15
,
0
,
\
rx
,
c1
,
c0
tst
\
rx
,
#
1
@
MMU
enabled
?
ldreq
\
rx
,
=
DOVE_SB_REGS_PHYS_BASE
...
...
arch/arm/mach-ebsa110/include/mach/debug-macro.S
View file @
be26a3df
...
...
@@ -11,7 +11,7 @@
*
**/
.
macro
addruart
,
rx
.
macro
addruart
,
rx
,
tmp
mov
\
rx
,
#
0xf0000000
orr
\
rx
,
\
rx
,
#
0x00000be0
.
endm
...
...
arch/arm/mach-ep93xx/include/mach/debug-macro.S
View file @
be26a3df
...
...
@@ -11,7 +11,7 @@
*/
#include <mach/ep93xx-regs.h>
.
macro
addruart
,
rx
.
macro
addruart
,
rx
,
tmp
mrc
p15
,
0
,
\
rx
,
c1
,
c0
tst
\
rx
,
#
1
@
MMU
enabled
?
ldreq
\
rx
,
=
EP93XX_APB_PHYS_BASE
@
Physical
base
...
...
arch/arm/mach-footbridge/include/mach/debug-macro.S
View file @
be26a3df
...
...
@@ -15,7 +15,7 @@
#ifndef CONFIG_DEBUG_DC21285_PORT
/
*
For
NetWinder
debugging
*/
.
macro
addruart
,
rx
.
macro
addruart
,
rx
,
tmp
mrc
p15
,
0
,
\
rx
,
c1
,
c0
tst
\
rx
,
#
1
@
MMU
enabled
?
moveq
\
rx
,
#
0x7c000000
@
physical
...
...
@@ -32,7 +32,7 @@
.
equ
dc21285_high
,
ARMCSR_BASE
&
0xff000000
.
equ
dc21285_low
,
ARMCSR_BASE
&
0x00ffffff
.
macro
addruart
,
rx
.
macro
addruart
,
rx
,
tmp
mrc
p15
,
0
,
\
rx
,
c1
,
c0
tst
\
rx
,
#
1
@
MMU
enabled
?
moveq
\
rx
,
#
0x42000000
...
...
arch/arm/mach-gemini/include/mach/debug-macro.S
View file @
be26a3df
...
...
@@ -11,7 +11,7 @@
*/
#include <mach/hardware.h>
.
macro
addruart
,
rx
.
macro
addruart
,
rx
,
tmp
mrc
p15
,
0
,
\
rx
,
c1
,
c0
tst
\
rx
,
#
1
@
MMU
enabled
?
ldreq
\
rx
,
=
GEMINI_UART_BASE
@
physical
...
...
arch/arm/mach-h720x/include/mach/debug-macro.S
View file @
be26a3df
...
...
@@ -14,7 +14,7 @@
.
equ
io_virt
,
IO_BASE
.
equ
io_phys
,
IO_START
.
macro
addruart
,
rx
.
macro
addruart
,
rx
,
tmp
mrc
p15
,
0
,
\
rx
,
c1
,
c0
tst
\
rx
,
#
1
@
MMU
enabled
?
moveq
\
rx
,
#
io_phys
@
physical
base
address
...
...
arch/arm/mach-integrator/include/mach/debug-macro.S
View file @
be26a3df
...
...
@@ -11,7 +11,7 @@
*
*/
.
macro
addruart
,
rx
.
macro
addruart
,
rx
,
tmp
mrc
p15
,
0
,
\
rx
,
c1
,
c0
tst
\
rx
,
#
1
@
MMU
enabled
?
moveq
\
rx
,
#
0x16000000
@
physical
base
address
...
...
arch/arm/mach-iop13xx/include/mach/debug-macro.S
View file @
be26a3df
...
...
@@ -11,7 +11,7 @@
*
published
by
the
Free
Software
Foundation
.
*/
.
macro
addruart
,
rx
.
macro
addruart
,
rx
,
tmp
mrc
p15
,
0
,
\
rx
,
c1
,
c0
tst
\
rx
,
#
1
@
mmu
enabled
?
moveq
\
rx
,
#
0xff000000
@
physical
...
...
arch/arm/mach-iop32x/include/mach/debug-macro.S
View file @
be26a3df
...
...
@@ -11,7 +11,7 @@
*
published
by
the
Free
Software
Foundation
.
*/
.
macro
addruart
,
rx
.
macro
addruart
,
rx
,
tmp
mov
\
rx
,
#
0xfe000000
@
physical
as
well
as
virtual
orr
\
rx
,
\
rx
,
#
0x00800000
@
location
of
the
UART
.
endm
...
...
arch/arm/mach-iop33x/include/mach/debug-macro.S
View file @
be26a3df
...
...
@@ -11,7 +11,7 @@
*
published
by
the
Free
Software
Foundation
.
*/
.
macro
addruart
,
rx
.
macro
addruart
,
rx
,
tmp
mrc
p15
,
0
,
\
rx
,
c1
,
c0
tst
\
rx
,
#
1
@
mmu
enabled
?
moveq
\
rx
,
#
0xff000000
@
physical
...
...
arch/arm/mach-ixp2000/include/mach/debug-macro.S
View file @
be26a3df
...
...
@@ -11,7 +11,7 @@
*
*/
.
macro
addruart
,
rx
.
macro
addruart
,
rx
,
tmp
mrc
p15
,
0
,
\
rx
,
c1
,
c0
tst
\
rx
,
#
1
@
MMU
enabled
?
moveq
\
rx
,
#
0xc0000000
@
Physical
base
...
...
arch/arm/mach-ixp23xx/include/mach/debug-macro.S
View file @
be26a3df
...
...
@@ -12,7 +12,7 @@
*/
#include <mach/ixp23xx.h>
.
macro
addruart
,
rx
.
macro
addruart
,
rx
,
tmp
mrc
p15
,
0
,
\
rx
,
c1
,
c0
tst
\
rx
,
#
1
@
mmu
enabled
?
ldreq
\
rx
,
=
IXP23XX_PERIPHERAL_PHYS
@
physical
...
...
arch/arm/mach-ixp4xx/include/mach/debug-macro.S
View file @
be26a3df
...
...
@@ -10,7 +10,7 @@
*
published
by
the
Free
Software
Foundation
.
*/
.
macro
addruart
,
rx
.
macro
addruart
,
rx
,
tmp
mrc
p15
,
0
,
\
rx
,
c1
,
c0
tst
\
rx
,
#
1
@
MMU
enabled
?
moveq
\
rx
,
#
0xc8000000
...
...
arch/arm/mach-kirkwood/include/mach/debug-macro.S
View file @
be26a3df
...
...
@@ -8,7 +8,7 @@
#include <mach/bridge-regs.h>
.
macro
addruart
,
rx
.
macro
addruart
,
rx
,
tmp
mrc
p15
,
0
,
\
rx
,
c1
,
c0
tst
\
rx
,
#
1
@
MMU
enabled
?
ldreq
\
rx
,
=
KIRKWOOD_REGS_PHYS_BASE
...
...
arch/arm/mach-ks8695/include/mach/debug-macro.S
View file @
be26a3df
...
...
@@ -14,7 +14,7 @@
#include <mach/hardware.h>
#include <mach/regs-uart.h>
.
macro
addruart
,
rx
.
macro
addruart
,
rx
,
tmp
mrc
p15
,
0
,
\
rx
,
c1
,
c0
tst
\
rx
,
#
1
@
MMU
enabled
?
ldreq
\
rx
,
=
KS8695_UART_PA
@
physical
base
address
...
...
arch/arm/mach-l7200/include/mach/debug-macro.S
View file @
be26a3df
...
...
@@ -14,7 +14,7 @@
.
equ
io_virt
,
IO_BASE
.
equ
io_phys
,
IO_START
.
macro
addruart
,
rx
.
macro
addruart
,
rx
,
tmp
mrc
p15
,
0
,
\
rx
,
c1
,
c0
tst
\
rx
,
#
1
@
MMU
enabled
?
moveq
\
rx
,
#
io_phys
@
physical
base
address
...
...
arch/arm/mach-lh7a40x/include/mach/debug-macro.S
View file @
be26a3df
...
...
@@ -14,7 +14,7 @@
@
It
is
not
known
if
this
will
be
appropriate
for
every
40
x
@
board
.
.
macro
addruart
,
rx
.
macro
addruart
,
rx
,
tmp
mrc
p15
,
0
,
\
rx
,
c1
,
c0
tst
\
rx
,
#
1
@
MMU
enabled
?
mov
\
rx
,
#
0x00000700
@
offset
from
base
...
...
arch/arm/mach-loki/include/mach/debug-macro.S
View file @
be26a3df
...
...
@@ -8,7 +8,7 @@
#include <mach/loki.h>
.
macro
addruart
,
rx
.
macro
addruart
,
rx
,
tmp
mrc
p15
,
0
,
\
rx
,
c1
,
c0
tst
\
rx
,
#
1
@
MMU
enabled
?
ldreq
\
rx
,
=
LOKI_REGS_PHYS_BASE
...
...
arch/arm/mach-mmp/include/mach/debug-macro.S
View file @
be26a3df
...
...
@@ -11,7 +11,7 @@
#include <mach/addr-map.h>
.
macro
addruart
,
rx
.
macro
addruart
,
rx
,
tmp
mrc
p15
,
0
,
\
rx
,
c1
,
c0
tst
\
rx
,
#
1
@
MMU
enabled
?
ldreq
\
rx
,
=
APB_PHYS_BASE
@
physical
...
...
arch/arm/mach-msm/include/mach/debug-macro.S
View file @
be26a3df
...
...
@@ -20,7 +20,7 @@
#include <mach/msm_iomap.h>
#ifdef CONFIG_MSM_DEBUG_UART
.
macro
addruart
,
rx
.
macro
addruart
,
rx
,
tmp
@
see
if
the
MMU
is
enabled
and
select
appropriate
base
address
mrc
p15
,
0
,
\
rx
,
c1
,
c0
tst
\
rx
,
#
1
...
...
@@ -40,7 +40,7 @@
beq
1001
b
.
endm
#else
.
macro
addruart
,
rx
.
macro
addruart
,
rx
,
tmp
.
endm
.
macro
senduart
,
rd
,
rx
...
...
arch/arm/mach-mv78xx0/include/mach/debug-macro.S
View file @
be26a3df
...
...
@@ -8,7 +8,7 @@
#include <mach/mv78xx0.h>
.
macro
addruart
,
rx
.
macro
addruart
,
rx
,
tmp
mrc
p15
,
0
,
\
rx
,
c1
,
c0
tst
\
rx
,
#
1
@
MMU
enabled
?
ldreq
\
rx
,
=
MV78XX0_REGS_PHYS_BASE
...
...
arch/arm/mach-netx/include/mach/debug-macro.S
View file @
be26a3df
...
...
@@ -13,7 +13,7 @@
#include "hardware.h"
.
macro
addruart
,
rx
.
macro
addruart
,
rx
,
tmp
mrc
p15
,
0
,
\
rx
,
c1
,
c0
tst
\
rx
,
#
1
@
MMU
enabled
?
moveq
\
rx
,
#
0x00100000
@
physical
...
...
arch/arm/mach-nomadik/include/mach/debug-macro.S
View file @
be26a3df
...
...
@@ -10,7 +10,7 @@
*
*/
.
macro
addruart
,
rx
.
macro
addruart
,
rx
,
tmp
mrc
p15
,
0
,
\
rx
,
c1
,
c0
tst
\
rx
,
#
1
@
MMU
enabled
?
moveq
\
rx
,
#
0x10000000
@
physical
base
address
...
...
arch/arm/mach-ns9xxx/include/mach/debug-macro.S
View file @
be26a3df
...
...
@@ -11,7 +11,7 @@
#include <mach/regs-board-a9m9750dev.h>
.
macro
addruart
,
rx
.
macro
addruart
,
rx
,
tmp
mrc
p15
,
0
,
\
rx
,
c1
,
c0
tst
\
rx
,
#
1
ldreq
\
rx
,
=
NS9XXX_CSxSTAT_PHYS
(
0
)
...
...
arch/arm/mach-omap1/include/mach/debug-macro.S
View file @
be26a3df
...
...
@@ -11,18 +11,80 @@
*
*/
.
macro
addruart
,
rx
#include <linux/serial_reg.h>
#include <plat/serial.h>
.
pushsection
.
data
omap_uart_phys
:
.
word
0x0
omap_uart_virt
:
.
word
0x0
.
popsection
/
*
*
Note
that
this
code
won
't work if the bootloader passes
*
a
wrong
machine
ID
number
in
r1
.
To
debug
,
just
hardcode
*
the
desired
UART
phys
and
virt
addresses
temporarily
into
*
the
omap_uart_phys
and
omap_uart_virt
above
.
*/
.
macro
addruart
,
rx
,
tmp
/
*
Use
omap_uart_phys
/
virt
if
already
configured
*/
9
:
mrc
p15
,
0
,
\
rx
,
c1
,
c0
tst
\
rx
,
#
1
@
MMU
enabled
?
ldreq
\
rx
,
=
omap_uart_phys
@
physical
base
address
ldrne
\
rx
,
=
omap_uart_virt
@
virtual
base
ldr
\
rx
,
[
\
rx
,
#
0
]
cmp
\
rx
,
#
0
@
is
port
configured
?
bne
99
f
@
already
configured
/
*
Check
7
XX
UART1
scratchpad
register
for
uart
to
use
*/
mrc
p15
,
0
,
\
rx
,
c1
,
c0
tst
\
rx
,
#
1
@
MMU
enabled
?
moveq
\
rx
,
#
0xff000000
@
physical
base
address
movne
\
rx
,
#
0xfe000000
@
virtual
base
orr
\
rx
,
\
rx
,
#
0x00fb0000
@
OMAP1UART1
ldrb
\
rx
,
[
\
rx
,
#(
UART_SCR
<<
OMAP7XX_PORT_SHIFT
)]
cmp
\
rx
,
#
0
@
anything
in
7
XX
scratchpad
?
bne
10
f
@
found
7
XX
uart
/
*
Check
15
xx
/
16
xx
UART1
scratchpad
register
for
uart
to
use
*/
mrc
p15
,
0
,
\
rx
,
c1
,
c0
tst
\
rx
,
#
1
@
MMU
enabled
?
moveq
\
rx
,
#
0xff000000
@
physical
base
address
movne
\
rx
,
#
0xfe000000
@
virtual
base
orr
\
rx
,
\
rx
,
#
0x00fb0000
#ifdef CONFIG_OMAP_LL_DEBUG_UART3
orr
\
rx
,
\
rx
,
#
0x00009000
@
UART
3
#endif
#if defined(CONFIG_OMAP_LL_DEBUG_UART2) || defined(CONFIG_OMAP_LL_DEBUG_UART3)
orr
\
rx
,
\
rx
,
#
0x00000800
@
UART
2
&
3
#endif
orr
\
rx
,
\
rx
,
#
0x00fb0000
@
OMAP1UART1
ldrb
\
rx
,
[
\
rx
,
#(
UART_SCR
<<
OMAP_PORT_SHIFT
)]
/
*
Select
the
UART
to
use
based
on
the
UART1
scratchpad
value
*/
10
:
cmp
\
rx
,
#
0
@
no
port
configured
?
beq
11
f
@
if
none
,
try
to
use
UART1
cmp
\
rx
,
#
OMAP1UART1
beq
11
f
@
configure
OMAP1UART1
cmp
\
rx
,
#
OMAP1UART2
beq
12
f
@
configure
OMAP1UART2
cmp
\
rx
,
#
OMAP1UART3
beq
13
f
@
configure
OMAP2UART3
/
*
Configure
the
UART
offset
from
the
phys
/
virt
base
*/
11
:
mov
\
rx
,
#
0x00fb0000
@
OMAP1UART1
b
98
f
12
:
mov
\
rx
,
#
0x00fb0000
@
OMAP1UART1
orr
\
rx
,
\
rx
,
#
0x00000800
@
OMAP1UART2
b
98
f
13
:
mov
\
rx
,
#
0x00fb0000
@
OMAP1UART1
orr
\
rx
,
\
rx
,
#
0x00000800
@
OMAP1UART2
orr
\
rx
,
\
rx
,
#
0x00009000
@
OMAP1UART3
/
*
Store
both
phys
and
virt
address
for
the
uart
*/
98
:
add
\
rx
,
\
rx
,
#
0xff000000
@
phys
base
ldr
\
tmp
,
=
omap_uart_phys
str
\
rx
,
[
\
tmp
,
#
0
]
sub
\
rx
,
\
rx
,
#
0xff000000
@
phys
base
add
\
rx
,
\
rx
,
#
0xfe000000
@
virt
base
ldr
\
tmp
,
=
omap_uart_virt
str
\
rx
,
[
\
tmp
,
#
0
]
b
9
b
99
:
.
endm
.
macro
senduart
,
rd
,
rx
...
...
@@ -30,13 +92,13 @@
.
endm
.
macro
busyuart
,
rd
,
rx
1001
:
ldrb
\
rd
,
[
\
rx
,
#(
0x5
<<
2
)]
@
OMAP
-
1510
and
friends
and
\
rd
,
\
rd
,
#
0x60
teq
\
rd
,
#
0x60
1001
:
ldrb
\
rd
,
[
\
rx
,
#(
UART_LSR
<<
OMAP_PORT_SHIFT
)]
and
\
rd
,
\
rd
,
#
(
UART_LSR_TEMT
|
UART_LSR_THRE
)
teq
\
rd
,
#
(
UART_LSR_TEMT
|
UART_LSR_THRE
)
beq
1002
f
ldrb
\
rd
,
[
\
rx
,
#(
0x5
<<
0
)]
@
OMAP
-
730
only
and
\
rd
,
\
rd
,
#
0x60
teq
\
rd
,
#
0x60
ldrb
\
rd
,
[
\
rx
,
#(
UART_LSR
<<
OMAP7XX_PORT_SHIFT
)]
and
\
rd
,
\
rd
,
#
(
UART_LSR_TEMT
|
UART_LSR_THRE
)
teq
\
rd
,
#
(
UART_LSR_TEMT
|
UART_LSR_THRE
)
bne
1001
b
1002
:
.
endm
...
...
arch/arm/mach-omap1/serial.c
View file @
be26a3df
...
...
@@ -64,7 +64,7 @@ static void __init omap_serial_reset(struct plat_serial8250_port *p)
static
struct
plat_serial8250_port
serial_platform_data
[]
=
{
{
.
mapbase
=
OMAP_UART1_BASE
,
.
mapbase
=
OMAP
1
_UART1_BASE
,
.
irq
=
INT_UART1
,
.
flags
=
UPF_BOOT_AUTOCONF
,
.
iotype
=
UPIO_MEM
,
...
...
@@ -72,7 +72,7 @@ static struct plat_serial8250_port serial_platform_data[] = {
.
uartclk
=
OMAP16XX_BASE_BAUD
*
16
,
},
{
.
mapbase
=
OMAP_UART2_BASE
,
.
mapbase
=
OMAP
1
_UART2_BASE
,
.
irq
=
INT_UART2
,
.
flags
=
UPF_BOOT_AUTOCONF
,
.
iotype
=
UPIO_MEM
,
...
...
@@ -80,7 +80,7 @@ static struct plat_serial8250_port serial_platform_data[] = {
.
uartclk
=
OMAP16XX_BASE_BAUD
*
16
,
},
{
.
mapbase
=
OMAP_UART3_BASE
,
.
mapbase
=
OMAP
1
_UART3_BASE
,
.
irq
=
INT_UART3
,
.
flags
=
UPF_BOOT_AUTOCONF
,
.
iotype
=
UPIO_MEM
,
...
...
arch/arm/mach-omap2/board-3630sdp.c
View file @
be26a3df
...
...
@@ -68,7 +68,7 @@ static struct ehci_hcd_omap_platform_data ehci_pdata __initconst = {
static
void
__init
omap_sdp_map_io
(
void
)
{
omap2_set_globals_3
43
x
();
omap2_set_globals_3
6x
x
();
omap2_map_common_io
();
}
...
...
arch/arm/mach-omap2/board-zoom3.c
View file @
be26a3df
...
...
@@ -26,7 +26,7 @@
static
void
__init
omap_zoom_map_io
(
void
)
{
omap2_set_globals_3
43
x
();
omap2_set_globals_3
6x
x
();
omap2_map_common_io
();
}
...
...
arch/arm/mach-omap2/include/mach/debug-macro.S
View file @
be26a3df
...
...
@@ -11,32 +11,107 @@
*
*/
.
macro
addruart
,
rx
#include <linux/serial_reg.h>
#include <plat/serial.h>
#define UART_OFFSET(addr) ((addr) & 0x00ffffff)
.
pushsection
.
data
omap_uart_phys
:
.
word
0
omap_uart_virt
:
.
word
0
omap_uart_lsr
:
.
word
0
.
popsection
/
*
*
Note
that
this
code
won
't work if the bootloader passes
*
a
wrong
machine
ID
number
in
r1
.
To
debug
,
just
hardcode
*
the
desired
UART
phys
and
virt
addresses
temporarily
into
*
the
omap_uart_phys
and
omap_uart_virt
above
.
*/
.
macro
addruart
,
rx
,
tmp
/
*
Use
omap_uart_phys
/
virt
if
already
configured
*/
10
:
mrc
p15
,
0
,
\
rx
,
c1
,
c0
tst
\
rx
,
#
1
@
MMU
enabled
?
ldreq
\
rx
,
=
omap_uart_phys
@
physical
base
address
ldrne
\
rx
,
=
omap_uart_virt
@
virtual
base
address
ldr
\
rx
,
[
\
rx
,
#
0
]
cmp
\
rx
,
#
0
@
is
port
configured
?
bne
99
f
@
already
configured
/
*
Check
UART1
scratchpad
register
for
uart
to
use
*/
mrc
p15
,
0
,
\
rx
,
c1
,
c0
tst
\
rx
,
#
1
@
MMU
enabled
?
#ifdef CONFIG_ARCH_OMAP2
moveq
\
rx
,
#
0x48000000
@
physical
base
address
movne
\
rx
,
#
0xfa000000
@
virtual
base
orr
\
rx
,
\
rx
,
#
0x0006a000
#ifdef CONFIG_OMAP_LL_DEBUG_UART2
add
\
rx
,
\
rx
,
#
0x00002000
@
UART
2
#endif
#ifdef CONFIG_OMAP_LL_DEBUG_UART3
add
\
rx
,
\
rx
,
#
0x00004000
@
UART
3
#endif
#elif defined(CONFIG_ARCH_OMAP3) || defined(CONFIG_ARCH_OMAP4)
moveq
\
rx
,
#
0x48000000
@
physical
base
address
movne
\
rx
,
#
0xfa000000
@
virtual
base
orr
\
rx
,
\
rx
,
#
0x0006a000
#ifdef CONFIG_OMAP_LL_DEBUG_UART2
add
\
rx
,
\
rx
,
#
0x00002000
@
UART
2
#endif
#ifdef CONFIG_OMAP_LL_DEBUG_UART3
add
\
rx
,
\
rx
,
#
0x00fb0000
@
UART
3
add
\
rx
,
\
rx
,
#
0x00006000
#endif
#endif
orr
\
rx
,
\
rx
,
#
0x0006a000
@
uart1
on
omap2
/
3
/
4
ldrb
\
rx
,
[
\
rx
,
#(
UART_SCR
<<
OMAP_PORT_SHIFT
)]
@
scratchpad
/
*
Select
the
UART
to
use
based
on
the
UART1
scratchpad
value
*/
cmp
\
rx
,
#
0
@
no
port
configured
?
beq
21
f
@
if
none
,
try
to
use
UART1
cmp
\
rx
,
#
OMAP2UART1
@
OMAP2
/
3
/
4
UART1
beq
21
f
@
configure
OMAP2
/
3
/
4
UART1
cmp
\
rx
,
#
OMAP2UART2
@
OMAP2
/
3
/
4
UART2
beq
22
f
@
configure
OMAP2
/
3
/
4
UART2
cmp
\
rx
,
#
OMAP2UART3
@
only
on
24
xx
beq
23
f
@
configure
OMAP2UART3
cmp
\
rx
,
#
OMAP3UART3
@
only
on
34
xx
beq
33
f
@
configure
OMAP3UART3
cmp
\
rx
,
#
OMAP4UART3
@
only
on
44
xx
beq
43
f
@
configure
OMAP4UART3
cmp
\
rx
,
#
OMAP3UART4
@
only
on
36
xx
beq
34
f
@
configure
OMAP3UART4
cmp
\
rx
,
#
OMAP4UART4
@
only
on
44
xx
beq
44
f
@
configure
OMAP4UART4
cmp
\
rx
,
#
ZOOM_UART
@
only
on
zoom2
/
3
beq
95
f
@
configure
ZOOM_UART
/
*
Configure
the
UART
offset
from
the
phys
/
virt
base
*/
21
:
mov
\
rx
,
#
UART_OFFSET
(
OMAP2_UART1_BASE
)
@
omap2
/
3
/
4
b
98
f
22
:
mov
\
rx
,
#
UART_OFFSET
(
OMAP2_UART2_BASE
)
@
omap2
/
3
/
4
b
98
f
23
:
mov
\
rx
,
#
UART_OFFSET
(
OMAP2_UART3_BASE
)
b
98
f
33
:
mov
\
rx
,
#
UART_OFFSET
(
OMAP3_UART1_BASE
)
add
\
rx
,
\
rx
,
#
0x00fb0000
add
\
rx
,
\
rx
,
#
0x00006000
@
OMAP3_UART3_BASE
b
98
f
34
:
mov
\
rx
,
#
UART_OFFSET
(
OMAP3_UART1_BASE
)
add
\
rx
,
\
rx
,
#
0x00fb0000
add
\
rx
,
\
rx
,
#
0x00028000
@
OMAP3_UART4_BASE
b
98
f
43
:
mov
\
rx
,
#
UART_OFFSET
(
OMAP4_UART3_BASE
)
b
98
f
44
:
mov
\
rx
,
#
UART_OFFSET
(
OMAP4_UART4_BASE
)
b
98
f
95
:
mov
\
rx
,
#
ZOOM_UART_BASE
ldr
\
tmp
,
=
omap_uart_phys
str
\
rx
,
[
\
tmp
,
#
0
]
mov
\
rx
,
#
ZOOM_UART_VIRT
ldr
\
tmp
,
=
omap_uart_virt
str
\
rx
,
[
\
tmp
,
#
0
]
mov
\
rx
,
#(
UART_LSR
<<
ZOOM_PORT_SHIFT
)
ldr
\
tmp
,
=
omap_uart_lsr
str
\
rx
,
[
\
tmp
,
#
0
]
b
10
b
/
*
Store
both
phys
and
virt
address
for
the
uart
*/
98
:
add
\
rx
,
\
rx
,
#
0x48000000
@
phys
base
ldr
\
tmp
,
=
omap_uart_phys
str
\
rx
,
[
\
tmp
,
#
0
]
sub
\
rx
,
\
rx
,
#
0x48000000
@
phys
base
add
\
rx
,
\
rx
,
#
0xfa000000
@
virt
base
ldr
\
tmp
,
=
omap_uart_virt
str
\
rx
,
[
\
tmp
,
#
0
]
mov
\
rx
,
#(
UART_LSR
<<
OMAP_PORT_SHIFT
)
ldr
\
tmp
,
=
omap_uart_lsr
str
\
rx
,
[
\
tmp
,
#
0
]
b
10
b
99
:
.
endm
.
macro
senduart
,
rd
,
rx
...
...
@@ -44,15 +119,12 @@
.
endm
.
macro
busyuart
,
rd
,
rx
1001
:
ldrb
\
rd
,
[
\
rx
,
#(
0x5
<<
2
)]
@
OMAP
-
1510
and
friends
and
\
rd
,
\
rd
,
#
0x60
teq
\
rd
,
#
0x60
beq
1002
f
ldrb
\
rd
,
[
\
rx
,
#(
0x5
<<
0
)]
@
OMAP
-
730
only
and
\
rd
,
\
rd
,
#
0x60
teq
\
rd
,
#
0x60
1001
:
ldr
\
rd
,
=
omap_uart_lsr
ldr
\
rd
,
[
\
rd
,
#
0
]
ldrb
\
rd
,
[
\
rx
,
\
rd
]
and
\
rd
,
\
rd
,
#(
UART_LSR_TEMT
|
UART_LSR_THRE
)
teq
\
rd
,
#(
UART_LSR_TEMT
|
UART_LSR_THRE
)
bne
1001
b
1002
:
.
endm
.
macro
waituart
,
rd
,
rx
...
...
arch/arm/mach-omap2/serial.c
View file @
be26a3df
...
...
@@ -80,7 +80,6 @@ static LIST_HEAD(uart_list);
static
struct
plat_serial8250_port
serial_platform_data0
[]
=
{
{
.
mapbase
=
OMAP_UART1_BASE
,
.
irq
=
72
,
.
flags
=
UPF_BOOT_AUTOCONF
,
.
iotype
=
UPIO_MEM
,
...
...
@@ -93,7 +92,6 @@ static struct plat_serial8250_port serial_platform_data0[] = {
static
struct
plat_serial8250_port
serial_platform_data1
[]
=
{
{
.
mapbase
=
OMAP_UART2_BASE
,
.
irq
=
73
,
.
flags
=
UPF_BOOT_AUTOCONF
,
.
iotype
=
UPIO_MEM
,
...
...
@@ -106,7 +104,6 @@ static struct plat_serial8250_port serial_platform_data1[] = {
static
struct
plat_serial8250_port
serial_platform_data2
[]
=
{
{
.
mapbase
=
OMAP_UART3_BASE
,
.
irq
=
74
,
.
flags
=
UPF_BOOT_AUTOCONF
,
.
iotype
=
UPIO_MEM
,
...
...
@@ -120,7 +117,6 @@ static struct plat_serial8250_port serial_platform_data2[] = {
#ifdef CONFIG_ARCH_OMAP4
static
struct
plat_serial8250_port
serial_platform_data3
[]
=
{
{
.
mapbase
=
OMAP_UART4_BASE
,
.
irq
=
70
,
.
flags
=
UPF_BOOT_AUTOCONF
,
.
iotype
=
UPIO_MEM
,
...
...
@@ -131,6 +127,17 @@ static struct plat_serial8250_port serial_platform_data3[] = {
}
};
#endif
void
__init
omap2_set_globals_uart
(
struct
omap_globals
*
omap2_globals
)
{
serial_platform_data0
[
0
].
mapbase
=
omap2_globals
->
uart1_phys
;
serial_platform_data1
[
0
].
mapbase
=
omap2_globals
->
uart2_phys
;
serial_platform_data2
[
0
].
mapbase
=
omap2_globals
->
uart3_phys
;
#ifdef CONFIG_ARCH_OMAP4
serial_platform_data3
[
0
].
mapbase
=
omap2_globals
->
uart4_phys
;
#endif
}
static
inline
unsigned
int
__serial_read_reg
(
struct
uart_port
*
up
,
int
offset
)
{
...
...
arch/arm/mach-orion5x/include/mach/debug-macro.S
View file @
be26a3df
...
...
@@ -10,7 +10,7 @@
#include <mach/orion5x.h>
.
macro
addruart
,
rx
.
macro
addruart
,
rx
,
tmp
mrc
p15
,
0
,
\
rx
,
c1
,
c0
tst
\
rx
,
#
1
@
MMU
enabled
?
ldreq
\
rx
,
=
ORION5X_REGS_PHYS_BASE
...
...
arch/arm/mach-pnx4008/include/mach/debug-macro.S
View file @
be26a3df
...
...
@@ -11,7 +11,7 @@
*
*/
.
macro
addruart
,
rx
.
macro
addruart
,
rx
,
tmp
mrc
p15
,
0
,
\
rx
,
c1
,
c0
tst
\
rx
,
#
1
@
MMU
enabled
?
mov
\
rx
,
#
0x00090000
...
...
arch/arm/mach-pxa/include/mach/debug-macro.S
View file @
be26a3df
...
...
@@ -13,7 +13,7 @@
#include "hardware.h"
.
macro
addruart
,
rx
.
macro
addruart
,
rx
,
tmp
mrc
p15
,
0
,
\
rx
,
c1
,
c0
tst
\
rx
,
#
1
@
MMU
enabled
?
moveq
\
rx
,
#
0x40000000
@
physical
...
...
arch/arm/mach-realview/include/mach/debug-macro.S
View file @
be26a3df
...
...
@@ -33,7 +33,7 @@
#error "Unknown RealView platform"
#endif
.
macro
addruart
,
rx
.
macro
addruart
,
rx
,
tmp
mrc
p15
,
0
,
\
rx
,
c1
,
c0
tst
\
rx
,
#
1
@
MMU
enabled
?
moveq
\
rx
,
#
0x10000000
...
...
arch/arm/mach-rpc/include/mach/debug-macro.S
View file @
be26a3df
...
...
@@ -11,7 +11,7 @@
*
*/
.
macro
addruart
,
rx
.
macro
addruart
,
rx
,
tmp
mrc
p15
,
0
,
\
rx
,
c1
,
c0
tst
\
rx
,
#
1
@
MMU
enabled
?
moveq
\
rx
,
#
0x03000000
...
...
arch/arm/mach-s3c2410/include/mach/debug-macro.S
View file @
be26a3df
...
...
@@ -19,7 +19,7 @@
#define S3C2410_UART1_OFF (0x4000)
#define SHIFT_2440TXF (14-9)
.
macro
addruart
,
rx
.
macro
addruart
,
rx
,
tmp
mrc
p15
,
0
,
\
rx
,
c1
,
c0
tst
\
rx
,
#
1
ldreq
\
rx
,
=
S3C24XX_PA_UART
...
...
arch/arm/mach-s3c24a0/include/mach/debug-macro.S
View file @
be26a3df
...
...
@@ -10,7 +10,7 @@
#include <mach/map.h>
#include <plat/regs-serial.h>
.
macro
addruart
,
rx
.
macro
addruart
,
rx
,
tmp
mrc
p15
,
0
,
\
rx
,
c1
,
c0
tst
\
rx
,
#
1
ldreq
\
rx
,
=
S3C24XX_PA_UART
...
...
arch/arm/mach-s3c6400/include/mach/debug-macro.S
View file @
be26a3df
...
...
@@ -21,7 +21,7 @@
*
aligned
and
add
in
the
offset
when
we
load
the
value
here
.
*/
.
macro
addruart
,
rx
.
macro
addruart
,
rx
,
tmp
mrc
p15
,
0
,
\
rx
,
c1
,
c0
tst
\
rx
,
#
1
ldreq
\
rx
,
=
S3C_PA_UART
...
...
arch/arm/mach-s5pc100/include/mach/debug-macro.S
View file @
be26a3df
...
...
@@ -22,7 +22,7 @@
*
aligned
and
add
in
the
offset
when
we
load
the
value
here
.
*/
.
macro
addruart
,
rx
.
macro
addruart
,
rx
,
tmp
mrc
p15
,
0
,
\
rx
,
c1
,
c0
tst
\
rx
,
#
1
ldreq
\
rx
,
=
S3C_PA_UART
...
...
arch/arm/mach-sa1100/include/mach/debug-macro.S
View file @
be26a3df
...
...
@@ -12,7 +12,7 @@
*/
#include <mach/hardware.h>
.
macro
addruart
,
rx
.
macro
addruart
,
rx
,
tmp
mrc
p15
,
0
,
\
rx
,
c1
,
c0
tst
\
rx
,
#
1
@
MMU
enabled
?
moveq
\
rx
,
#
0x80000000
@
physical
base
address
...
...
arch/arm/mach-shark/include/mach/debug-macro.S
View file @
be26a3df
...
...
@@ -11,7 +11,7 @@
*
*/
.
macro
addruart
,
rx
.
macro
addruart
,
rx
,
tmp
mov
\
rx
,
#
0xe0000000
orr
\
rx
,
\
rx
,
#
0x000003f8
.
endm
...
...
arch/arm/mach-u300/include/mach/debug-macro.S
View file @
be26a3df
...
...
@@ -10,7 +10,7 @@
*/
#include <mach/hardware.h>
.
macro
addruart
,
rx
.
macro
addruart
,
rx
,
tmp
/
*
If
we
move
the
adress
using
MMU
,
use
this
.
*/
mrc
p15
,
0
,
\
rx
,
c1
,
c0
tst
\
rx
,
#
1
@
MMU
enabled
?
...
...
arch/arm/mach-ux500/include/mach/debug-macro.S
View file @
be26a3df
...
...
@@ -8,7 +8,7 @@
*
published
by
the
Free
Software
Foundation
.
*
*/
.
macro
addruart
,
rx
.
macro
addruart
,
rx
,
tmp
mrc
p15
,
0
,
\
rx
,
c1
,
c0
tst
\
rx
,
#
1
@
MMU
enabled
?
moveq
\
rx
,
#
0x80000000
@
MMU
off
,
Physical
address
...
...
arch/arm/mach-versatile/include/mach/debug-macro.S
View file @
be26a3df
...
...
@@ -11,7 +11,7 @@
*
*/
.
macro
addruart
,
rx
.
macro
addruart
,
rx
,
tmp
mrc
p15
,
0
,
\
rx
,
c1
,
c0
tst
\
rx
,
#
1
@
MMU
enabled
?
moveq
\
rx
,
#
0x10000000
...
...
arch/arm/plat-mxc/include/mach/debug-macro.S
View file @
be26a3df
...
...
@@ -52,7 +52,7 @@
#define UART_PADDR MXC91231_UART2_BASE_ADDR
#define UART_VADDR MXC91231_AIPS1_IO_ADDRESS(MXC91231_UART2_BASE_ADDR)
#endif
.
macro
addruart
,
rx
.
macro
addruart
,
rx
,
tmp
mrc
p15
,
0
,
\
rx
,
c1
,
c0
tst
\
rx
,
#
1
@
MMU
enabled
?
ldreq
\
rx
,
=
UART_PADDR
@
physical
...
...
arch/arm/plat-omap/Kconfig
View file @
be26a3df
...
...
@@ -141,25 +141,6 @@ config OMAP_DM_TIMER
help
Select this option if you want to use OMAP Dual-Mode timers.
choice
prompt "Low-level debug console UART"
depends on ARCH_OMAP
default OMAP_LL_DEBUG_NONE
config OMAP_LL_DEBUG_UART1
bool "UART1"
config OMAP_LL_DEBUG_UART2
bool "UART2"
config OMAP_LL_DEBUG_UART3
bool "UART3"
config OMAP_LL_DEBUG_NONE
bool "None"
endchoice
config OMAP_SERIAL_WAKE
bool "Enable wake-up events for serial ports"
depends on ARCH_OMAP1 && OMAP_MUX
...
...
arch/arm/plat-omap/common.c
View file @
be26a3df
...
...
@@ -34,6 +34,7 @@
#include <plat/control.h>
#include <plat/mux.h>
#include <plat/fpga.h>
#include <plat/serial.h>
#include <plat/clock.h>
...
...
@@ -245,6 +246,7 @@ static void __init __omap2_set_globals(struct omap_globals *omap2_globals)
omap2_set_globals_sdrc
(
omap2_globals
);
omap2_set_globals_control
(
omap2_globals
);
omap2_set_globals_prcm
(
omap2_globals
);
omap2_set_globals_uart
(
omap2_globals
);
}
#endif
...
...
@@ -259,6 +261,9 @@ static struct omap_globals omap242x_globals = {
.
ctrl
=
OMAP2_L4_IO_ADDRESS
(
OMAP2420_CTRL_BASE
),
.
prm
=
OMAP2_L4_IO_ADDRESS
(
OMAP2420_PRM_BASE
),
.
cm
=
OMAP2_L4_IO_ADDRESS
(
OMAP2420_CM_BASE
),
.
uart1_phys
=
OMAP2_UART1_BASE
,
.
uart2_phys
=
OMAP2_UART2_BASE
,
.
uart3_phys
=
OMAP2_UART3_BASE
,
};
void
__init
omap2_set_globals_242x
(
void
)
...
...
@@ -277,6 +282,9 @@ static struct omap_globals omap243x_globals = {
.
ctrl
=
OMAP2_L4_IO_ADDRESS
(
OMAP243X_CTRL_BASE
),
.
prm
=
OMAP2_L4_IO_ADDRESS
(
OMAP2430_PRM_BASE
),
.
cm
=
OMAP2_L4_IO_ADDRESS
(
OMAP2430_CM_BASE
),
.
uart1_phys
=
OMAP2_UART1_BASE
,
.
uart2_phys
=
OMAP2_UART2_BASE
,
.
uart3_phys
=
OMAP2_UART3_BASE
,
};
void
__init
omap2_set_globals_243x
(
void
)
...
...
@@ -285,9 +293,9 @@ void __init omap2_set_globals_243x(void)
}
#endif
#if defined(CONFIG_ARCH_OMAP3
430
)
#if defined(CONFIG_ARCH_OMAP3)
static
struct
omap_globals
omap3
43x
_globals
=
{
static
struct
omap_globals
omap3_globals
=
{
.
class
=
OMAP343X_CLASS
,
.
tap
=
OMAP2_L4_IO_ADDRESS
(
0x4830A000
),
.
sdrc
=
OMAP2_L3_IO_ADDRESS
(
OMAP343X_SDRC_BASE
),
...
...
@@ -295,11 +303,21 @@ static struct omap_globals omap343x_globals = {
.
ctrl
=
OMAP2_L4_IO_ADDRESS
(
OMAP343X_CTRL_BASE
),
.
prm
=
OMAP2_L4_IO_ADDRESS
(
OMAP3430_PRM_BASE
),
.
cm
=
OMAP2_L4_IO_ADDRESS
(
OMAP3430_CM_BASE
),
.
uart1_phys
=
OMAP3_UART1_BASE
,
.
uart2_phys
=
OMAP3_UART2_BASE
,
.
uart3_phys
=
OMAP3_UART3_BASE
,
};
void
__init
omap2_set_globals_343x
(
void
)
{
__omap2_set_globals
(
&
omap343x_globals
);
__omap2_set_globals
(
&
omap3_globals
);
}
void
__init
omap2_set_globals_36xx
(
void
)
{
omap3_globals
.
uart4_phys
=
OMAP3_UART4_BASE
;
__omap2_set_globals
(
&
omap3_globals
);
}
#endif
...
...
@@ -311,6 +329,10 @@ static struct omap_globals omap4_globals = {
.
prm
=
OMAP2_L4_IO_ADDRESS
(
OMAP4430_PRM_BASE
),
.
cm
=
OMAP2_L4_IO_ADDRESS
(
OMAP4430_CM_BASE
),
.
cm2
=
OMAP2_L4_IO_ADDRESS
(
OMAP4430_CM2_BASE
),
.
uart1_phys
=
OMAP4_UART1_BASE
,
.
uart2_phys
=
OMAP4_UART2_BASE
,
.
uart3_phys
=
OMAP4_UART3_BASE
,
.
uart4_phys
=
OMAP4_UART4_BASE
,
};
void
__init
omap2_set_globals_443x
(
void
)
...
...
@@ -318,6 +340,7 @@ void __init omap2_set_globals_443x(void)
omap2_set_globals_tap
(
&
omap4_globals
);
omap2_set_globals_control
(
&
omap4_globals
);
omap2_set_globals_prcm
(
&
omap4_globals
);
omap2_set_globals_uart
(
&
omap4_globals
);
}
#endif
arch/arm/plat-omap/include/plat/common.h
View file @
be26a3df
...
...
@@ -47,11 +47,16 @@ struct omap_globals {
void
__iomem
*
prm
;
/* Power and Reset Management */
void
__iomem
*
cm
;
/* Clock Management */
void
__iomem
*
cm2
;
unsigned
long
uart1_phys
;
unsigned
long
uart2_phys
;
unsigned
long
uart3_phys
;
unsigned
long
uart4_phys
;
};
void
omap2_set_globals_242x
(
void
);
void
omap2_set_globals_243x
(
void
);
void
omap2_set_globals_343x
(
void
);
void
omap2_set_globals_36xx
(
void
);
void
omap2_set_globals_443x
(
void
);
/* These get called from omap2_set_globals_xxxx(), do not call these */
...
...
@@ -59,6 +64,7 @@ void omap2_set_globals_tap(struct omap_globals *);
void
omap2_set_globals_sdrc
(
struct
omap_globals
*
);
void
omap2_set_globals_control
(
struct
omap_globals
*
);
void
omap2_set_globals_prcm
(
struct
omap_globals
*
);
void
omap2_set_globals_uart
(
struct
omap_globals
*
);
/**
* omap_test_timeout - busy-loop, testing a condition
...
...
arch/arm/plat-omap/include/plat/omap16xx.h
View file @
be26a3df
...
...
@@ -125,43 +125,43 @@
#define OMAP16XX_MMCSD2_SSW_MPU_CONF (TIPB_SWITCH_BASE + 0x160)
/* UART3 Registers Mapping through MPU bus */
#define UART3_RHR (OMAP_UART3_BASE + 0)
#define UART3_THR (OMAP_UART3_BASE + 0)
#define UART3_DLL (OMAP_UART3_BASE + 0)
#define UART3_IER (OMAP_UART3_BASE + 4)
#define UART3_DLH (OMAP_UART3_BASE + 4)
#define UART3_IIR (OMAP_UART3_BASE + 8)
#define UART3_FCR (OMAP_UART3_BASE + 8)
#define UART3_EFR (OMAP_UART3_BASE + 8)
#define UART3_LCR (OMAP_UART3_BASE + 0x0C)
#define UART3_MCR (OMAP_UART3_BASE + 0x10)
#define UART3_XON1_ADDR1 (OMAP_UART3_BASE + 0x10)
#define UART3_XON2_ADDR2 (OMAP_UART3_BASE + 0x14)
#define UART3_LSR (OMAP_UART3_BASE + 0x14)
#define UART3_TCR (OMAP_UART3_BASE + 0x18)
#define UART3_MSR (OMAP_UART3_BASE + 0x18)
#define UART3_XOFF1 (OMAP_UART3_BASE + 0x18)
#define UART3_XOFF2 (OMAP_UART3_BASE + 0x1C)
#define UART3_SPR (OMAP_UART3_BASE + 0x1C)
#define UART3_TLR (OMAP_UART3_BASE + 0x1C)
#define UART3_MDR1 (OMAP_UART3_BASE + 0x20)
#define UART3_MDR2 (OMAP_UART3_BASE + 0x24)
#define UART3_SFLSR (OMAP_UART3_BASE + 0x28)
#define UART3_TXFLL (OMAP_UART3_BASE + 0x28)
#define UART3_RESUME (OMAP_UART3_BASE + 0x2C)
#define UART3_TXFLH (OMAP_UART3_BASE + 0x2C)
#define UART3_SFREGL (OMAP_UART3_BASE + 0x30)
#define UART3_RXFLL (OMAP_UART3_BASE + 0x30)
#define UART3_SFREGH (OMAP_UART3_BASE + 0x34)
#define UART3_RXFLH (OMAP_UART3_BASE + 0x34)
#define UART3_BLR (OMAP_UART3_BASE + 0x38)
#define UART3_ACREG (OMAP_UART3_BASE + 0x3C)
#define UART3_DIV16 (OMAP_UART3_BASE + 0x3C)
#define UART3_SCR (OMAP_UART3_BASE + 0x40)
#define UART3_SSR (OMAP_UART3_BASE + 0x44)
#define UART3_EBLR (OMAP_UART3_BASE + 0x48)
#define UART3_OSC_12M_SEL (OMAP_UART3_BASE + 0x4C)
#define UART3_MVR (OMAP_UART3_BASE + 0x50)
#define UART3_RHR (OMAP
1
_UART3_BASE + 0)
#define UART3_THR (OMAP
1
_UART3_BASE + 0)
#define UART3_DLL (OMAP
1
_UART3_BASE + 0)
#define UART3_IER (OMAP
1
_UART3_BASE + 4)
#define UART3_DLH (OMAP
1
_UART3_BASE + 4)
#define UART3_IIR (OMAP
1
_UART3_BASE + 8)
#define UART3_FCR (OMAP
1
_UART3_BASE + 8)
#define UART3_EFR (OMAP
1
_UART3_BASE + 8)
#define UART3_LCR (OMAP
1
_UART3_BASE + 0x0C)
#define UART3_MCR (OMAP
1
_UART3_BASE + 0x10)
#define UART3_XON1_ADDR1 (OMAP
1
_UART3_BASE + 0x10)
#define UART3_XON2_ADDR2 (OMAP
1
_UART3_BASE + 0x14)
#define UART3_LSR (OMAP
1
_UART3_BASE + 0x14)
#define UART3_TCR (OMAP
1
_UART3_BASE + 0x18)
#define UART3_MSR (OMAP
1
_UART3_BASE + 0x18)
#define UART3_XOFF1 (OMAP
1
_UART3_BASE + 0x18)
#define UART3_XOFF2 (OMAP
1
_UART3_BASE + 0x1C)
#define UART3_SPR (OMAP
1
_UART3_BASE + 0x1C)
#define UART3_TLR (OMAP
1
_UART3_BASE + 0x1C)
#define UART3_MDR1 (OMAP
1
_UART3_BASE + 0x20)
#define UART3_MDR2 (OMAP
1
_UART3_BASE + 0x24)
#define UART3_SFLSR (OMAP
1
_UART3_BASE + 0x28)
#define UART3_TXFLL (OMAP
1
_UART3_BASE + 0x28)
#define UART3_RESUME (OMAP
1
_UART3_BASE + 0x2C)
#define UART3_TXFLH (OMAP
1
_UART3_BASE + 0x2C)
#define UART3_SFREGL (OMAP
1
_UART3_BASE + 0x30)
#define UART3_RXFLL (OMAP
1
_UART3_BASE + 0x30)
#define UART3_SFREGH (OMAP
1
_UART3_BASE + 0x34)
#define UART3_RXFLH (OMAP
1
_UART3_BASE + 0x34)
#define UART3_BLR (OMAP
1
_UART3_BASE + 0x38)
#define UART3_ACREG (OMAP
1
_UART3_BASE + 0x3C)
#define UART3_DIV16 (OMAP
1
_UART3_BASE + 0x3C)
#define UART3_SCR (OMAP
1
_UART3_BASE + 0x40)
#define UART3_SSR (OMAP
1
_UART3_BASE + 0x44)
#define UART3_EBLR (OMAP
1
_UART3_BASE + 0x48)
#define UART3_OSC_12M_SEL (OMAP
1
_UART3_BASE + 0x4C)
#define UART3_MVR (OMAP
1
_UART3_BASE + 0x50)
/*
* ---------------------------------------------------------------------------
...
...
arch/arm/plat-omap/include/plat/serial.h
View file @
be26a3df
...
...
@@ -15,37 +15,65 @@
#include <linux/init.h>
#if defined(CONFIG_ARCH_OMAP1)
/* OMAP1 serial ports */
#define OMAP
_UART1_BASE
0xfffb0000
#define OMAP
_UART2_BASE
0xfffb0800
#define OMAP
_UART3_BASE
0xfffb9800
#elif defined(CONFIG_ARCH_OMAP2)
#define OMAP
1_UART1_BASE
0xfffb0000
#define OMAP
1_UART2_BASE
0xfffb0800
#define OMAP
1_UART3_BASE
0xfffb9800
/* OMAP2 serial ports */
#define OMAP
_UART1_BASE
0x4806a000
#define OMAP
_UART2_BASE
0x4806c000
#define OMAP
_UART3_BASE
0x4806e000
#elif defined(CONFIG_ARCH_OMAP3)
#define OMAP
2_UART1_BASE
0x4806a000
#define OMAP
2_UART2_BASE
0x4806c000
#define OMAP
2_UART3_BASE
0x4806e000
/* OMAP3 serial ports */
#define OMAP_UART1_BASE 0x4806a000
#define OMAP_UART2_BASE 0x4806c000
#define OMAP_UART3_BASE 0x49020000
#elif defined(CONFIG_ARCH_OMAP4)
#define OMAP3_UART1_BASE OMAP2_UART1_BASE
#define OMAP3_UART2_BASE OMAP2_UART2_BASE
#define OMAP3_UART3_BASE 0x49020000
#define OMAP3_UART4_BASE 0x49042000
/* Only on 36xx */
/* OMAP4 serial ports */
#define OMAP_UART1_BASE 0x4806a000
#define OMAP_UART2_BASE 0x4806c000
#define OMAP_UART3_BASE 0x48020000
#define OMAP_UART4_BASE 0x4806e000
#endif
#define OMAP4_UART1_BASE OMAP2_UART1_BASE
#define OMAP4_UART2_BASE OMAP2_UART2_BASE
#define OMAP4_UART3_BASE 0x48020000
#define OMAP4_UART4_BASE 0x4806e000
/* External port on Zoom2/3 */
#define ZOOM_UART_BASE 0x10000000
#define ZOOM_UART_VIRT 0xfb000000
#define OMAP_PORT_SHIFT 2
#define OMAP7XX_PORT_SHIFT 0
#define ZOOM_PORT_SHIFT 1
#define OMAP1510_BASE_BAUD (12000000/16)
#define OMAP16XX_BASE_BAUD (48000000/16)
#define OMAP24XX_BASE_BAUD (48000000/16)
/*
* DEBUG_LL port encoding stored into the UART1 scratchpad register by
* decomp_setup in uncompress.h
*/
#define OMAP1UART1 11
#define OMAP1UART2 12
#define OMAP1UART3 13
#define OMAP2UART1 21
#define OMAP2UART2 22
#define OMAP2UART3 23
#define OMAP3UART1 OMAP2UART1
#define OMAP3UART2 OMAP2UART2
#define OMAP3UART3 33
#define OMAP3UART4 34
/* Only on 36xx */
#define OMAP4UART1 OMAP2UART1
#define OMAP4UART2 OMAP2UART2
#define OMAP4UART3 43
#define OMAP4UART4 44
#define ZOOM_UART 95
/* Only on zoom2/3 */
/* This is only used by 8250.c for omap1510 */
#define is_omap_port(pt) ({int __ret = 0; \
if ((pt)->port.mapbase == OMAP_UART1_BASE || \
(pt)->port.mapbase == OMAP_UART2_BASE || \
(pt)->port.mapbase == OMAP_UART3_BASE) \
if ((pt)->port.mapbase == OMAP
1
_UART1_BASE || \
(pt)->port.mapbase == OMAP
1
_UART2_BASE || \
(pt)->port.mapbase == OMAP
1
_UART3_BASE) \
__ret = 1; \
__ret; \
})
...
...
arch/arm/plat-omap/include/plat/uncompress.h
View file @
be26a3df
...
...
@@ -19,70 +19,155 @@
#include <linux/types.h>
#include <linux/serial_reg.h>
#include <asm/mach-types.h>
#include <plat/serial.h>
unsigned
int
system_rev
;
static
volatile
u8
*
uart1_base
;
static
int
uart1_shift
;
#define UART_OMAP_MDR1 0x08
/* mode definition register */
#define OMAP_ID_730 0x355F
#define OMAP_ID_850 0x362C
#define ID_MASK 0x7fff
#define check_port(base, shift) ((base[UART_OMAP_MDR1 << shift] & 7) == 0)
#define omap_get_id() ((*(volatile unsigned int *)(0xfffed404)) >> 12) & ID_MASK
static
volatile
u8
*
uart_base
;
static
int
uart_shift
;
static
void
putc
(
int
c
)
/*
* Store the DEBUG_LL uart number into UART1 scratchpad register.
* See also debug-macro.S, and serial.c for related code.
*
* Please note that we currently assume that:
* - UART1 clocks are enabled for register access
* - UART1 scratchpad register can be used
*/
static
void
set_uart1_scratchpad
(
unsigned
char
port
)
{
volatile
u8
*
uart
=
0
;
int
shift
=
2
;
#ifdef CONFIG_MACH_OMAP_PALMTE
return
;
#endif
#ifdef CONFIG_ARCH_OMAP
#ifdef CONFIG_OMAP_LL_DEBUG_UART3
uart
=
(
volatile
u8
*
)(
OMAP_UART3_BASE
);
#elif defined(CONFIG_OMAP_LL_DEBUG_UART2)
uart
=
(
volatile
u8
*
)(
OMAP_UART2_BASE
);
#elif defined(CONFIG_OMAP_LL_DEBUG_UART1)
uart
=
(
volatile
u8
*
)(
OMAP_UART1_BASE
);
#elif defined(CONFIG_OMAP_LL_DEBUG_NONE)
return
;
#else
return
;
#endif
#ifdef CONFIG_ARCH_OMAP1
/* Determine which serial port to use */
do
{
/* MMU is not on, so cpu_is_omapXXXX() won't work here */
unsigned
int
omap_id
=
omap_get_id
();
if
(
omap_id
==
OMAP_ID_730
||
omap_id
==
OMAP_ID_850
)
shift
=
0
;
uart1_base
[
UART_SCR
<<
uart1_shift
]
=
port
;
}
if
(
check_port
(
uart
,
shift
)
)
break
;
/* Silent boot if no serial ports are enabled. */
static
void
putc
(
int
c
)
{
if
(
!
uart_base
)
return
;
}
while
(
0
);
#endif
/* CONFIG_ARCH_OMAP1 */
#endif
/*
* Now, xmit each character
*/
while
(
!
(
uart
[
UART_LSR
<<
shift
]
&
UART_LSR_THRE
))
while
(
!
(
uart_base
[
UART_LSR
<<
uart_shift
]
&
UART_LSR_THRE
))
barrier
();
uart
[
UART_TX
<<
shift
]
=
c
;
uart
_base
[
UART_TX
<<
uart_
shift
]
=
c
;
}
static
inline
void
flush
(
void
)
{
}
/*
* Macros to configure UART1 and debug UART
*/
#define _DEBUG_LL_ENTRY(mach, uart1_phys, uart1_shft, \
dbg_uart, dbg_shft, dbg_id) \
if (machine_is_##mach()) { \
uart1_base = (volatile u8 *)(uart1_phys); \
uart1_shift = (uart1_shft); \
uart_base = (volatile u8 *)(dbg_uart); \
uart_shift = (dbg_shft); \
port = (dbg_id); \
set_uart1_scratchpad(port); \
break; \
}
#define DEBUG_LL_OMAP7XX(p, mach) \
_DEBUG_LL_ENTRY(mach, OMAP1_UART1_BASE, OMAP7XX_PORT_SHIFT, \
OMAP1_UART##p##_BASE, OMAP7XX_PORT_SHIFT, OMAP1UART##p)
#define DEBUG_LL_OMAP1(p, mach) \
_DEBUG_LL_ENTRY(mach, OMAP1_UART1_BASE, OMAP_PORT_SHIFT, \
OMAP1_UART##p##_BASE, OMAP_PORT_SHIFT, OMAP1UART##p)
#define DEBUG_LL_OMAP2(p, mach) \
_DEBUG_LL_ENTRY(mach, OMAP2_UART1_BASE, OMAP_PORT_SHIFT, \
OMAP2_UART##p##_BASE, OMAP_PORT_SHIFT, OMAP2UART##p)
#define DEBUG_LL_OMAP3(p, mach) \
_DEBUG_LL_ENTRY(mach, OMAP3_UART1_BASE, OMAP_PORT_SHIFT, \
OMAP3_UART##p##_BASE, OMAP_PORT_SHIFT, OMAP3UART##p)
#define DEBUG_LL_OMAP4(p, mach) \
_DEBUG_LL_ENTRY(mach, OMAP4_UART1_BASE, OMAP_PORT_SHIFT, \
OMAP4_UART##p##_BASE, OMAP_PORT_SHIFT, OMAP4UART##p)
/* Zoom2/3 shift is different for UART1 and external port */
#define DEBUG_LL_ZOOM(mach) \
_DEBUG_LL_ENTRY(mach, OMAP2_UART1_BASE, OMAP_PORT_SHIFT, \
ZOOM_UART_BASE, ZOOM_PORT_SHIFT, ZOOM_UART)
static
inline
void
__arch_decomp_setup
(
unsigned
long
arch_id
)
{
int
port
=
0
;
/*
* Initialize the port based on the machine ID from the bootloader.
* Note that we're using macros here instead of switch statement
* as machine_is functions are optimized out for the boards that
* are not selected.
*/
do
{
/* omap7xx/8xx based boards using UART1 with shift 0 */
DEBUG_LL_OMAP7XX
(
1
,
herald
);
DEBUG_LL_OMAP7XX
(
1
,
omap_perseus2
);
/* omap15xx/16xx based boards using UART1 */
DEBUG_LL_OMAP1
(
1
,
ams_delta
);
DEBUG_LL_OMAP1
(
1
,
nokia770
);
DEBUG_LL_OMAP1
(
1
,
omap_h2
);
DEBUG_LL_OMAP1
(
1
,
omap_h3
);
DEBUG_LL_OMAP1
(
1
,
omap_innovator
);
DEBUG_LL_OMAP1
(
1
,
omap_osk
);
DEBUG_LL_OMAP1
(
1
,
omap_palmte
);
DEBUG_LL_OMAP1
(
1
,
omap_palmz71
);
/* omap15xx/16xx based boards using UART2 */
DEBUG_LL_OMAP1
(
2
,
omap_palmtt
);
/* omap15xx/16xx based boards using UART3 */
DEBUG_LL_OMAP1
(
3
,
sx1
);
/* omap2 based boards using UART1 */
DEBUG_LL_OMAP2
(
1
,
omap2evm
);
DEBUG_LL_OMAP2
(
1
,
omap_2430sdp
);
DEBUG_LL_OMAP2
(
1
,
omap_apollon
);
DEBUG_LL_OMAP2
(
1
,
omap_h4
);
/* omap2 based boards using UART3 */
DEBUG_LL_OMAP2
(
3
,
nokia_n800
);
DEBUG_LL_OMAP2
(
3
,
nokia_n810
);
DEBUG_LL_OMAP2
(
3
,
nokia_n810_wimax
);
/* omap3 based boards using UART1 */
DEBUG_LL_OMAP2
(
1
,
omap3evm
);
DEBUG_LL_OMAP3
(
1
,
omap_3430sdp
);
DEBUG_LL_OMAP3
(
1
,
omap_3630sdp
);
/* omap3 based boards using UART3 */
DEBUG_LL_OMAP3
(
3
,
cm_t35
);
DEBUG_LL_OMAP3
(
3
,
igep0020
);
DEBUG_LL_OMAP3
(
3
,
nokia_rx51
);
DEBUG_LL_OMAP3
(
3
,
omap3517evm
);
DEBUG_LL_OMAP3
(
3
,
omap3_beagle
);
DEBUG_LL_OMAP3
(
3
,
omap3_pandora
);
DEBUG_LL_OMAP3
(
3
,
omap_ldp
);
DEBUG_LL_OMAP3
(
3
,
overo
);
DEBUG_LL_OMAP3
(
3
,
touchbook
);
/* omap4 based boards using UART3 */
DEBUG_LL_OMAP4
(
3
,
omap_4430sdp
);
/* zoom2/3 external uart */
DEBUG_LL_ZOOM
(
omap_zoom2
);
DEBUG_LL_ZOOM
(
omap_zoom3
);
}
while
(
0
);
}
#define arch_decomp_setup() __arch_decomp_setup(arch_id)
/*
* nothing to do
*/
#define arch_decomp_setup()
#define arch_decomp_wdog()
arch/arm/plat-stmp3xxx/include/mach/debug-macro.S
View file @
be26a3df
...
...
@@ -16,7 +16,7 @@
*
http
:
//
www
.
gnu
.
org
/
copyleft
/
gpl
.
html
*/
.
macro
addruart
,
rx
.
macro
addruart
,
rx
,
tmp
mrc
p15
,
0
,
\
rx
,
c1
,
c0
tst
\
rx
,
#
1
@
MMU
enabled
?
moveq
\
rx
,
#
0x80000000
@
physical
base
address
...
...
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