Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5eaf7a21 authored by Ralf Baechle's avatar Ralf Baechle
Browse files

Use new txx9 serial driver.

parent cdaed73a
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -635,6 +635,7 @@ config SGI_IP32
	select OWN_DMA
	select DMA_IP32
	select DMA_NONCOHERENT
	select HAS_TXX9_SERIAL
	select HW_HAS_PCI
	select R5000_CPU_SCACHE
	select RM7000_CPU_SCACHE
@@ -814,6 +815,7 @@ config RWSEM_GENERIC_SPINLOCK

config RWSEM_XCHGADD_ALGORITHM
	bool
	select HAS_TXX9_SERIAL

config GENERIC_CALIBRATE_DELAY
	bool
+28 −3
Original line number Diff line number Diff line
@@ -44,6 +44,11 @@
#include <linux/ioport.h>
#include <linux/param.h>	/* for HZ */
#include <linux/delay.h>
#ifdef CONFIG_SERIAL_TXX9
#include <linux/tty.h>
#include <linux/serial.h>
#include <linux/serial_core.h>
#endif

#include <asm/addrspace.h>
#include <asm/time.h>
@@ -211,8 +216,8 @@ void __init plat_setup(void)
	 */
	ioport_resource.start = pci_io_resource.start;
	ioport_resource.end = pci_io_resource.end;
	iomem_resource.start = pci_mem_resource.start;
	iomem_resource.end = pci_mem_resource.end;
	iomem_resource.start = 0;
	iomem_resource.end = 0xffffffff;

	/* Reboot on panic */
	panic_timeout = 180;
@@ -265,13 +270,33 @@ void __init plat_setup(void)
		strcat(argptr, " ip=bootp");
	}

#ifdef CONFIG_TXX927_SERIAL_CONSOLE
#ifdef CONFIG_SERIAL_TXX9
	{
		extern int early_serial_txx9_setup(struct uart_port *port);
		int i;
		struct uart_port req;
		for(i = 0; i < 2; i++) {
			memset(&req, 0, sizeof(req));
			req.line = i;
			req.iotype = UPIO_MEM;
			req.membase = (char *)TX3927_SIO_REG(i);
			req.mapbase = TX3927_SIO_REG(i);
			req.irq = i == 0 ?
				JMR3927_IRQ_IRC_SIO0 : JMR3927_IRQ_IRC_SIO1;
			if (i == 0)
				req.flags |= UPF_BUGGY_UART /*HAVE_CTS_LINE*/;
			req.uartclk = JMR3927_IMCLK;
			early_serial_txx9_setup(&req);
		}
	}
#ifdef CONFIG_SERIAL_TXX9_CONSOLE
	argptr = prom_getcmdline();
	if ((argptr = strstr(argptr, "console=")) == NULL) {
		argptr = prom_getcmdline();
		strcat(argptr, " console=ttyS1,115200");
	}
#endif
#endif
}

static void tx3927_setup(void);
+23 −0
Original line number Diff line number Diff line
@@ -77,6 +77,11 @@
#include <linux/hdreg.h>
#include <linux/ide.h>
#endif
#ifdef CONFIG_SERIAL_TXX9
#include <linux/tty.h>
#include <linux/serial.h>
#include <linux/serial_core.h>
#endif

#undef TOSHIBA_RBTX4927_SETUP_DEBUG

@@ -920,12 +925,30 @@ void __init toshiba_rbtx4927_setup(void)

#endif /* CONFIG_PCI */

#ifdef CONFIG_SERIAL_TXX9
	{
		extern int early_serial_txx9_setup(struct uart_port *port);
		int i;
		struct uart_port req;
		for(i = 0; i < 2; i++) {
			memset(&req, 0, sizeof(req));
			req.line = i;
			req.iotype = UPIO_MEM;
			req.membase = (char *)(0xff1ff300 + i * 0x100);
			req.mapbase = 0xff1ff300 + i * 0x100;
			req.irq = 32 + i;
			req.flags |= UPF_BUGGY_UART /*HAVE_CTS_LINE*/;
			req.uartclk = 50000000;
			early_serial_txx9_setup(&req);
		}
	}
#ifdef CONFIG_SERIAL_TXX9_CONSOLE
        argptr = prom_getcmdline();
        if (strstr(argptr, "console=") == NULL) {
                strcat(argptr, " console=ttyS0,38400");
        }
#endif
#endif

#ifdef CONFIG_ROOT_NFS
        argptr = prom_getcmdline();
+0 −14
Original line number Diff line number Diff line
@@ -201,20 +201,6 @@ static inline int jmr3927_have_isac(void)

#endif /* !__ASSEMBLY__ */

/*
 * UART defines for serial.h
 */

/* use Pre-scaler T0 (1/2) */
#define JMR3927_BASE_BAUD (JMR3927_IMCLK / 2 / 16)

#define UART0_ADDR   0xfffef300
#define UART1_ADDR   0xfffef400
#define UART0_INT    JMR3927_IRQ_IRC_SIO0
#define UART1_INT    JMR3927_IRQ_IRC_SIO1
#define UART0_FLAGS  ASYNC_BOOT_AUTOCONF
#define UART1_FLAGS  0

/*
 * IRQ mappings
 */
+0 −12
Original line number Diff line number Diff line
@@ -103,17 +103,6 @@
#define IVR_SERIAL_PORT_DEFNS
#endif

#ifdef CONFIG_TOSHIBA_JMR3927
#include <asm/jmr3927/jmr3927.h>
#define TXX927_SERIAL_PORT_DEFNS                              \
    { .baud_base = JMR3927_BASE_BAUD, .port = UART0_ADDR, .irq = UART0_INT,  \
      .flags = UART0_FLAGS, .type = 1 },                        \
    { .baud_base = JMR3927_BASE_BAUD, .port = UART1_ADDR, .irq = UART1_INT,  \
      .flags = UART1_FLAGS, .type = 1 },
#else
#define TXX927_SERIAL_PORT_DEFNS
#endif

#ifdef CONFIG_SERIAL_AU1X00
#include <asm/mach-au1x00/au1000.h>
#ifdef CONFIG_SOC_AU1000
@@ -343,7 +332,6 @@
	MOMENCO_OCELOT_C_SERIAL_PORT_DEFNS		\
	MOMENCO_OCELOT_SERIAL_PORT_DEFNS		\
	MOMENCO_OCELOT_3_SERIAL_PORT_DEFNS		\
	TXX927_SERIAL_PORT_DEFNS                        \
	AU1000_SERIAL_PORT_DEFNS

#endif /* _ASM_SERIAL_H */