Skip to content

Commit

Permalink
[ARM] 5412/1: XSCALE: add ice dcc support
Browse files Browse the repository at this point in the history
SCALE: add ice dcc support

Tested on the ixp425 with the ice PEEDI

Ack-by: Eric Miao <eric.miao@marvell.com>

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
  • Loading branch information
Jean-Christop PLAGNIOL-VILLARD authored and Russell King committed Feb 27, 2009
1 parent 22b61a1 commit c633c3c
Show file tree
Hide file tree
Showing 4 changed files with 49 additions and 1 deletion.
2 changes: 1 addition & 1 deletion arch/arm/Kconfig.debug
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ config DEBUG_ICEDCC
Say Y here if you want the debug print routines to direct their
output to the EmbeddedICE macrocell's DCC channel using
co-processor 14. This is known to work on the ARM9 style ICE
channel.
channel and on the XScale with the PEEDI.

It does include a timeout to ensure that the system does not
totally freeze when there is nothing connected to read.
Expand Down
6 changes: 6 additions & 0 deletions arch/arm/boot/compressed/head.S
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,12 @@
.macro writeb, ch, rb
mcr p14, 0, \ch, c0, c5, 0
.endm
#elif defined(CONFIG_CPU_XSCALE)
.macro loadsp, rb
.endm
.macro writeb, ch, rb
mcr p14, 0, \ch, c8, c0, 0
.endm
#else
.macro loadsp, rb
.endm
Expand Down
15 changes: 15 additions & 0 deletions arch/arm/boot/compressed/misc.c
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,21 @@ static void icedcc_putc(int ch)

asm("mcr p14, 0, %0, c0, c5, 0" : : "r" (ch));
}
#elif defined(CONFIG_CPU_XSCALE)

static void icedcc_putc(int ch)
{
int status, i = 0x4000000;

do {
if (--i < 0)
return;

asm volatile ("mrc p14, 0, %0, c14, c0, 0" : "=r" (status));
} while (status & (1 << 28));

asm("mcr p14, 0, %0, c8, c0, 0" : : "r" (ch));
}

#else

Expand Down
27 changes: 27 additions & 0 deletions arch/arm/kernel/debug.S
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,33 @@
1002:
.endm

#elif defined(CONFIG_CPU_XSCALE)

.macro addruart, rx
.endm

.macro senduart, rd, rx
mcr p14, 0, \rd, c8, c0, 0
.endm

.macro busyuart, rd, rx
1001:
mrc p14, 0, \rx, c14, c0, 0
tst \rx, #0x10000000
beq 1001b
.endm

.macro waituart, rd, rx
mov \rd, #0x10000000
1001:
subs \rd, \rd, #1
bmi 1002f
mrc p14, 0, \rx, c14, c0, 0
tst \rx, #0x10000000
bne 1001b
1002:
.endm

#else

.macro addruart, rx
Expand Down

0 comments on commit c633c3c

Please sign in to comment.