Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
e7c4782f
Commit
e7c4782f
authored
Jul 10, 2007
by
Ralf Baechle
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[MIPS] Put an end to <asm/serial.h>'s long and annyoing existence
Signed-off-by:
Ralf Baechle
<
ralf@linux-mips.org
>
parent
192cca6e
Changes
15
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
371 additions
and
151 deletions
+371
-151
arch/mips/Kconfig
arch/mips/Kconfig
+0
-1
arch/mips/ddb5xxx/ddb5477/Makefile
arch/mips/ddb5xxx/ddb5477/Makefile
+2
-1
arch/mips/ddb5xxx/ddb5477/ddb5477-platform.c
arch/mips/ddb5xxx/ddb5477/ddb5477-platform.c
+49
-0
arch/mips/gt64120/momenco_ocelot/Makefile
arch/mips/gt64120/momenco_ocelot/Makefile
+1
-1
arch/mips/gt64120/momenco_ocelot/ocelot-platform.c
arch/mips/gt64120/momenco_ocelot/ocelot-platform.c
+46
-0
arch/mips/jazz/Makefile
arch/mips/jazz/Makefile
+1
-1
arch/mips/jazz/jazz-platform.c
arch/mips/jazz/jazz-platform.c
+60
-0
arch/mips/kernel/8250-platform.c
arch/mips/kernel/8250-platform.c
+47
-0
arch/mips/kernel/Makefile
arch/mips/kernel/Makefile
+2
-0
arch/mips/mips-boards/malta/Makefile
arch/mips/mips-boards/malta/Makefile
+2
-1
arch/mips/mips-boards/malta/malta_platform.c
arch/mips/mips-boards/malta/malta_platform.c
+65
-0
arch/mips/momentum/ocelot_3/platform.c
arch/mips/momentum/ocelot_3/platform.c
+44
-0
arch/mips/sgi-ip32/ip32-platform.c
arch/mips/sgi-ip32/ip32-platform.c
+52
-0
arch/mips/sgi-ip32/ip32-setup.c
arch/mips/sgi-ip32/ip32-setup.c
+0
-36
include/asm-mips/serial.h
include/asm-mips/serial.h
+0
-110
No files found.
arch/mips/Kconfig
View file @
e7c4782f
...
@@ -155,7 +155,6 @@ config MIPS_MALTA
...
@@ -155,7 +155,6 @@ config MIPS_MALTA
bool "MIPS Malta board"
bool "MIPS Malta board"
select ARCH_MAY_HAVE_PC_FDC
select ARCH_MAY_HAVE_PC_FDC
select BOOT_ELF32
select BOOT_ELF32
select HAVE_STD_PC_SERIAL_PORT
select DMA_NONCOHERENT
select DMA_NONCOHERENT
select GENERIC_ISA_DMA
select GENERIC_ISA_DMA
select IRQ_CPU
select IRQ_CPU
...
...
arch/mips/ddb5xxx/ddb5477/Makefile
View file @
e7c4782f
...
@@ -2,7 +2,8 @@
...
@@ -2,7 +2,8 @@
# Makefile for NEC DDB-Vrc5477 board
# Makefile for NEC DDB-Vrc5477 board
#
#
obj-y
+=
irq.o irq_5477.o setup.o lcd44780.o
obj-y
+=
ddb5477-platform.o irq.o irq_5477.o setup.o
\
lcd44780.o
obj-$(CONFIG_RUNTIME_DEBUG)
+=
debug.o
obj-$(CONFIG_RUNTIME_DEBUG)
+=
debug.o
obj-$(CONFIG_KGDB)
+=
kgdb_io.o
obj-$(CONFIG_KGDB)
+=
kgdb_io.o
arch/mips/ddb5xxx/ddb5477/ddb5477-platform.c
0 → 100644
View file @
e7c4782f
/*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*
* Copyright (C) 2007 Ralf Baechle (ralf@linux-mips.org)
*/
#include <linux/init.h>
#include <linux/module.h>
#include <linux/serial_8250.h>
#include <asm/ddb5xxx/ddb5477.h>
#define DDB_UART_FLAGS (UPF_BOOT_AUTOCONF | UPF_SKIP_TEST | UPF_IOREMAP)
#define DDB5477_PORT(base, int) \
{ \
.mapbase = base, \
.irq = int, \
.uartclk = 1843200, \
.iotype = UPIO_MEM, \
.flags = DDB_UART_FLAGS, \
.regshift = 3, \
}
static
struct
plat_serial8250_port
uart8250_data
[]
=
{
DDB5477_PORT
(
0xbfa04200
,
VRC5477_IRQ_UART0
),
DDB5477_PORT
(
0xbfa04240
,
VRC5477_IRQ_UART1
),
{
},
};
static
struct
platform_device
uart8250_device
=
{
.
name
=
"serial8250"
,
.
id
=
PLAT8250_DEV_PLATFORM
,
.
dev
=
{
.
platform_data
=
uart8250_data
,
},
};
static
int
__init
uart8250_init
(
void
)
{
return
platform_device_register
(
&
uart8250_device
);
}
module_init
(
uart8250_init
);
MODULE_AUTHOR
(
"Ralf Baechle <ralf@linux-mips.org>"
);
MODULE_LICENSE
(
"GPL"
);
MODULE_DESCRIPTION
(
"8250 UART probe driver for the NEC DDB5477"
);
arch/mips/gt64120/momenco_ocelot/Makefile
View file @
e7c4782f
...
@@ -2,6 +2,6 @@
...
@@ -2,6 +2,6 @@
# Makefile for Momentum's Ocelot board.
# Makefile for Momentum's Ocelot board.
#
#
obj-y
+=
irq.o prom.o reset.o setup.o
obj-y
+=
irq.o
ocelot-platform.o
prom.o reset.o setup.o
obj-$(CONFIG_KGDB)
+=
dbg_io.o
obj-$(CONFIG_KGDB)
+=
dbg_io.o
arch/mips/gt64120/momenco_ocelot/ocelot-platform.c
0 → 100644
View file @
e7c4782f
/*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*
* Copyright (C) 2007 Ralf Baechle (ralf@linux-mips.org)
*
* A NS16552 DUART with a 20MHz crystal.
*
*/
#include <linux/module.h>
#include <linux/init.h>
#include <linux/serial_8250.h>
#define OCELOT_UART_FLAGS (UPF_BOOT_AUTOCONF | UPF_SKIP_TEST | UPF_IOREMAP)
static
struct
plat_serial8250_port
uart8250_data
[]
=
{
{
.
mapbase
=
0xe0001020
,
.
irq
=
4
,
.
uartclk
=
20000000
,
.
iotype
=
UPIO_MEM
,
.
flags
=
OCELOT_UART_FLAGS
,
.
regshift
=
2
,
},
{
},
};
static
struct
platform_device
uart8250_device
=
{
.
name
=
"serial8250"
,
.
id
=
PLAT8250_DEV_PLATFORM
,
.
dev
=
{
.
platform_data
=
uart8250_data
,
},
};
static
int
__init
uart8250_init
(
void
)
{
return
platform_device_register
(
&
uart8250_device
);
}
module_init
(
uart8250_init
);
MODULE_AUTHOR
(
"Ralf Baechle <ralf@linux-mips.org>"
);
MODULE_LICENSE
(
"GPL"
);
MODULE_DESCRIPTION
(
"8250 UART probe driver for the Momenco Ocelot"
);
arch/mips/jazz/Makefile
View file @
e7c4782f
...
@@ -2,4 +2,4 @@
...
@@ -2,4 +2,4 @@
# Makefile for the Jazz family specific parts of the kernel
# Makefile for the Jazz family specific parts of the kernel
#
#
obj-y
:=
irq.o jazzdma.o reset.o setup.o
obj-y
:=
irq.o jazzdma.o
jazz-platform.o
reset.o setup.o
arch/mips/jazz/jazz-platform.c
0 → 100644
View file @
e7c4782f
/*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*
* Copyright (C) 2007 Ralf Baechle (ralf@linux-mips.org)
*/
#include <linux/init.h>
#include <linux/module.h>
#include <linux/serial_8250.h>
#include <asm/jazz.h>
/*
* Confusion ... It seems the original Microsoft Jazz machine used to have a
* 4.096MHz clock for its UART while the MIPS Magnum and Millenium systems
* had 8MHz. The Olivetti M700-10 and the Acer PICA have 1.8432MHz like PCs.
*/
#ifdef CONFIG_OLIVETTI_M700
#define JAZZ_BASE_BAUD 1843200
#else
#define JAZZ_BASE_BAUD 8000000
/* 3072000 */
#endif
#define JAZZ_UART_FLAGS (UPF_BOOT_AUTOCONF | UPF_SKIP_TEST | UPF_IOREMAP)
#define JAZZ_PORT(base, int) \
{ \
.mapbase = base, \
.irq = int, \
.uartclk = JAZZ_BASE_BAUD, \
.iotype = UPIO_MEM, \
.flags = JAZZ_UART_FLAGS, \
.regshift = 0, \
}
static
struct
plat_serial8250_port
uart8250_data
[]
=
{
JAZZ_PORT
(
JAZZ_SERIAL1_BASE
,
JAZZ_SERIAL1_IRQ
),
JAZZ_PORT
(
JAZZ_SERIAL2_BASE
,
JAZZ_SERIAL2_IRQ
),
{
},
};
static
struct
platform_device
uart8250_device
=
{
.
name
=
"serial8250"
,
.
id
=
PLAT8250_DEV_PLATFORM
,
.
dev
=
{
.
platform_data
=
uart8250_data
,
},
};
static
int
__init
uart8250_init
(
void
)
{
return
platform_device_register
(
&
uart8250_device
);
}
module_init
(
uart8250_init
);
MODULE_AUTHOR
(
"Ralf Baechle <ralf@linux-mips.org>"
);
MODULE_LICENSE
(
"GPL"
);
MODULE_DESCRIPTION
(
"8250 UART probe driver for the Jazz family"
);
arch/mips/kernel/8250-platform.c
0 → 100644
View file @
e7c4782f
/*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*
* Copyright (C) 2007 Ralf Baechle (ralf@linux-mips.org)
*/
#include <linux/module.h>
#include <linux/init.h>
#include <linux/serial_8250.h>
#define PORT(base, int) \
{ \
.iobase = base, \
.irq = int, \
.uartclk = 1843200, \
.iotype = UPIO_PORT, \
.flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST, \
.regshift = 0, \
}
static
struct
plat_serial8250_port
uart8250_data
[]
=
{
PORT
(
0x3F8
,
4
),
PORT
(
0x2F8
,
3
),
PORT
(
0x3E8
,
4
),
PORT
(
0x2E8
,
3
),
{
},
};
static
struct
platform_device
uart8250_device
=
{
.
name
=
"serial8250"
,
.
id
=
PLAT8250_DEV_PLATFORM
,
.
dev
=
{
.
platform_data
=
uart8250_data
,
},
};
static
int
__init
uart8250_init
(
void
)
{
return
platform_device_register
(
&
uart8250_device
);
}
module_init
(
uart8250_init
);
MODULE_AUTHOR
(
"Ralf Baechle <ralf@linux-mips.org>"
);
MODULE_LICENSE
(
"GPL"
);
MODULE_DESCRIPTION
(
"Generic 8250 UART probe driver"
);
arch/mips/kernel/Makefile
View file @
e7c4782f
...
@@ -68,3 +68,5 @@ obj-$(CONFIG_KEXEC) += machine_kexec.o relocate_kernel.o
...
@@ -68,3 +68,5 @@ obj-$(CONFIG_KEXEC) += machine_kexec.o relocate_kernel.o
obj-$(CONFIG_EARLY_PRINTK)
+=
early_printk.o
obj-$(CONFIG_EARLY_PRINTK)
+=
early_printk.o
CFLAGS_cpu-bugs64.o
=
$(
shell
if
$(CC)
$(CFLAGS)
-Wa
,-mdaddi
-c
-o
/dev/null
-xc
/dev/null
>
/dev/null 2>&1
;
then
echo
"-DHAVE_AS_SET_DADDI"
;
fi
)
CFLAGS_cpu-bugs64.o
=
$(
shell
if
$(CC)
$(CFLAGS)
-Wa
,-mdaddi
-c
-o
/dev/null
-xc
/dev/null
>
/dev/null 2>&1
;
then
echo
"-DHAVE_AS_SET_DADDI"
;
fi
)
obj-$(CONFIG_HAVE_STD_PC_SERIAL_PORT)
+=
8250-platform.o
arch/mips/mips-boards/malta/Makefile
View file @
e7c4782f
...
@@ -19,6 +19,7 @@
...
@@ -19,6 +19,7 @@
# under Linux.
# under Linux.
#
#
obj-y
:=
malta_int.o malta_setup.o
obj-y
:=
malta_int.o malta_platform.o malta_setup.o
obj-$(CONFIG_MTD)
+=
malta_mtd.o
obj-$(CONFIG_MTD)
+=
malta_mtd.o
obj-$(CONFIG_MIPS_MT_SMTC)
+=
malta_smtc.o
obj-$(CONFIG_MIPS_MT_SMTC)
+=
malta_smtc.o
arch/mips/mips-boards/malta/malta_platform.c
0 → 100644
View file @
e7c4782f
/*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*
* Copyright (C) 2007 MIPS Technologies, Inc.
* written by Ralf Baechle (ralf@linux-mips.org)
*
* Probe driver for the Malta's UART ports:
*
* o 2 ports in the SMC SuperIO
* o 1 port in the CBUS UART, a discrete 16550 which normally is only used
* for bringups.
*
* We don't use 8250_platform.c on Malta as it would result in the CBUS
* UART becoming ttyS0.
*/
#include <linux/module.h>
#include <linux/init.h>
#include <linux/serial_8250.h>
#define SMC_PORT(base, int) \
{ \
.iobase = base, \
.irq = int, \
.uartclk = 1843200, \
.iotype = UPIO_PORT, \
.flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST, \
.regshift = 0, \
}
#define CBUS_UART_FLAGS (UPF_BOOT_AUTOCONF | UPF_SKIP_TEST | UPF_IOREMAP)
static
struct
plat_serial8250_port
uart8250_data
[]
=
{
SMC_PORT
(
0x3F8
,
4
),
SMC_PORT
(
0x2F8
,
3
),
{
.
mapbase
=
0x1f000900
,
/* The CBUS UART */
.
irq
=
MIPS_CPU_IRQ_BASE
+
2
,
.
uartclk
=
3686400
,
/* Twice the usual clk! */
.
iotype
=
UPIO_MEM32
,
.
flags
=
CBUS_UART_FLAGS
,
.
regshift
=
3
,
},
{
},
};
static
struct
platform_device
uart8250_device
=
{
.
name
=
"serial8250"
,
.
id
=
PLAT8250_DEV_PLATFORM2
,
.
dev
=
{
.
platform_data
=
uart8250_data
,
},
};
static
int
__init
uart8250_init
(
void
)
{
return
platform_device_register
(
&
uart8250_device
);
}
module_init
(
uart8250_init
);
MODULE_AUTHOR
(
"Ralf Baechle <ralf@linux-mips.org>"
);
MODULE_LICENSE
(
"GPL"
);
MODULE_DESCRIPTION
(
"8250 UART probe driver for the Malta CBUS UART"
);
arch/mips/momentum/ocelot_3/platform.c
View file @
e7c4782f
/*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*
* Copyright (C) 2006, 07 Ralf Baechle (ralf@linux-mips.org)
* Copyright (C) 2007 Dale Farnsworth (dale@farnsworth.org)
*/
#include <linux/delay.h>
#include <linux/delay.h>
#include <linux/if_ether.h>
#include <linux/if_ether.h>
#include <linux/init.h>
#include <linux/ioport.h>
#include <linux/ioport.h>
#include <linux/module.h>
#include <linux/mv643xx.h>
#include <linux/mv643xx.h>
#include <linux/platform_device.h>
#include <linux/platform_device.h>
#include <linux/serial_8250.h>
#include "ocelot_3_fpga.h"
#include "ocelot_3_fpga.h"
...
@@ -206,3 +217,36 @@ static int __init mv643xx_eth_add_pds(void)
...
@@ -206,3 +217,36 @@ static int __init mv643xx_eth_add_pds(void)
device_initcall
(
mv643xx_eth_add_pds
);
device_initcall
(
mv643xx_eth_add_pds
);
#endif
/* defined(CONFIG_MV643XX_ETH) || defined(CONFIG_MV643XX_ETH_MODULE) */
#endif
/* defined(CONFIG_MV643XX_ETH) || defined(CONFIG_MV643XX_ETH_MODULE) */
#define OCELOT3_UART_FLAGS (UPF_BOOT_AUTOCONF | UPF_SKIP_TEST)
static
struct
plat_serial8250_port
uart8250_data
[]
=
{
{
.
membase
=
(
signed
long
)
0xfd000020
,
.
irq
=
6
,
.
uartclk
=
20000000
,
.
iotype
=
UPIO_MEM
,
.
flags
=
OCELOT3_UART_FLAGS
,
.
regshift
=
2
,
},
{
},
};
static
struct
platform_device
uart8250_device
=
{
.
name
=
"serial8250"
,
.
id
=
PLAT8250_DEV_PLATFORM
,
.
dev
=
{
.
platform_data
=
uart8250_data
,
},
};
static
int
__init
uart8250_init
(
void
)
{
return
platform_device_register
(
&
uart8250_device
);
}
module_init
(
uart8250_init
);
MODULE_AUTHOR
(
"Ralf Baechle <ralf@linux-mips.org>"
);
MODULE_LICENSE
(
"GPL"
);
MODULE_DESCRIPTION
(
"8250 UART probe driver for the Ocelot 3"
);
arch/mips/sgi-ip32/ip32-platform.c
View file @
e7c4782f
/*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*
* Copyright (C) 2007 Ralf Baechle (ralf@linux-mips.org)
*/
#include <linux/module.h>
#include <linux/init.h>
#include <linux/init.h>
#include <linux/platform_device.h>
#include <linux/platform_device.h>
#include <linux/serial_8250.h>
#include <asm/ip32/mace.h>
#include <asm/ip32/ip32_ints.h>
/*
* .iobase isn't a constant (in the sense of C) so we fill it in at runtime.
*/
#define MACE_PORT(int) \
{ \
.irq = int, \
.uartclk = 1843200, \
.iotype = UPIO_MEM, \
.flags = UPF_SKIP_TEST, \
.regshift = 8, \
}
static
struct
plat_serial8250_port
uart8250_data
[]
=
{
MACE_PORT
(
MACEISA_SERIAL1_IRQ
),
MACE_PORT
(
MACEISA_SERIAL2_IRQ
),
{
},
};
static
struct
platform_device
uart8250_device
=
{
.
name
=
"serial8250"
,
.
id
=
PLAT8250_DEV_PLATFORM
,
.
dev
=
{
.
platform_data
=
uart8250_data
,
},
};
static
int
__init
uart8250_init
(
void
)
{
uart8250_data
[
0
].
iobase
=
(
unsigned
long
)
&
mace
->
isa
.
serial1
;
uart8250_data
[
1
].
iobase
=
(
unsigned
long
)
&
mace
->
isa
.
serial1
;
return
platform_device_register
(
&
uart8250_device
);
}
device_initcall
(
uart8250_init
);
static
__init
int
meth_devinit
(
void
)
static
__init
int
meth_devinit
(
void
)
{
{
...
@@ -18,3 +66,7 @@ static __init int meth_devinit(void)
...
@@ -18,3 +66,7 @@ static __init int meth_devinit(void)
}
}
device_initcall
(
meth_devinit
);
device_initcall
(
meth_devinit
);
MODULE_AUTHOR
(
"Ralf Baechle <ralf@linux-mips.org>"
);
MODULE_LICENSE
(
"GPL"
);
MODULE_DESCRIPTION
(
"8250 UART probe driver for SGI IP32 aka O2"
);
arch/mips/sgi-ip32/ip32-setup.c
View file @
e7c4782f
...
@@ -62,12 +62,6 @@ static inline void str2eaddr(unsigned char *ea, unsigned char *str)
...
@@ -62,12 +62,6 @@ static inline void str2eaddr(unsigned char *ea, unsigned char *str)
}
}
#endif
#endif
#ifdef CONFIG_SERIAL_8250
#include <linux/tty.h>
#include <linux/serial.h>
#include <linux/serial_core.h>
#endif
/* CONFIG_SERIAL_8250 */
/* An arbitrary time; this can be decreased if reliability looks good */
/* An arbitrary time; this can be decreased if reliability looks good */
#define WAIT_MS 10
#define WAIT_MS 10
...
@@ -96,36 +90,6 @@ void __init plat_mem_setup(void)
...
@@ -96,36 +90,6 @@ void __init plat_mem_setup(void)
board_time_init
=
ip32_time_init
;
board_time_init
=
ip32_time_init
;
#ifdef CONFIG_SERIAL_8250
{
static
struct
uart_port
o2_serial
[
2
];
memset
(
o2_serial
,
0
,
sizeof
(
o2_serial
));
o2_serial
[
0
].
type
=
PORT_16550A
;
o2_serial
[
0
].
line
=
0
;
o2_serial
[
0
].
irq
=
MACEISA_SERIAL1_IRQ
;
o2_serial
[
0
].
flags
=
UPF_SKIP_TEST
;
o2_serial
[
0
].
uartclk
=
1843200
;
o2_serial
[
0
].
iotype
=
UPIO_MEM
;
o2_serial
[
0
].
membase
=
(
char
*
)
&
mace
->
isa
.
serial1
;
o2_serial
[
0
].
fifosize
=
14
;
/* How much to shift register offset by. Each UART register
* is replicated over 256 byte space */
o2_serial
[
0
].
regshift
=
8
;
o2_serial
[
1
].
type
=
PORT_16550A
;
o2_serial
[
1
].
line
=
1
;
o2_serial
[
1
].
irq
=
MACEISA_SERIAL2_IRQ
;
o2_serial
[
1
].
flags
=
UPF_SKIP_TEST
;
o2_serial
[
1
].
uartclk
=
1843200
;
o2_serial
[
1
].
iotype
=
UPIO_MEM
;
o2_serial
[
1
].
membase
=
(
char
*
)
&
mace
->
isa
.
serial2
;
o2_serial
[
1
].
fifosize
=
14
;
o2_serial
[
1
].
regshift
=
8
;
early_serial_setup
(
&
o2_serial
[
0
]);
early_serial_setup
(
&
o2_serial
[
1
]);
}
#endif
#ifdef CONFIG_SGI_O2MACE_ETH
#ifdef CONFIG_SGI_O2MACE_ETH
{
{
char
*
mac
=
ArcGetEnvironmentVariable
(
"eaddr"
);
char
*
mac
=
ArcGetEnvironmentVariable
(
"eaddr"
);
...
...
include/asm-mips/serial.h
View file @
e7c4782f
...
@@ -19,114 +19,4 @@
...
@@ -19,114 +19,4 @@
*/
*/
#define BASE_BAUD (1843200 / 16)
#define BASE_BAUD (1843200 / 16)
/* Standard COM flags (except for COM4, because of the 8514 problem) */
#ifdef CONFIG_SERIAL_DETECT_IRQ
#define STD_COM_FLAGS (ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST | ASYNC_AUTO_IRQ)
#define STD_COM4_FLAGS (ASYNC_BOOT_AUTOCONF | ASYNC_AUTO_IRQ)
#else
#define STD_COM_FLAGS (ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST)
#define STD_COM4_FLAGS ASYNC_BOOT_AUTOCONF
#endif
#ifdef CONFIG_MACH_JAZZ
#include <asm/jazz.h>
#ifndef CONFIG_OLIVETTI_M700
/* Some Jazz machines seem to have an 8MHz crystal clock but I don't know
exactly which ones ... XXX */
#define JAZZ_BASE_BAUD ( 8000000 / 16 )
/* ( 3072000 / 16) */
#else
/* but the M700 isn't such a strange beast */
#define JAZZ_BASE_BAUD BASE_BAUD
#endif
#define _JAZZ_SERIAL_INIT(int, base) \
{ .baud_base = JAZZ_BASE_BAUD, .irq = int, .flags = STD_COM_FLAGS, \
.iomem_base = (u8 *) base, .iomem_reg_shift = 0, \
.io_type = SERIAL_IO_MEM }
#define JAZZ_SERIAL_PORT_DEFNS \
_JAZZ_SERIAL_INIT(JAZZ_SERIAL1_IRQ, JAZZ_SERIAL1_BASE), \
_JAZZ_SERIAL_INIT(JAZZ_SERIAL2_IRQ, JAZZ_SERIAL2_BASE),
#else
#define JAZZ_SERIAL_PORT_DEFNS
#endif
#ifdef CONFIG_HAVE_STD_PC_SERIAL_PORT
#define STD_SERIAL_PORT_DEFNS \
/* UART CLK PORT IRQ FLAGS */
\
{ 0, BASE_BAUD, 0x3F8, 4, STD_COM_FLAGS },
/* ttyS0 */
\
{ 0, BASE_BAUD, 0x2F8, 3, STD_COM_FLAGS },
/* ttyS1 */
\
{ 0, BASE_BAUD, 0x3E8, 4, STD_COM_FLAGS },
/* ttyS2 */
\
{ 0, BASE_BAUD, 0x2E8, 3, STD_COM4_FLAGS },
/* ttyS3 */
#else
/* CONFIG_HAVE_STD_PC_SERIAL_PORTS */
#define STD_SERIAL_PORT_DEFNS
#endif
/* CONFIG_HAVE_STD_PC_SERIAL_PORTS */
#ifdef CONFIG_MOMENCO_OCELOT_3
#define OCELOT_3_BASE_BAUD ( 20000000 / 16 )
#define OCELOT_3_SERIAL_IRQ 6
#define OCELOT_3_SERIAL_BASE (signed)0xfd000020
#define _OCELOT_3_SERIAL_INIT(int, base) \
{ .baud_base = OCELOT_3_BASE_BAUD, irq: int, \
.flags = STD_COM_FLAGS, \
.iomem_base = (u8 *) base, iomem_reg_shift: 2, \
io_type: SERIAL_IO_MEM }
#define MOMENCO_OCELOT_3_SERIAL_PORT_DEFNS \
_OCELOT_3_SERIAL_INIT(OCELOT_3_SERIAL_IRQ, OCELOT_3_SERIAL_BASE)
#else
#define MOMENCO_OCELOT_3_SERIAL_PORT_DEFNS
#endif
#ifdef CONFIG_MOMENCO_OCELOT
/* Ordinary NS16552 duart with a 20MHz crystal. */
#define OCELOT_BASE_BAUD ( 20000000 / 16 )
#define OCELOT_SERIAL1_IRQ 4
#define OCELOT_SERIAL1_BASE 0xe0001020
#define _OCELOT_SERIAL_INIT(int, base) \
{ .baud_base = OCELOT_BASE_BAUD, .irq = int, .flags = STD_COM_FLAGS, \
.iomem_base = (u8 *) base, .iomem_reg_shift = 2, \
.io_type = SERIAL_IO_MEM }
#define MOMENCO_OCELOT_SERIAL_PORT_DEFNS \
_OCELOT_SERIAL_INIT(OCELOT_SERIAL1_IRQ, OCELOT_SERIAL1_BASE)
#else
#define MOMENCO_OCELOT_SERIAL_PORT_DEFNS
#endif
#ifdef CONFIG_DDB5477
#include <asm/ddb5xxx/ddb5477.h>
#define DDB5477_SERIAL_PORT_DEFNS \
{ .baud_base = BASE_BAUD, .irq = VRC5477_IRQ_UART0, \
.flags = STD_COM_FLAGS, .iomem_base = (u8*)0xbfa04200, \
.iomem_reg_shift = 3, .io_type = SERIAL_IO_MEM}, \
{ .baud_base = BASE_BAUD, .irq = VRC5477_IRQ_UART1, \
.flags = STD_COM_FLAGS, .iomem_base = (u8*)0xbfa04240, \
.iomem_reg_shift = 3, .io_type = SERIAL_IO_MEM},
#else
#define DDB5477_SERIAL_PORT_DEFNS
#endif
#ifdef CONFIG_SGI_IP32
/*
* The IP32 (SGI O2) has standard serial ports (UART 16550A) mapped in memory
* They are initialized in ip32_setup
*/
#define IP32_SERIAL_PORT_DEFNS \
{},{},
#else
#define IP32_SERIAL_PORT_DEFNS
#endif
/* CONFIG_SGI_IP32 */
#define SERIAL_PORT_DFNS \
DDB5477_SERIAL_PORT_DEFNS \
IP32_SERIAL_PORT_DEFNS \
JAZZ_SERIAL_PORT_DEFNS \
STD_SERIAL_PORT_DEFNS \
MOMENCO_OCELOT_SERIAL_PORT_DEFNS \
MOMENCO_OCELOT_3_SERIAL_PORT_DEFNS
#endif
/* _ASM_SERIAL_H */
#endif
/* _ASM_SERIAL_H */
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