[OpenBIOS] r392 - in openbios-devel: arch/ppc/qemu config/examples drivers

svn at openbios.org svn at openbios.org
Mon Jan 12 18:47:56 CET 2009


Author: blueswirl
Date: 2009-01-12 18:47:56 +0100 (Mon, 12 Jan 2009)
New Revision: 392

Modified:
   openbios-devel/arch/ppc/qemu/console.c
   openbios-devel/arch/ppc/qemu/init.c
   openbios-devel/arch/ppc/qemu/qemu.h
   openbios-devel/config/examples/cross-ppc_config.xml
   openbios-devel/config/examples/ppc_config.xml
   openbios-devel/drivers/macio.c
Log:
Use ESCC for PowerMac serial

Modified: openbios-devel/arch/ppc/qemu/console.c
===================================================================
--- openbios-devel/arch/ppc/qemu/console.c	2009-01-12 17:46:19 UTC (rev 391)
+++ openbios-devel/arch/ppc/qemu/console.c	2009-01-12 17:47:56 UTC (rev 392)
@@ -12,121 +12,11 @@
  */
 
 #include "openbios/config.h"
-#include "openbios/kernel.h"
 #include "openbios/bindings.h"
-#include "libc/diskio.h"
-#include "ofmem.h"
-#include "qemu/qemu.h"
-#include "video_subr.h"
+#include "openbios/drivers.h"
 
 #ifdef CONFIG_DEBUG_CONSOLE
-
 /* ******************************************************************
- *                       serial console functions
- * ****************************************************************** */
-
-#ifdef CONFIG_DEBUG_CONSOLE_SERIAL
-
-#define UART(port)	(port==2?0x2f8:0x3f8)
-
-#define RBR(port)	(UART(port) + 0)
-#define THR(port)	(UART(port) + 0)
-#define IER(port)	(UART(port) + 1)
-#define IIR(port)	(UART(port) + 2)
-#define LCR(port)	(UART(port) + 3)
-#define MCR(port)	(UART(port) + 4)
-#define LSR(port)	(UART(port) + 5)
-#define MSR(port)	(UART(port) + 6)
-#define SCR(port)	(UART(port) + 7)
-#define DLL(port)	(UART(port) + 0)
-#define DLM(port)	(UART(port) + 1)
-
-static int uart_charav(int port)
-{
-	if (!port)
-		return -1;
-	return ((inb(LSR(port)) & 1) != 0);
-}
-
-static char uart_getchar(int port)
-{
-	if (!port)
-		return -1;
-	while (!uart_charav(port));
-	return ((char) inb(RBR(port)) & 0177);
-}
-
-static void uart_putchar(int port, unsigned char c)
-{
-	if (!port)
-		return;
-        while (!(inb(LSR(port)) & 0x20));
-        outb(c, THR(port));
-}
-
-static void serial_putchar(int c)
-{
-	if (c == '\n')
-		uart_putchar(CONFIG_SERIAL_PORT, '\r');
-	uart_putchar(CONFIG_SERIAL_PORT, c);
-}
-
-static void uart_init_line(int port, unsigned long baud)
-{
-	int i, baudconst;
-
-	switch (baud) {
-	case 115200:
-		baudconst = 1;
-		break;
-	case 57600:
-		baudconst = 2;
-		break;
-	case 38400:
-		baudconst = 3;
-		break;
-	case 19200:
-		baudconst = 6;
-		break;
-	case 9600:
-	default:
-		baudconst = 12;
-		break;
-	}
-
-	outb(0x87, LCR(port));
-	outb(0x00, DLM(port));
-	outb(baudconst, DLL(port));
-	outb(0x07, LCR(port));
-	outb(0x0f, MCR(port));
-
-	for (i = 10; i > 0; i--) {
-		if (inb(LSR(port)) == (unsigned int) 0)
-			break;
-		inb(RBR(port));
-	}
-}
-
-int
-serial_init(void)
-{
-	if (CONFIG_SERIAL_PORT)
-		uart_init_line(CONFIG_SERIAL_PORT, CONFIG_SERIAL_SPEED);
-	return -1;
-}
-
-static void serial_cls(void)
-{
-	serial_putchar(27);
-	serial_putchar('[');
-	serial_putchar('H');
-	serial_putchar(27);
-	serial_putchar('[');
-	serial_putchar('J');
-}
-#endif	// CONFIG_DEBUG_CONSOLE_SERIAL
-
-/* ******************************************************************
  *      common functions, implementing simple concurrent console
  * ****************************************************************** */
 
@@ -155,11 +45,4 @@
 #endif
         return 0;
 }
-
-void cls(void)
-{
-#ifdef CONFIG_DEBUG_CONSOLE_SERIAL
-	serial_cls();
-#endif
-}
 #endif	// CONFIG_DEBUG_CONSOLE

