linux-mips
[Top] [All Lists]

PATCH:2.4:tx4927 updates (mostly minor)

To: linux-mips@linux-mips.org
Subject: PATCH:2.4:tx4927 updates (mostly minor)
From: Michael Pruznick <michael_pruznick@mvista.com>
Date: Tue, 09 Sep 2003 10:52:54 -0600
Organization: MontaVista
Original-recipient: rfc822;linux-mips@linux-mips.org
Reply-to: michael_pruznick@mvista.com
Sender: linux-mips-bounce@linux-mips.org
Please apply the attached patch.  I'll be making a 2.6
version as soon as I can get to it.  

Summary:

Index: arch/mips/config-shared.in
dummy keyboard needed for some .configs

Index: arch/mips/tx4927/toshiba_rbtx4927/toshiba_rbtx4927_prom.c
Index: arch/mips/tx4927/toshiba_rbtx4927/toshiba_rbtx4927_setup.c
added prom_getcmdline() and changed the default command line setup

Index: drivers/char/Config.in
put the tx stuff together and in sort order

Index: drivers/char/serial_txx9.c
fixed compile problem when CONFIG_SERIAL_TXX9_CONSOLE=n,
fixed up some devfs issues, and changed the raw output
routine a bit.
Index: arch/mips/config-shared.in
===================================================================
RCS file: /home/cvs/linux/arch/mips/Attic/config-shared.in,v
retrieving revision 1.1.2.85
diff -u -r1.1.2.85 config-shared.in
--- arch/mips/config-shared.in  8 Sep 2003 00:05:42 -0000       1.1.2.85
+++ arch/mips/config-shared.in  9 Sep 2003 16:22:48 -0000
@@ -647,6 +647,7 @@
    define_bool CONFIG_SWAP_IO_SPACE_L y
    define_bool CONFIG_ISA y
    define_bool CONFIG_NONCOHERENT_IO y
+   define_bool CONFIG_DUMMY_KEYB y
 fi
 if [ "$CONFIG_VICTOR_MPC30X" = "y" ]; then
    define_bool CONFIG_IRQ_CPU y
Index: arch/mips/tx4927/toshiba_rbtx4927/toshiba_rbtx4927_prom.c
===================================================================
RCS file: 
/home/cvs/linux/arch/mips/tx4927/toshiba_rbtx4927/toshiba_rbtx4927_prom.c,v
retrieving revision 1.1.2.2
diff -u -r1.1.2.2 toshiba_rbtx4927_prom.c
--- arch/mips/tx4927/toshiba_rbtx4927/toshiba_rbtx4927_prom.c   16 Jul 2003 
01:08:24 -0000      1.1.2.2
+++ arch/mips/tx4927/toshiba_rbtx4927/toshiba_rbtx4927_prom.c   9 Sep 2003 
16:22:48 -0000
@@ -36,11 +36,7 @@
 #include <asm/cpu.h>
 #include <asm/tx4927/tx4927.h>
 
