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
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
Show 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
;
}
static
int
serial_pxa_resume
(
struct
device
*
_dev
,
u32
level
)
{
struct
uart_pxa_port
*
sport
=
dev_get_drvdata
(
_dev
);
for
(
i
=
0
;
i
<
ARRAY_SIZE
(
serial_pxa_ports
);
i
++
)
if
(
sport
&&
level
==
RESUME_ENABLE
)
uart_add_one_port
(
&
serial_pxa_reg
,
&
serial_pxa_ports
[
i
].
port
);
uart_resume_port
(
&
serial_pxa_reg
,
&
sport
->
port
);
return
0
;
return
0
;
}
}
static
void
__exit
serial_pxa_exit
(
void
)
static
int
serial_pxa_probe
(
struct
device
*
_dev
)
{
{
int
i
;
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
;
}
static
int
serial_pxa_remove
(
struct
device
*
_dev
)
{
struct
uart_pxa_port
*
sport
=
dev_get_drvdata
(
_dev
);
dev_set_drvdata
(
_dev
,
NULL
);
if
(
sport
)
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
);
for
(
i
=
0
;
i
<
ARRAY_SIZE
(
serial_pxa_ports
);
i
++
)
return
ret
;
uart_remove_one_port
(
&
serial_pxa_reg
,
&
serial_pxa_ports
[
i
].
port
);
}
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