Modified: openbios-devel/arch/ppc/qemu/init.c
===================================================================
--- openbios-devel/arch/ppc/qemu/init.c	2009-01-12 17:46:19 UTC (rev 391)
+++ openbios-devel/arch/ppc/qemu/init.c	2009-01-12 17:47:56 UTC (rev 392)
@@ -148,7 +148,7 @@
 
 	isa_io_base = arch->io_base;
 
-	serial_init();
+	uart_init(0x80013000ULL, CONFIG_SERIAL_SPEED);
 
 	printk("\n");
 	printk("=============================================================\n");

Modified: openbios-devel/arch/ppc/qemu/qemu.h
===================================================================
--- openbios-devel/arch/ppc/qemu/qemu.h	2009-01-12 17:46:19 UTC (rev 391)
+++ openbios-devel/arch/ppc/qemu/qemu.h	2009-01-12 17:47:56 UTC (rev 392)
@@ -19,9 +19,6 @@
 extern int		vfd_draw_str( const char *str );
 extern void		vfd_close( void );
 
-/* console.c */
-int serial_init(void);
-
 #include "kernel.h"
 
 #endif   /* _H_QEMU */

Modified: openbios-devel/config/examples/cross-ppc_config.xml
===================================================================
--- openbios-devel/config/examples/cross-ppc_config.xml	2009-01-12 17:46:19 UTC (rev 391)
+++ openbios-devel/config/examples/cross-ppc_config.xml	2009-01-12 17:47:56 UTC (rev 392)
@@ -24,7 +24,7 @@
   <option name="CONFIG_DEBUG_INTERPRETER" type="boolean" value="false"/>
   <option name="CONFIG_DEBUG_CONSOLE" type="boolean" value="true"/>
   <option name="CONFIG_DEBUG_CONSOLE_SERIAL" type="boolean" value="true"/>
-  <option name="CONFIG_SERIAL_PORT" type="integer" value="1"/>
+  <option name="CONFIG_SERIAL_PORT" type="integer" value="0"/>
   <option name="CONFIG_SERIAL_SPEED" type="integer" value="115200"/>
   <option name="CONFIG_DEBUG_CONSOLE_VGA" type="boolean" value="true"/>
 
@@ -74,5 +74,6 @@
   <option name="CONFIG_DRIVER_ADB" type="boolean" value="true"/>
   <option name="CONFIG_DRIVER_VGA" type="boolean" value="true"/>
   <option name="CONFIG_DRIVER_MACIO" type="boolean" value="true"/>
+  <option name="CONFIG_DRIVER_ESCC" type="boolean" value="true"/>
 
 </config>

Modified: openbios-devel/config/examples/ppc_config.xml
===================================================================
--- openbios-devel/config/examples/ppc_config.xml	2009-01-12 17:46:19 UTC (rev 391)
+++ openbios-devel/config/examples/ppc_config.xml	2009-01-12 17:47:56 UTC (rev 392)
@@ -24,7 +24,7 @@
   <option name="CONFIG_DEBUG_INTERPRETER" type="boolean" value="false"/>
   <option name="CONFIG_DEBUG_CONSOLE" type="boolean" value="true"/>
   <option name="CONFIG_DEBUG_CONSOLE_SERIAL" type="boolean" value="true"/>
-  <option name="CONFIG_SERIAL_PORT" type="integer" value="1"/>
+  <option name="CONFIG_SERIAL_PORT" type="integer" value="0"/>
   <option name="CONFIG_SERIAL_SPEED" type="integer" value="115200"/>
   <option name="CONFIG_DEBUG_CONSOLE_VGA" type="boolean" value="true"/>
 
@@ -74,5 +74,6 @@
   <option name="CONFIG_DRIVER_ADB" type="boolean" value="true"/>
   <option name="CONFIG_DRIVER_VGA" type="boolean" value="true"/>
   <option name="CONFIG_DRIVER_MACIO" type="boolean" value="true"/>
+  <option name="CONFIG_DRIVER_ESCC" type="boolean" value="true"/>
 
 </config>

Modified: openbios-devel/drivers/macio.c
===================================================================
--- openbios-devel/drivers/macio.c	2009-01-12 17:46:19 UTC (rev 391)
+++ openbios-devel/drivers/macio.c	2009-01-12 17:47:56 UTC (rev 392)
@@ -16,6 +16,7 @@
 
 #include "macio.h"
 #include "cuda.h"
+#include "escc.h"
 
 #define IO_NVRAM_SIZE   0x00020000
 #define IO_NVRAM_OFFSET 0x00060000
@@ -137,4 +138,5 @@
 
 	cuda_init(path, addr);
 	macio_nvram_init(path, addr);
+        escc_init(path, addr);
 }




More information about the OpenBIOS mailing list