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
624871f0
Commit
624871f0
authored
Sep 11, 2003
by
Russell King
Browse files
Options
Browse Files
Download
Plain Diff
Merge flint.arm.linux.org.uk:/usr/src/bk/linux-2.6
into flint.arm.linux.org.uk:/usr/src/bk/linux-2.6-serial
parents
cd36c392
cd65a949
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
5 additions
and
1 deletion
+5
-1
drivers/serial/8250.c
drivers/serial/8250.c
+5
-1
No files found.
drivers/serial/8250.c
View file @
624871f0
...
@@ -490,7 +490,9 @@ static void autoconfig_16550a(struct uart_8250_port *up)
...
@@ -490,7 +490,9 @@ static void autoconfig_16550a(struct uart_8250_port *up)
* Attempt to switch to bank 2, read the value of the LOOP bit
* Attempt to switch to bank 2, read the value of the LOOP bit
* from EXCR1. Switch back to bank 0, change it in MCR. Then
* from EXCR1. Switch back to bank 0, change it in MCR. Then
* switch back to bank 2, read it from EXCR1 again and check
* switch back to bank 2, read it from EXCR1 again and check
* it's changed. If so, set baud_base in EXCR2 to 921600.
* it's changed. If so, set baud_base in EXCR2 to 921600. -- dwmw2
* On PowerPC we don't want to change baud_base, as we have
* a number of different divisors. -- Tom Rini
*/
*/
serial_outp
(
up
,
UART_LCR
,
0
);
serial_outp
(
up
,
UART_LCR
,
0
);
status1
=
serial_in
(
up
,
UART_MCR
);
status1
=
serial_in
(
up
,
UART_MCR
);
...
@@ -506,12 +508,14 @@ static void autoconfig_16550a(struct uart_8250_port *up)
...
@@ -506,12 +508,14 @@ static void autoconfig_16550a(struct uart_8250_port *up)
serial_outp
(
up
,
UART_MCR
,
status1
);
serial_outp
(
up
,
UART_MCR
,
status1
);
if
((
status2
^
status1
)
&
UART_MCR_LOOP
)
{
if
((
status2
^
status1
)
&
UART_MCR_LOOP
)
{
#ifndef CONFIG_PPC
serial_outp
(
up
,
UART_LCR
,
0xE0
);
serial_outp
(
up
,
UART_LCR
,
0xE0
);
status1
=
serial_in
(
up
,
0x04
);
/* EXCR1 */
status1
=
serial_in
(
up
,
0x04
);
/* EXCR1 */
status1
&=
~
0xB0
;
/* Disable LOCK, mask out PRESL[01] */
status1
&=
~
0xB0
;
/* Disable LOCK, mask out PRESL[01] */
status1
|=
0x10
;
/* 1.625 divisor for baud_base --> 921600 */
status1
|=
0x10
;
/* 1.625 divisor for baud_base --> 921600 */
serial_outp
(
up
,
0x04
,
status1
);
serial_outp
(
up
,
0x04
,
status1
);
serial_outp
(
up
,
UART_LCR
,
0
);
serial_outp
(
up
,
UART_LCR
,
0
);
#endif
up
->
port
.
type
=
PORT_NS16550A
;
up
->
port
.
type
=
PORT_NS16550A
;
up
->
port
.
uartclk
=
921600
*
16
;
up
->
port
.
uartclk
=
921600
*
16
;
...
...
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