diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2005-03-04 12:24:32 -0500 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2005-10-29 14:30:52 -0400 |
commit | 5eaf7a21be3f7f81573cf26541b8f9cc786fb67d (patch) | |
tree | 2eede7e8e7df55c4b9c45eb94388b2a2f060c94d /arch/mips | |
parent | cdaed73afb61913ee5115aa38b0c35ecb0513f50 (diff) |
Use new txx9 serial driver.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips')
-rw-r--r-- | arch/mips/Kconfig | 2 | ||||
-rw-r--r-- | arch/mips/jmr3927/rbhma3100/setup.c | 31 | ||||
-rw-r--r-- | arch/mips/tx4927/toshiba_rbtx4927/toshiba_rbtx4927_setup.c | 23 |
3 files changed, 53 insertions, 3 deletions
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index 455de42db7c9..41d782e207c3 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig | |||
@@ -635,6 +635,7 @@ config SGI_IP32 | |||
635 | select OWN_DMA | 635 | select OWN_DMA |
636 | select DMA_IP32 | 636 | select DMA_IP32 |
637 | select DMA_NONCOHERENT | 637 | select DMA_NONCOHERENT |
638 | select HAS_TXX9_SERIAL | ||
638 | select HW_HAS_PCI | 639 | select HW_HAS_PCI |
639 | select R5000_CPU_SCACHE | 640 | select R5000_CPU_SCACHE |
640 | select RM7000_CPU_SCACHE | 641 | select RM7000_CPU_SCACHE |
@@ -814,6 +815,7 @@ config RWSEM_GENERIC_SPINLOCK | |||
814 | 815 | ||
815 | config RWSEM_XCHGADD_ALGORITHM | 816 | config RWSEM_XCHGADD_ALGORITHM |
816 | bool | 817 | bool |
818 | select HAS_TXX9_SERIAL | ||
817 | 819 | ||
818 | config GENERIC_CALIBRATE_DELAY | 820 | config GENERIC_CALIBRATE_DELAY |
819 | bool | 821 | bool |
diff --git a/arch/mips/jmr3927/rbhma3100/setup.c b/arch/mips/jmr3927/rbhma3100/setup.c index d9f7a9989de5..3e2fbdc66097 100644 --- a/arch/mips/jmr3927/rbhma3100/setup.c +++ b/arch/mips/jmr3927/rbhma3100/setup.c | |||
@@ -44,6 +44,11 @@ | |||
44 | #include <linux/ioport.h> | 44 | #include <linux/ioport.h> |
45 | #include <linux/param.h> /* for HZ */ | 45 | #include <linux/param.h> /* for HZ */ |
46 | #include <linux/delay.h> | 46 | #include <linux/delay.h> |
47 | #ifdef CONFIG_SERIAL_TXX9 | ||
48 | #include <linux/tty.h> | ||
49 | #include <linux/serial.h> | ||
50 | #include <linux/serial_core.h> | ||
51 | #endif | ||
47 | 52 | ||
48 | #include <asm/addrspace.h> | 53 | #include <asm/addrspace.h> |
49 | #include <asm/time.h> | 54 | #include <asm/time.h> |
@@ -211,8 +216,8 @@ void __init plat_setup(void) | |||
211 | */ | 216 | */ |
212 | ioport_resource.start = pci_io_resource.start; | 217 | ioport_resource.start = pci_io_resource.start; |
213 | ioport_resource.end = pci_io_resource.end; | 218 | ioport_resource.end = pci_io_resource.end; |
214 | iomem_resource.start = pci_mem_resource.start; | 219 | iomem_resource.start = 0; |
215 | iomem_resource.end = pci_mem_resource.end; | 220 | iomem_resource.end = 0xffffffff; |
216 | 221 | ||
217 | /* Reboot on panic */ | 222 | /* Reboot on panic */ |
218 | panic_timeout = 180; | 223 | panic_timeout = 180; |
@@ -265,13 +270,33 @@ void __init plat_setup(void) | |||
265 | strcat(argptr, " ip=bootp"); | 270 | strcat(argptr, " ip=bootp"); |
266 | } | 271 | } |
267 | 272 | ||
268 | #ifdef CONFIG_TXX927_SERIAL_CONSOLE | 273 | #ifdef CONFIG_SERIAL_TXX9 |
274 | { | ||
275 | extern int early_serial_txx9_setup(struct uart_port *port); | ||
276 | int i; | ||
277 | struct uart_port req; | ||
278 | for(i = 0; i < 2; i++) { | ||
279 | memset(&req, 0, sizeof(req)); | ||
280 | req.line = i; | ||
281 | req.iotype = UPIO_MEM; | ||
282 | req.membase = (char *)TX3927_SIO_REG(i); | ||
283 | req.mapbase = TX3927_SIO_REG(i); | ||
284 | req.irq = i == 0 ? | ||
285 | JMR3927_IRQ_IRC_SIO0 : JMR3927_IRQ_IRC_SIO1; | ||
286 | if (i == 0) | ||
287 | req.flags |= UPF_BUGGY_UART /*HAVE_CTS_LINE*/; | ||
288 | req.uartclk = JMR3927_IMCLK; | ||
289 | early_serial_txx9_setup(&req); | ||
290 | } | ||
291 | } | ||
292 | #ifdef CONFIG_SERIAL_TXX9_CONSOLE | ||
269 | argptr = prom_getcmdline(); | 293 | argptr = prom_getcmdline(); |
270 | if ((argptr = strstr(argptr, "console=")) == NULL) { | 294 | if ((argptr = strstr(argptr, "console=")) == NULL) { |
271 | argptr = prom_getcmdline(); | 295 | argptr = prom_getcmdline(); |
272 | strcat(argptr, " console=ttyS1,115200"); | 296 | strcat(argptr, " console=ttyS1,115200"); |
273 | } | 297 | } |
274 | #endif | 298 | #endif |
299 | #endif | ||
275 | } | 300 | } |
276 | 301 | ||
277 | static void tx3927_setup(void); | 302 | static void tx3927_setup(void); |
diff --git a/arch/mips/tx4927/toshiba_rbtx4927/toshiba_rbtx4927_setup.c b/arch/mips/tx4927/toshiba_rbtx4927/toshiba_rbtx4927_setup.c index fc0720599fd9..990fcb294bab 100644 --- a/arch/mips/tx4927/toshiba_rbtx4927/toshiba_rbtx4927_setup.c +++ b/arch/mips/tx4927/toshiba_rbtx4927/toshiba_rbtx4927_setup.c | |||
@@ -77,6 +77,11 @@ | |||
77 | #include <linux/hdreg.h> | 77 | #include <linux/hdreg.h> |
78 | #include <linux/ide.h> | 78 | #include <linux/ide.h> |
79 | #endif | 79 | #endif |
80 | #ifdef CONFIG_SERIAL_TXX9 | ||
81 | #include <linux/tty.h> | ||
82 | #include <linux/serial.h> | ||
83 | #include <linux/serial_core.h> | ||
84 | #endif | ||
80 | 85 | ||
81 | #undef TOSHIBA_RBTX4927_SETUP_DEBUG | 86 | #undef TOSHIBA_RBTX4927_SETUP_DEBUG |
82 | 87 | ||
@@ -920,12 +925,30 @@ void __init toshiba_rbtx4927_setup(void) | |||
920 | 925 | ||
921 | #endif /* CONFIG_PCI */ | 926 | #endif /* CONFIG_PCI */ |
922 | 927 | ||
928 | #ifdef CONFIG_SERIAL_TXX9 | ||
929 | { | ||
930 | extern int early_serial_txx9_setup(struct uart_port *port); | ||
931 | int i; | ||
932 | struct uart_port req; | ||
933 | for(i = 0; i < 2; i++) { | ||
934 | memset(&req, 0, sizeof(req)); | ||
935 | req.line = i; | ||
936 | req.iotype = UPIO_MEM; | ||
937 | req.membase = (char *)(0xff1ff300 + i * 0x100); | ||
938 | req.mapbase = 0xff1ff300 + i * 0x100; | ||
939 | req.irq = 32 + i; | ||
940 | req.flags |= UPF_BUGGY_UART /*HAVE_CTS_LINE*/; | ||
941 | req.uartclk = 50000000; | ||
942 | early_serial_txx9_setup(&req); | ||
943 | } | ||
944 | } | ||
923 | #ifdef CONFIG_SERIAL_TXX9_CONSOLE | 945 | #ifdef CONFIG_SERIAL_TXX9_CONSOLE |
924 | argptr = prom_getcmdline(); | 946 | argptr = prom_getcmdline(); |
925 | if (strstr(argptr, "console=") == NULL) { | 947 | if (strstr(argptr, "console=") == NULL) { |
926 | strcat(argptr, " console=ttyS0,38400"); | 948 | strcat(argptr, " console=ttyS0,38400"); |
927 | } | 949 | } |
928 | #endif | 950 | #endif |
951 | #endif | ||
929 | 952 | ||
930 | #ifdef CONFIG_ROOT_NFS | 953 | #ifdef CONFIG_ROOT_NFS |
931 | argptr = prom_getcmdline(); | 954 | argptr = prom_getcmdline(); |