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
nexedi
linux
Commits
03b8cad5
Commit
03b8cad5
authored
Jun 22, 2004
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge
bk://bk.arm.linux.org.uk/linux-2.6-serial
into ppc970.osdl.org:/home/torvalds/v2.6/linux
parents
ec2319ca
33e8a4f8
Changes
6
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
813 additions
and
11 deletions
+813
-11
arch/arm/mach-pxa/generic.c
arch/arm/mach-pxa/generic.c
+16
-0
drivers/serial/Kconfig
drivers/serial/Kconfig
+23
-0
drivers/serial/Makefile
drivers/serial/Makefile
+1
-0
drivers/serial/pxa.c
drivers/serial/pxa.c
+62
-11
drivers/serial/serial_lh7a40x.c
drivers/serial/serial_lh7a40x.c
+708
-0
include/linux/serial_core.h
include/linux/serial_core.h
+3
-0
No files found.
arch/arm/mach-pxa/generic.c
View file @
03b8cad5
...
@@ -198,10 +198,26 @@ static struct platform_device pxafb_device = {
...
@@ -198,10 +198,26 @@ static struct platform_device pxafb_device = {
.
resource
=
pxafb_resources
,
.
resource
=
pxafb_resources
,
};
};
static
struct
platform_device
ffuart_device
=
{
.
name
=
"pxa2xx-uart"
,
.
id
=
0
,
};
static
struct
platform_device
btuart_device
=
{
.
name
=
"pxa2xx-uart"
,
.
id
=
1
,
};
static
struct
platform_device
stuart_device
=
{
.
name
=
"pxa2xx-uart"
,
.
id
=
2
,
};
static
struct
platform_device
*
devices
[]
__initdata
=
{
static
struct
platform_device
*
devices
[]
__initdata
=
{
&
pxamci_device
,
&
pxamci_device
,
&
udc_device
,
&
udc_device
,
&
pxafb_device
,
&
pxafb_device
,
&
ffuart_device
,
&
btuart_device
,
&
stuart_device
,
};
};
static
int
__init
pxa_init
(
void
)
static
int
__init
pxa_init
(
void
)
...
...
drivers/serial/Kconfig
View file @
03b8cad5
...
@@ -603,5 +603,28 @@ config SERIAL_PMACZILOG_CONSOLE
...
@@ -603,5 +603,28 @@ config SERIAL_PMACZILOG_CONSOLE
on your PowerMac as the console, you can do so by answering
on your PowerMac as the console, you can do so by answering
Y to this option.
Y to this option.
config SERIAL_LH7A40X
tristate "Sharp LH7A40X embedded UART support"
depends on ARM && ARCH_LH7A40X
select SERIAL_CORE
help
This enables support for the three on-board UARTs of the
Sharp LH7A40X series CPUs. Choose Y or M.
config SERIAL_LH7A40X_CONSOLE
bool "Support for connsole on Sharp LH7A40X serial port"
depends on SERIAL_LH7A40X=y
select SERIAL_CORE_CONSOLE
help
Say Y here if you wish to use one of the serial ports as the
system console--the system console is the device which
receives all kernel messages and warnings and which allows
logins in single user mode.
Even if you say Y here, the currently visible framebuffer console
(/dev/tty0) will still be used as the default system console, but
you can alter that using a kernel command line, for example
"console=ttyAM1".
endmenu
endmenu
drivers/serial/Makefile
View file @
03b8cad5
...
@@ -34,6 +34,7 @@ obj-$(CONFIG_SERIAL_68360) += 68360serial.o
...
@@ -34,6 +34,7 @@ obj-$(CONFIG_SERIAL_68360) += 68360serial.o
obj-$(CONFIG_SERIAL_COLDFIRE)
+=
mcfserial.o
obj-$(CONFIG_SERIAL_COLDFIRE)
+=
mcfserial.o
obj-$(CONFIG_V850E_UART)
+=
v850e_uart.o
obj-$(CONFIG_V850E_UART)
+=
v850e_uart.o
obj-$(CONFIG_SERIAL_PMACZILOG)
+=
pmac_zilog.o
obj-$(CONFIG_SERIAL_PMACZILOG)
+=
pmac_zilog.o
obj-$(CONFIG_SERIAL_LH7A40X)
+=
serial_lh7a40x.o
obj-$(CONFIG_SERIAL_AU1X00)
+=
au1x00_uart.o
obj-$(CONFIG_SERIAL_AU1X00)
+=
au1x00_uart.o
obj-$(CONFIG_SERIAL_DZ)
+=
dz.o
obj-$(CONFIG_SERIAL_DZ)
+=
dz.o
obj-$(CONFIG_SERIAL_SH_SCI)
+=
sh-sci.o
obj-$(CONFIG_SERIAL_SH_SCI)
+=
sh-sci.o
...
...
drivers/serial/pxa.c
View file @
03b8cad5
...
@@ -35,6 +35,7 @@
...
@@ -35,6 +35,7 @@
#include <linux/circ_buf.h>
#include <linux/circ_buf.h>
#include <linux/delay.h>
#include <linux/delay.h>
#include <linux/interrupt.h>
#include <linux/interrupt.h>
#include <linux/device.h>
#include <asm/io.h>
#include <asm/io.h>
#include <asm/hardware.h>
#include <asm/hardware.h>
...
@@ -804,26 +805,76 @@ static struct uart_driver serial_pxa_reg = {
...
@@ -804,26 +805,76 @@ static struct uart_driver serial_pxa_reg = {
.
cons
=
PXA_CONSOLE
,
.
cons
=
PXA_CONSOLE
,
};
};
static
int
__init
serial_pxa_init
(
void
)
static
int
serial_pxa_suspend
(
struct
device
*
_dev
,
u32
state
,
u32
level
)
{
{
int
i
,
ret
;
struct
uart_pxa_port
*
sport
=
dev_get_drvdata
(
_dev
)
;
ret
=
uart_register_driver
(
&
serial_pxa_reg
);
if
(
sport
&&
level
==
SUSPEND_DISABLE
)
if
(
ret
)
uart_suspend_port
(
&
serial_pxa_reg
,
&
sport
->
port
);
return
ret
;
return
0
;
}
for
(
i
=
0
;
i
<
ARRAY_SIZE
(
serial_pxa_ports
);
i
++
)
static
int
serial_pxa_resume
(
struct
device
*
_dev
,
u32
level
)
uart_add_one_port
(
&
serial_pxa_reg
,
&
serial_pxa_ports
[
i
].
port
);
{
struct
uart_pxa_port
*
sport
=
dev_get_drvdata
(
_dev
);
if
(
sport
&&
level
==
RESUME_ENABLE
)
uart_resume_port
(
&
serial_pxa_reg
,
&
sport
->
port
);
return
0
;
}
static
int
serial_pxa_probe
(
struct
device
*
_dev
)
{
struct
platform_device
*
dev
=
to_platform_device
(
_dev
);
serial_pxa_ports
[
dev
->
id
].
port
.
dev
=
_dev
;
uart_add_one_port
(
&
serial_pxa_reg
,
&
serial_pxa_ports
[
dev
->
id
].
port
);
dev_set_drvdata
(
_dev
,
&
serial_pxa_ports
[
dev
->
id
]);
return
0
;
return
0
;
}
}
static
void
__exit
serial_pxa_exit
(
void
)
static
int
serial_pxa_remove
(
struct
device
*
_dev
)
{
{
int
i
;
struct
uart_pxa_port
*
sport
=
dev_get_drvdata
(
_dev
);
dev_set_drvdata
(
_dev
,
NULL
);
for
(
i
=
0
;
i
<
ARRAY_SIZE
(
serial_pxa_ports
);
i
++
)
if
(
sport
)
uart_remove_one_port
(
&
serial_pxa_reg
,
&
serial_pxa_ports
[
i
].
port
);
uart_remove_one_port
(
&
serial_pxa_reg
,
&
sport
->
port
);
return
0
;
}
static
struct
device_driver
serial_pxa_driver
=
{
.
name
=
"pxa2xx-uart"
,
.
bus
=
&
platform_bus_type
,
.
probe
=
serial_pxa_probe
,
.
remove
=
serial_pxa_remove
,
.
suspend
=
serial_pxa_suspend
,
.
resume
=
serial_pxa_resume
,
};
int
__init
serial_pxa_init
(
void
)
{
int
ret
;
ret
=
uart_register_driver
(
&
serial_pxa_reg
);
if
(
ret
!=
0
)
return
ret
;
ret
=
driver_register
(
&
serial_pxa_driver
);
if
(
ret
!=
0
)
uart_unregister_driver
(
&
serial_pxa_reg
);
return
ret
;
}
void
__exit
serial_pxa_exit
(
void
)
{
driver_unregister
(
&
serial_pxa_driver
);
uart_unregister_driver
(
&
serial_pxa_reg
);
uart_unregister_driver
(
&
serial_pxa_reg
);
}
}
...
...
drivers/serial/serial_lh7a40x.c
0 → 100644
View file @
03b8cad5
This diff is collapsed.
Click to expand it.
include/linux/serial_core.h
View file @
03b8cad5
...
@@ -80,6 +80,9 @@
...
@@ -80,6 +80,9 @@
/* SGI IP22 aka Indy / Challenge S / Indigo 2 */
/* SGI IP22 aka Indy / Challenge S / Indigo 2 */
#define PORT_IP22ZILOG 56
#define PORT_IP22ZILOG 56
/* Sharp LH7a40x -- an ARM9 SoC series */
#define PORT_LH7A40X 57
#ifdef __KERNEL__
#ifdef __KERNEL__
#include <linux/config.h>
#include <linux/config.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