-#ifndef COMMAND_LINE_SIZE
-#define COMMAND_LINE_SIZE CL_SIZE
-#endif
-
-char arcs_cmdline[COMMAND_LINE_SIZE] = "console=ttyS0,38400 ip=any root=nfs 
rw";
+char arcs_cmdline[CL_SIZE] = "";
 
 void __init prom_init_cmdline(int argc, char **argv)
 {
@@ -63,7 +59,7 @@
 {
        extern int tx4927_get_mem_size(void);
        int msize;
-        char* toshiba_name_list[] = GROUP_TOSHIBA_NAMES;
+        const char* toshiba_name_list[] = GROUP_TOSHIBA_NAMES;
         extern char* toshiba_name;
 
        prom_init_cmdline(argc, argv);
@@ -79,6 +75,11 @@
 
        msize = tx4927_get_mem_size();
        add_memory_region(0, msize << 20, BOOT_MEM_RAM);
+}
+
+char * __init prom_getcmdline(void)
+{
+       return &(arcs_cmdline[0]);
 }
 
 void __init prom_free_prom_memory(void)
Index: arch/mips/tx4927/toshiba_rbtx4927/toshiba_rbtx4927_setup.c
===================================================================
RCS file: 
/home/cvs/linux/arch/mips/tx4927/toshiba_rbtx4927/toshiba_rbtx4927_setup.c,v
retrieving revision 1.1.2.5
diff -u -r1.1.2.5 toshiba_rbtx4927_setup.c
--- arch/mips/tx4927/toshiba_rbtx4927/toshiba_rbtx4927_setup.c  25 Aug 2003 
16:14:53 -0000      1.1.2.5
+++ arch/mips/tx4927/toshiba_rbtx4927/toshiba_rbtx4927_setup.c  9 Sep 2003 
16:22:48 -0000
@@ -141,6 +141,8 @@
 
 extern void gt64120_time_init(void);
 extern void toshiba_rbtx4927_irq_setup(void);
+extern char *prom_getcmdline(void);
+
 
 #ifdef CONFIG_PCI
 #define CONFIG_TX4927BUG_WORKAROUND
@@ -257,7 +259,7 @@
 #endif /* CONFIG_PCI */
 
 #ifdef CONFIG_PCI
-#ifdef  TX4927_SUPPORT_PCI_66
+#ifdef TX4927_SUPPORT_PCI_66
 void tx4927_pci66_setup(void)
 {
        int pciclk, pciclkin = 1;
@@ -866,7 +868,6 @@
 
        TOSHIBA_RBTX4927_SETUP_DPRINTK(TOSHIBA_RBTX4927_SETUP_PCI2, "+\n");
 }
-
 #endif /* CONFIG_PCI */
 
 void toshiba_rbtx4927_restart(char *command)
@@ -910,6 +911,8 @@
 void __init toshiba_rbtx4927_setup(void)
 {
        vu32 cp0_config;
+       char *argptr;
+       u32 backplane_id = 0;
 
        printk("CPU is %s\n", toshiba_name);
 
@@ -997,7 +1000,6 @@
 
 
 #ifdef CONFIG_PCI
-
        /* PCIC */
        /*
           * ASSUMPTION: PCIDIVMODE is configured for PCI 33MHz or 66MHz.
@@ -1059,16 +1061,13 @@
        tx4927_pci_setup();
 
 
-       {
-               u32 id = 0;
-               early_read_config_dword(&mips_pci_channels[0], 0, 0, 0x90,
-                                       PCI_VENDOR_ID, &id);
-               if (id == 0x94601055) {
-                       tx4927_using_backplane = 1;
-                       printk("backplane board IS installed\n");
-               } else {
-                       printk("backplane board NOT installed\n");
-               }
+       early_read_config_dword(&mips_pci_channels[0], 0, 0, 0x90,
+                       PCI_VENDOR_ID, &backplane_id);
+       if (backplane_id == 0x94601055) {
+               tx4927_using_backplane = 1;
+               printk("backplane board IS installed\n");
+       } else {
+               printk("backplane board NOT installed\n");
        }
 #endif
 
@@ -1141,6 +1140,38 @@
        }
 #endif
 
+#ifdef CONFIG_SERIAL_TXX9_CONSOLE
+       argptr = prom_getcmdline();
+       if (strstr(argptr, "console=") == NULL) {
+#ifdef CONFIG_DEVFS_FS
+               strcat(argptr, " console=tts/0,38400");
+#else
+               strcat(argptr, " console=ttyS0,38400");
+#endif
+       }
+#endif
+
+#ifdef CONFIG_NE2000
+       /* with the ne_eth= patch to ne.c this enables built-in 8019 */
+       argptr = prom_getcmdline();
+       if (strstr(argptr, "ne_eth=") == NULL) {
+               strcat(argptr, " ne_eth=0x6020280,29");
+       }
+#endif
+
+#ifdef CONFIG_IP_PNP
+       argptr = prom_getcmdline();
+       if (strstr(argptr, "ip=") == NULL) {
+               strcat(argptr, " ip=any");
+       }
+#endif
+
+#ifdef CONFIG_ROOT_NFS
+       argptr = prom_getcmdline();
+       if (strstr(argptr, "root=") == NULL) {
+               strcat(argptr, " root=/dev/nfs rw");
+       }
+#endif
 
        TOSHIBA_RBTX4927_SETUP_DPRINTK(TOSHIBA_RBTX4927_SETUP_SETUP,
                                       "+\n");
Index: drivers/char/Config.in
===================================================================
RCS file: /home/cvs/linux/drivers/char/Attic/Config.in,v
retrieving revision 1.72.2.34
diff -u -r1.72.2.34 Config.in
--- drivers/char/Config.in      13 Aug 2003 17:19:16 -0000      1.72.2.34
+++ drivers/char/Config.in      9 Sep 2003 16:22:49 -0000
@@ -82,10 +82,12 @@
      fi
    fi
    if [ "$CONFIG_MIPS" = "y" ]; then
-      bool '  TX3912/PR31700 serial port support' CONFIG_SERIAL_TX3912
-      dep_bool '     Console on TX3912/PR31700 serial port' 
CONFIG_SERIAL_TX3912_CONSOLE $CONFIG_SERIAL_TX3912
       bool '  TMPTX39XX/49XX serial port support' CONFIG_SERIAL_TXX9
       dep_bool '     Console on TMPTX39XX/49XX serial port' 
CONFIG_SERIAL_TXX9_CONSOLE $CONFIG_SERIAL_TXX9
+      bool '  TX3912/PR31700 serial port support' CONFIG_SERIAL_TX3912
+      dep_bool '     Console on TX3912/PR31700 serial port' 
CONFIG_SERIAL_TX3912_CONSOLE $CONFIG_SERIAL_TX3912
+      bool '  TXx927 SIO support' CONFIG_TXX927_SERIAL 
+      dep_bool '    TXx927 SIO Console support' CONFIG_TXX927_SERIAL_CONSOLE 
$CONFIG_TXX927_SERIAL
       if [ "$CONFIG_SOC_AU1X00" = "y" ]; then
         bool '  Enable Au1x00 UART Support' CONFIG_AU1X00_UART
         if [ "$CONFIG_AU1X00_UART" = "y" ]; then
@@ -100,10 +102,6 @@
                 define_bool CONFIG_AU1X00_USB_DEVICE y
            fi
       fi
-      bool '  TXx927 SIO support' CONFIG_TXX927_SERIAL 
-      if [ "$CONFIG_TXX927_SERIAL" = "y" ]; then
-         bool '    TXx927 SIO Console support' CONFIG_TXX927_SERIAL_CONSOLE  
-      fi                             
       if [ "$CONFIG_SIBYTE_SB1xxx_SOC" = "y" ]; then
          bool '  Support for BCM1xxx onchip DUART' CONFIG_SIBYTE_SB1250_DUART
          if [ "$CONFIG_SIBYTE_SB1250_DUART" = "y" ]; then
Index: drivers/char/serial_txx9.c
===================================================================
RCS file: /home/cvs/linux/drivers/char/serial_txx9.c,v
retrieving revision 1.1.2.1
diff -u -r1.1.2.1 serial_txx9.c
--- drivers/char/serial_txx9.c  11 Apr 2003 17:26:21 -0000      1.1.2.1
+++ drivers/char/serial_txx9.c  9 Sep 2003 16:22:49 -0000
@@ -52,6 +52,7 @@
 #ifdef CONFIG_SERIAL
 /* "ttyS","cua" is used for standard serial driver */
 #define TXX9_TTY_NAME "ttyTX"
+#define TXX9_TTY_DEVFS_NAME_SHORT "tts/TX"
 #define TXX9_TTY_DEVFS_NAME "tts/TX%d"
 #define TXX9_TTY_MINOR_START   (64 + 64)       /* ttyTX0(128), ttyTX1(129) */
 #define TXX9_CU_NAME "cuatx"
@@ -59,6 +60,7 @@
 #else
 /* acts like standard serial driver */
 #define TXX9_TTY_NAME "ttyS"
+#define TXX9_TTY_DEVFS_NAME_SHORT "tts/"
 #define TXX9_TTY_DEVFS_NAME "tts/%d"
 #define TXX9_TTY_MINOR_START   64
 #define TXX9_CU_NAME "cua"
@@ -1248,7 +1250,12 @@
 {
        unsigned long flags;
 
-       if (port - &rs_ports[0] != sercons.index) {
+#ifdef CONFIG_SERIAL_TXX9_CONSOLE
+#define EXPR_1 port - &rs_ports[0] != sercons.index
+#else
+#define EXPR_1 1
+#endif
+       if (EXPR_1) {
                local_irq_save(flags);
                /*
                 * Reset the UART.
@@ -1311,9 +1318,15 @@
 
        txx9_config(port);
 
+#if defined(CONFIG_DEVFS_FS)
+       printk(KERN_INFO
+               "%s%d at 0x%08lx (irq = %d) is a TX39/49 SIO\n",
+               TXX9_TTY_DEVFS_NAME_SHORT, i, port->base, port->irq);
+#else
        printk(KERN_INFO
                "%s%d at 0x%08lx (irq = %d) is a TX39/49 SIO\n",
                TXX9_TTY_NAME, i, port->base, port->irq);
+#endif
        return 0;
 }
 
@@ -1395,9 +1408,15 @@
                                continue;
                }
                txx9_config(port);
+#if defined(CONFIG_DEVFS_FS)
+               printk(KERN_INFO
+                      "%s%d at 0x%08lx (irq = %d) is a TX39/49 SIO\n",
+                      TXX9_TTY_DEVFS_NAME_SHORT, i, port->base, port->irq);
+#else
                printk(KERN_INFO
                       "%s%d at 0x%08lx (irq = %d) is a TX39/49 SIO\n",
                       TXX9_TTY_NAME, i, port->base, port->irq);
+#endif
        }
 
        /* Note: I didn't do anything to enable the second UART */
@@ -1637,7 +1656,11 @@
 }
 
 static struct console sercons = {
+#if defined(CONFIG_DEVFS_FS)
+       name:           TXX9_TTY_DEVFS_NAME_SHORT,
+#else
        name:           TXX9_TTY_NAME,
+#endif
        write:          serial_console_write,
        device:         serial_console_device,
        setup:          serial_console_setup,
@@ -1754,7 +1777,8 @@
 /* END: KDBG Routines                                                         
*/
 
/******************************************************************************/
 
-void txx9_raw_output(char c)
+#if defined(CONFIG_RAW_PRINTK_OUTPUT) && defined(CONFIG_SERIAL_TXX9_CONSOLE)
+void emit_log_char(char c)
 {
        struct rs_port *port = &rs_ports[0];
        if ( c == '\n' )
@@ -1766,3 +1790,4 @@
        wait_for_xmitr(port);
        return;
 }
+#endif
<Prev in Thread] Current Thread [Next in Thread>