Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
arch
mips
lantiq
early_printk.c
Go to the documentation of this file.
1
/*
2
* This program is free software; you can redistribute it and/or modify it
3
* under the terms of the GNU General Public License version 2 as published
4
* by the Free Software Foundation.
5
*
6
* Copyright (C) 2010 John Crispin <
[email protected]
>
7
*/
8
9
#include <
linux/cpu.h
>
10
#include <lantiq_soc.h>
11
12
#define ASC_BUF 1024
13
#define LTQ_ASC_FSTAT ((u32 *)(LTQ_EARLY_ASC + 0x0048))
14
#ifdef __BIG_ENDIAN
15
#define LTQ_ASC_TBUF ((u32 *)(LTQ_EARLY_ASC + 0x0020 + 3))
16
#else
17
#define LTQ_ASC_TBUF ((u32 *)(LTQ_EARLY_ASC + 0x0020))
18
#endif
19
#define TXMASK 0x3F00
20
#define TXOFFSET 8
21
22
void
prom_putchar
(
char
c
)
23
{
24
unsigned
long
flags
;
25
26
local_irq_save
(flags);
27
do
{ }
while
((
ltq_r32
(
LTQ_ASC_FSTAT
) &
TXMASK
) >>
TXOFFSET
);
28
if
(c ==
'\n'
)
29
ltq_w8
(
'\r'
,
LTQ_ASC_TBUF
);
30
ltq_w8
(c,
LTQ_ASC_TBUF
);
31
local_irq_restore
(flags);
32
}
Generated on Thu Jan 10 2013 12:56:00 for Linux Kernel by
1.8.2