Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 5508
b: refs/heads/master
c: 5ce17b1
h: refs/heads/master
v: v3
  • Loading branch information
Eugene Surovegin authored and Linus Torvalds committed Jul 30, 2005
1 parent a4189c0 commit d1de411
Show file tree
Hide file tree
Showing 6 changed files with 38 additions and 12 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: e310fd43256b3cf4d37f6447b8f7413ca744657a
refs/heads/master: 5ce17b18e16177dd6409dabd38df5c2c9b58fc2d
12 changes: 6 additions & 6 deletions trunk/arch/ppc/kernel/head_44x.S
Original file line number Diff line number Diff line change
Expand Up @@ -179,14 +179,14 @@ skpinv: addi r4,r4,1 /* Increment */
4:
#ifdef CONFIG_SERIAL_TEXT_DEBUG
/*
* Add temporary UART mapping for early debug. This
* mapping must be identical to that used by the early
* bootloader code since the same asm/serial.h parameters
* are used for polled operation.
* Add temporary UART mapping for early debug.
* We can map UART registers wherever we want as long as they don't
* interfere with other system mappings (e.g. with pinned entries).
* For an example of how we handle this - see ocotea.h. --ebs
*/
/* pageid fields */
lis r3,UART0_IO_BASE@h
ori r3,r3,PPC44x_TLB_VALID | PPC44x_TLB_256M
ori r3,r3,PPC44x_TLB_VALID | PPC44x_TLB_4K

/* xlat fields */
lis r4,UART0_PHYS_IO_BASE@h /* RPN depends on SoC */
Expand All @@ -196,7 +196,7 @@ skpinv: addi r4,r4,1 /* Increment */
li r5,0
ori r5,r5,(PPC44x_TLB_SW | PPC44x_TLB_SR | PPC44x_TLB_I | PPC44x_TLB_G)

li r0,1 /* TLB slot 1 */
li r0,0 /* TLB slot 0 */

tlbwe r3,r0,PPC44x_TLB_PAGEID /* Load the pageid fields */
tlbwe r4,r0,PPC44x_TLB_XLAT /* Load the translation fields */
Expand Down
6 changes: 5 additions & 1 deletion trunk/arch/ppc/platforms/4xx/ebony.c
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
* Copyright 2002-2005 MontaVista Software Inc.
*
* Eugene Surovegin <eugene.surovegin@zultys.com> or <ebs@ebshome.net>
* Copyright (c) 2003, 2004 Zultys Technologies
* Copyright (c) 2003-2005 Zultys Technologies
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
Expand Down Expand Up @@ -50,6 +50,7 @@
#include <asm/bootinfo.h>
#include <asm/ppc4xx_pic.h>
#include <asm/ppcboot.h>
#include <asm/tlbflush.h>

#include <syslib/gen550.h>
#include <syslib/ibm440gp_common.h>
Expand Down Expand Up @@ -248,6 +249,9 @@ ebony_early_serial_map(void)
#if defined(CONFIG_SERIAL_TEXT_DEBUG) || defined(CONFIG_KGDB)
/* Configure debug serial access */
gen550_init(0, &port);

/* Purge TLB entry added in head_44x.S for early serial access */
_tlbie(UART0_IO_BASE);
#endif

port.membase = ioremap64(PPC440GP_UART1_ADDR, 8);
Expand Down
13 changes: 11 additions & 2 deletions trunk/arch/ppc/platforms/4xx/ebony.h
Original file line number Diff line number Diff line change
Expand Up @@ -56,17 +56,26 @@
* Serial port defines
*/

/* OpenBIOS defined UART mappings, used before early_serial_setup */
#if defined(__BOOTER__)
/* OpenBIOS defined UART mappings, used by bootloader shim */
#define UART0_IO_BASE 0xE0000200
#define UART1_IO_BASE 0xE0000300
#else
/* head_44x.S created UART mapping, used before early_serial_setup.
* We cannot use default OpenBIOS UART mappings because they
* don't work for configurations with more than 512M RAM. --ebs
*/
#define UART0_IO_BASE 0xF0000200
#define UART1_IO_BASE 0xF0000300
#endif

/* external Epson SG-615P */
#define BASE_BAUD 691200

#define STD_UART_OP(num) \
{ 0, BASE_BAUD, 0, UART##num##_INT, \
(ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST), \
iomem_base: UART##num##_IO_BASE, \
iomem_base: (void*)UART##num##_IO_BASE, \
io_type: SERIAL_IO_MEM},

#define SERIAL_PORT_DFNS \
Expand Down
4 changes: 4 additions & 0 deletions trunk/arch/ppc/platforms/4xx/ocotea.c
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@
#include <asm/bootinfo.h>
#include <asm/ppc4xx_pic.h>
#include <asm/ppcboot.h>
#include <asm/tlbflush.h>

#include <syslib/gen550.h>
#include <syslib/ibm440gx_common.h>
Expand Down Expand Up @@ -266,6 +267,9 @@ ocotea_early_serial_map(void)
#if defined(CONFIG_SERIAL_TEXT_DEBUG) || defined(CONFIG_KGDB)
/* Configure debug serial access */
gen550_init(0, &port);

/* Purge TLB entry added in head_44x.S for early serial access */
_tlbie(UART0_IO_BASE);
#endif

port.membase = ioremap64(PPC440GX_UART1_ADDR, 8);
Expand Down
13 changes: 11 additions & 2 deletions trunk/arch/ppc/platforms/4xx/ocotea.h
Original file line number Diff line number Diff line change
Expand Up @@ -55,15 +55,24 @@
*/
#define RS_TABLE_SIZE 2

/* OpenBIOS defined UART mappings, used before early_serial_setup */
#if defined(__BOOTER__)
/* OpenBIOS defined UART mappings, used by bootloader shim */
#define UART0_IO_BASE 0xE0000200
#define UART1_IO_BASE 0xE0000300
#else
/* head_44x.S created UART mapping, used before early_serial_setup.
* We cannot use default OpenBIOS UART mappings because they
* don't work for configurations with more than 512M RAM. --ebs
*/
#define UART0_IO_BASE 0xF0000200
#define UART1_IO_BASE 0xF0000300
#endif

#define BASE_BAUD 11059200/16
#define STD_UART_OP(num) \
{ 0, BASE_BAUD, 0, UART##num##_INT, \
(ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST), \
iomem_base: UART##num##_IO_BASE, \
iomem_base: (void*)UART##num##_IO_BASE, \
io_type: SERIAL_IO_MEM},

#define SERIAL_PORT_DFNS \
Expand Down

0 comments on commit d1de411

Please sign in to comment.