diff options
-rw-r--r-- | arch/arm/Makefile | 1 | ||||
-rw-r--r-- | arch/arm/mach-s3c24a0/include/mach/debug-macro.S | 27 | ||||
-rw-r--r-- | arch/arm/mach-s3c24a0/include/mach/io.h | 18 | ||||
-rw-r--r-- | arch/arm/mach-s3c24a0/include/mach/irqs.h | 117 | ||||
-rw-r--r-- | arch/arm/mach-s3c24a0/include/mach/map.h | 86 | ||||
-rw-r--r-- | arch/arm/mach-s3c24a0/include/mach/memory.h | 21 | ||||
-rw-r--r-- | arch/arm/mach-s3c24a0/include/mach/regs-clock.h | 88 | ||||
-rw-r--r-- | arch/arm/mach-s3c24a0/include/mach/regs-irq.h | 25 | ||||
-rw-r--r-- | arch/arm/mach-s3c24a0/include/mach/system.h | 25 | ||||
-rw-r--r-- | arch/arm/mach-s3c24a0/include/mach/tick.h | 15 | ||||
-rw-r--r-- | arch/arm/mach-s3c24a0/include/mach/timex.h | 18 | ||||
-rw-r--r-- | arch/arm/mach-s3c24a0/include/mach/vmalloc.h | 17 | ||||
-rw-r--r-- | arch/arm/plat-s3c24xx/Kconfig | 2 | ||||
-rw-r--r-- | arch/arm/plat-samsung/include/plat/gpio-cfg-helpers.h | 2 | ||||
-rw-r--r-- | arch/arm/plat-samsung/include/plat/regs-serial.h | 8 | ||||
-rw-r--r-- | drivers/tty/serial/Kconfig | 7 | ||||
-rw-r--r-- | drivers/tty/serial/Makefile | 1 | ||||
-rw-r--r-- | drivers/tty/serial/s3c24a0.c | 117 |
18 files changed, 2 insertions, 593 deletions
diff --git a/arch/arm/Makefile b/arch/arm/Makefile index f5b2b390c8f2..64d2591e882f 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile | |||
@@ -173,7 +173,6 @@ machine-$(CONFIG_ARCH_PXA) := pxa | |||
173 | machine-$(CONFIG_ARCH_REALVIEW) := realview | 173 | machine-$(CONFIG_ARCH_REALVIEW) := realview |
174 | machine-$(CONFIG_ARCH_RPC) := rpc | 174 | machine-$(CONFIG_ARCH_RPC) := rpc |
175 | machine-$(CONFIG_ARCH_S3C2410) := s3c2410 s3c2400 s3c2412 s3c2416 s3c2440 s3c2443 | 175 | machine-$(CONFIG_ARCH_S3C2410) := s3c2410 s3c2400 s3c2412 s3c2416 s3c2440 s3c2443 |
176 | machine-$(CONFIG_ARCH_S3C24A0) := s3c24a0 | ||
177 | machine-$(CONFIG_ARCH_S3C64XX) := s3c64xx | 176 | machine-$(CONFIG_ARCH_S3C64XX) := s3c64xx |
178 | machine-$(CONFIG_ARCH_S5P64X0) := s5p64x0 | 177 | machine-$(CONFIG_ARCH_S5P64X0) := s5p64x0 |
179 | machine-$(CONFIG_ARCH_S5PC100) := s5pc100 | 178 | machine-$(CONFIG_ARCH_S5PC100) := s5pc100 |
diff --git a/arch/arm/mach-s3c24a0/include/mach/debug-macro.S b/arch/arm/mach-s3c24a0/include/mach/debug-macro.S deleted file mode 100644 index 0c5a73805560..000000000000 --- a/arch/arm/mach-s3c24a0/include/mach/debug-macro.S +++ /dev/null | |||
@@ -1,27 +0,0 @@ | |||
1 | /* arch/arm/mach-s3c2410/include/mach/debug-macro.S | ||
2 | * | ||
3 | * This program is free software; you can redistribute it and/or modify | ||
4 | * it under the terms of the GNU General Public License version 2 as | ||
5 | * published by the Free Software Foundation. | ||
6 | */ | ||
7 | |||
8 | /* pull in the relevant register and map files. */ | ||
9 | |||
10 | #include <mach/map.h> | ||
11 | #include <plat/regs-serial.h> | ||
12 | |||
13 | .macro addruart, rp, rv | ||
14 | ldr \rp, = S3C24XX_PA_UART | ||
15 | ldr \rv, = S3C24XX_VA_UART | ||
16 | #if CONFIG_DEBUG_S3C_UART != 0 | ||
17 | add \rp, \rp, #(S3C2410_UART1_OFF * CONFIG_DEBUG_S3C_UART) | ||
18 | add \rv, \rv, #(S3C2410_UART1_OFF * CONFIG_DEBUG_S3C_UART) | ||
19 | #endif | ||
20 | .endm | ||
21 | |||
22 | /* include the reset of the code which will do the work, we're only | ||
23 | * compiling for a single cpu processor type so the default of s3c2440 | ||
24 | * will be fine with us. | ||
25 | */ | ||
26 | |||
27 | #include <plat/debug-macro.S> | ||
diff --git a/arch/arm/mach-s3c24a0/include/mach/io.h b/arch/arm/mach-s3c24a0/include/mach/io.h deleted file mode 100644 index 4326c30fabcb..000000000000 --- a/arch/arm/mach-s3c24a0/include/mach/io.h +++ /dev/null | |||
@@ -1,18 +0,0 @@ | |||
1 | /* arch/arm/mach-s3c24a0/include/mach/io.h | ||
2 | * | ||
3 | * Copyright 2008 Simtec Electronics | ||
4 | * Ben Dooks <ben-linux@fluff.org> | ||
5 | * | ||
6 | * Default IO routines for S3C24A0 | ||
7 | */ | ||
8 | |||
9 | #ifndef __ASM_ARM_ARCH_IO_H | ||
10 | #define __ASM_ARM_ARCH_IO_H | ||
11 | |||
12 | /* No current ISA/PCI bus support. */ | ||
13 | #define __io(a) __typesafe_io(a) | ||
14 | #define __mem_pci(a) (a) | ||
15 | |||
16 | #define IO_SPACE_LIMIT (0xFFFFFFFF) | ||
17 | |||
18 | #endif | ||
diff --git a/arch/arm/mach-s3c24a0/include/mach/irqs.h b/arch/arm/mach-s3c24a0/include/mach/irqs.h deleted file mode 100644 index 83ce2a7a9dae..000000000000 --- a/arch/arm/mach-s3c24a0/include/mach/irqs.h +++ /dev/null | |||
@@ -1,117 +0,0 @@ | |||
1 | /* linux/arch/arm/mach-s3c24a0/include/mach/irqs.h | ||
2 | * | ||
3 | * Copyright (c) 2003-2005 Simtec Electronics | ||
4 | * Ben Dooks <ben@simtec.co.uk> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | */ | ||
10 | |||
11 | |||
12 | #ifndef __ASM_ARCH_24A0_IRQS_H | ||
13 | #define __ASM_ARCH_24A0_IRQS_H __FILE__ | ||
14 | |||
15 | #define IRQ_EINT0t2 S3C2410_IRQ(0) /* 16 */ | ||
16 | /* for generic entry-macro.S */ | ||
17 | #define IRQ_EINT0 IRQ_EINT0t2 | ||
18 | |||
19 | #define IRQ_EINT3t6 S3C2410_IRQ(1) | ||
20 | #define IRQ_EINT7t10 S3C2410_IRQ(2) | ||
21 | #define IRQ_EINT11t14 S3C2410_IRQ(3) | ||
22 | #define IRQ_EINT15t18 S3C2410_IRQ(4) /* 20 */ | ||
23 | #define IRQ_TICK S3C2410_IRQ(5) | ||
24 | #define IRQ_DCTQ S3C2410_IRQ(6) | ||
25 | #define IRQ_MC S3C2410_IRQ(7) | ||
26 | #define IRQ_ME S3C2410_IRQ(8) /* 24 */ | ||
27 | #define IRQ_KEYPAD S3C2410_IRQ(9) | ||
28 | #define IRQ_TIMER0 S3C2410_IRQ(10) | ||
29 | #define IRQ_TIMER1 S3C2410_IRQ(11) | ||
30 | #define IRQ_TIMER2 S3C2410_IRQ(12) | ||
31 | #define IRQ_TIMER3_4 S3C2410_IRQ(13) | ||
32 | #define IRQ_OS_TIMER IRQ_TIMER3_4 | ||
33 | #define IRQ_LCD S3C2410_IRQ(14) | ||
34 | #define IRQ_CAM_C S3C2410_IRQ(15) | ||
35 | #define IRQ_WDT_BATFLT S3C2410_IRQ(16) /* 32 */ | ||
36 | #define IRQ_UART0 S3C2410_IRQ(17) | ||
37 | #define IRQ_CAM_P S3C2410_IRQ(18) | ||
38 | #define IRQ_MODEM S3C2410_IRQ(19) | ||
39 | #define IRQ_DMA S3C2410_IRQ(20) | ||
40 | #define IRQ_SDI S3C2410_IRQ(21) | ||
41 | #define IRQ_SPI0 S3C2410_IRQ(22) | ||
42 | #define IRQ_UART1 S3C2410_IRQ(23) | ||
43 | #define IRQ_AC97_NFLASH S3C2410_IRQ(24) /* 40 */ | ||
44 | #define IRQ_USBD S3C2410_IRQ(25) | ||
45 | #define IRQ_USBH S3C2410_IRQ(26) | ||
46 | #define IRQ_IIC S3C2410_IRQ(27) | ||
47 | #define IRQ_IRDA_MSTICK S3C2410_IRQ(28) /* 44 */ | ||
48 | #define IRQ_VLX_SPI1 S3C2410_IRQ(29) | ||
49 | #define IRQ_RTC S3C2410_IRQ(30) /* 46 */ | ||
50 | #define IRQ_ADC_PEN S3C2410_IRQ(31) | ||
51 | |||
52 | /* interrupts generated from the external interrupts sources */ | ||
53 | #define IRQ_EINT00 S3C2410_IRQ(32) /* 48 */ | ||
54 | #define IRQ_EINT1 S3C2410_IRQ(33) | ||
55 | #define IRQ_EINT2 S3C2410_IRQ(34) | ||
56 | #define IRQ_EINT3 S3C2410_IRQ(35) | ||
57 | #define IRQ_EINT4 S3C2410_IRQ(36) | ||
58 | #define IRQ_EINT5 S3C2410_IRQ(37) | ||
59 | #define IRQ_EINT6 S3C2410_IRQ(38) | ||
60 | #define IRQ_EINT7 S3C2410_IRQ(39) | ||
61 | #define IRQ_EINT8 S3C2410_IRQ(40) | ||
62 | #define IRQ_EINT9 S3C2410_IRQ(41) | ||
63 | #define IRQ_EINT10 S3C2410_IRQ(42) | ||
64 | #define IRQ_EINT11 S3C2410_IRQ(43) | ||
65 | #define IRQ_EINT12 S3C2410_IRQ(44) | ||
66 | #define IRQ_EINT13 S3C2410_IRQ(45) | ||
67 | #define IRQ_EINT14 S3C2410_IRQ(46) | ||
68 | #define IRQ_EINT15 S3C2410_IRQ(47) | ||
69 | #define IRQ_EINT16 S3C2410_IRQ(48) | ||
70 | #define IRQ_EINT17 S3C2410_IRQ(49) | ||
71 | #define IRQ_EINT18 S3C2410_IRQ(50) | ||
72 | |||
73 | #define IRQ_EINT_BIT(x) ((x) - IRQ_EINT00) | ||
74 | |||
75 | /* SUB IRQS */ | ||
76 | #define IRQ_S3CUART_RX0 S3C2410_IRQ(51) /* 67 */ | ||
77 | #define IRQ_S3CUART_TX0 S3C2410_IRQ(52) | ||
78 | #define IRQ_S3CUART_ERR0 S3C2410_IRQ(53) | ||
79 | |||
80 | #define IRQ_S3CUART_RX1 S3C2410_IRQ(54) | ||
81 | #define IRQ_S3CUART_TX1 S3C2410_IRQ(55) | ||
82 | #define IRQ_S3CUART_ERR1 S3C2410_IRQ(56) | ||
83 | |||
84 | #define IRQ_S3CUART_RX2 (0x0) | ||
85 | #define IRQ_S3CUART_TX2 (0x0) | ||
86 | #define IRQ_S3CUART_ERR2 (0x0) | ||
87 | |||
88 | |||
89 | #define IRQ_IRDA S3C2410_IRQ(57) | ||
90 | #define IRQ_MSTICK S3C2410_IRQ(58) | ||
91 | #define IRQ_RESERVED0 S3C2410_IRQ(59) | ||
92 | #define IRQ_RESERVED1 S3C2410_IRQ(60) | ||
93 | #define IRQ_RESERVED2 S3C2410_IRQ(61) | ||
94 | #define IRQ_TIMER3 S3C2410_IRQ(62) | ||
95 | #define IRQ_TIMER4 S3C2410_IRQ(63) | ||
96 | #define IRQ_WDT S3C2410_IRQ(64) | ||
97 | #define IRQ_BATFLT S3C2410_IRQ(65) | ||
98 | #define IRQ_POST S3C2410_IRQ(66) | ||
99 | #define IRQ_DISP_FIFO S3C2410_IRQ(67) | ||
100 | #define IRQ_PENUP S3C2410_IRQ(68) | ||
101 | #define IRQ_PENDN S3C2410_IRQ(69) | ||
102 | #define IRQ_ADC S3C2410_IRQ(70) | ||
103 | #define IRQ_DISP_FRAME S3C2410_IRQ(71) | ||
104 | #define IRQ_NFLASH S3C2410_IRQ(72) | ||
105 | #define IRQ_AC97 S3C2410_IRQ(73) | ||
106 | #define IRQ_SPI1 S3C2410_IRQ(74) | ||
107 | #define IRQ_VLX S3C2410_IRQ(75) | ||
108 | #define IRQ_DMA0 S3C2410_IRQ(76) | ||
109 | #define IRQ_DMA1 S3C2410_IRQ(77) | ||
110 | #define IRQ_DMA2 S3C2410_IRQ(78) | ||
111 | #define IRQ_DMA3 S3C2410_IRQ(79) | ||
112 | |||
113 | #define IRQ_TC (0x0) | ||
114 | |||
115 | #define NR_IRQS (IRQ_DMA3+1) | ||
116 | |||
117 | #endif /* __ASM_ARCH_24A0_IRQS_H */ | ||
diff --git a/arch/arm/mach-s3c24a0/include/mach/map.h b/arch/arm/mach-s3c24a0/include/mach/map.h deleted file mode 100644 index d88c8b24fe34..000000000000 --- a/arch/arm/mach-s3c24a0/include/mach/map.h +++ /dev/null | |||
@@ -1,86 +0,0 @@ | |||
1 | /* linux/arch/arm/mach-s3c24a0/include/mach/map.h | ||
2 | * | ||
3 | * Copyright 2003-2007 Simtec Electronics | ||
4 | * http://armlinux.simtec.co.uk/ | ||
5 | * Ben Dooks <ben@simtec.co.uk> | ||
6 | * | ||
7 | * S3C24A0 - Memory map definitions | ||
8 | * | ||
9 | * This program is free software; you can redistribute it and/or modify | ||
10 | * it under the terms of the GNU General Public License version 2 as | ||
11 | * published by the Free Software Foundation. | ||
12 | */ | ||
13 | |||
14 | #ifndef __ASM_ARCH_24A0_MAP_H | ||
15 | #define __ASM_ARCH_24A0_MAP_H __FILE__ | ||
16 | |||
17 | #include <plat/map-base.h> | ||
18 | #include <plat/map.h> | ||
19 | |||
20 | #define S3C24A0_PA_IO_BASE (0x40000000) | ||
21 | #define S3C24A0_PA_CLKPWR (0x40000000) | ||
22 | #define S3C24A0_PA_IRQ (0x40200000) | ||
23 | #define S3C24A0_PA_DMA (0x40400000) | ||
24 | #define S3C24A0_PA_MEMCTRL (0x40C00000) | ||
25 | #define S3C24A0_PA_NAND (0x40C00000) | ||
26 | #define S3C24A0_PA_SROM (0x40C20000) | ||
27 | #define S3C24A0_PA_SDRAM (0x40C40000) | ||
28 | #define S3C24A0_PA_BUSM (0x40CE0000) | ||
29 | #define S3C24A0_PA_USBHOST (0x41000000) | ||
30 | #define S3C24A0_PA_MODEMIF (0x41180000) | ||
31 | #define S3C24A0_PA_IRDA (0x41800000) | ||
32 | #define S3C24A0_PA_TIMER (0x44000000) | ||
33 | #define S3C24A0_PA_WATCHDOG (0x44100000) | ||
34 | #define S3C24A0_PA_RTC (0x44200000) | ||
35 | #define S3C24A0_PA_UART (0x44400000) | ||
36 | #define S3C24A0_PA_UART0 (S3C24A0_PA_UART) | ||
37 | #define S3C24A0_PA_UART1 (S3C24A0_PA_UART + 0x4000) | ||
38 | #define S3C24A0_PA_SPI (0x44500000) | ||
39 | #define S3C24A0_PA_IIC (0x44600000) | ||
40 | #define S3C24A0_PA_IIS (0x44700000) | ||
41 | #define S3C24A0_PA_GPIO (0x44800000) | ||
42 | #define S3C24A0_PA_KEYIF (0x44900000) | ||
43 | #define S3C24A0_PA_USBDEV (0x44A00000) | ||
44 | #define S3C24A0_PA_AC97 (0x45000000) | ||
45 | #define S3C24A0_PA_ADC (0x45800000) | ||
46 | #define S3C24A0_PA_SDI (0x46000000) | ||
47 | #define S3C24A0_PA_MS (0x46100000) | ||
48 | #define S3C24A0_PA_LCD (0x4A000000) | ||
49 | #define S3C24A0_PA_VPOST (0x4A100000) | ||
50 | |||
51 | /* physical addresses of all the chip-select areas */ | ||
52 | |||
53 | #define S3C24A0_CS0 (0x00000000) | ||
54 | #define S3C24A0_CS1 (0x04000000) | ||
55 | #define S3C24A0_CS2 (0x08000000) | ||
56 | #define S3C24A0_CS3 (0x0C000000) | ||
57 | #define S3C24A0_CS4 (0x10000000) | ||
58 | #define S3C24A0_CS5 (0x40000000) | ||
59 | |||
60 | #define S3C24A0_SDRAM_PA (S3C24A0_CS4) | ||
61 | |||
62 | /* Use a single interface for common resources between S3C24XX cpus */ | ||
63 | |||
64 | #define S3C24XX_PA_IRQ S3C24A0_PA_IRQ | ||
65 | #define S3C24XX_PA_MEMCTRL S3C24A0_PA_MEMCTRL | ||
66 | #define S3C24XX_PA_USBHOST S3C24A0_PA_USBHOST | ||
67 | #define S3C24XX_PA_DMA S3C24A0_PA_DMA | ||
68 | #define S3C24XX_PA_CLKPWR S3C24A0_PA_CLKPWR | ||
69 | #define S3C24XX_PA_LCD S3C24A0_PA_LCD | ||
70 | #define S3C24XX_PA_UART S3C24A0_PA_UART | ||
71 | #define S3C24XX_PA_TIMER S3C24A0_PA_TIMER | ||
72 | #define S3C24XX_PA_USBDEV S3C24A0_PA_USBDEV | ||
73 | #define S3C24XX_PA_WATCHDOG S3C24A0_PA_WATCHDOG | ||
74 | #define S3C24XX_PA_IIS S3C24A0_PA_IIS | ||
75 | #define S3C24XX_PA_GPIO S3C24A0_PA_GPIO | ||
76 | #define S3C24XX_PA_RTC S3C24A0_PA_RTC | ||
77 | #define S3C24XX_PA_ADC S3C24A0_PA_ADC | ||
78 | #define S3C24XX_PA_SPI S3C24A0_PA_SPI | ||
79 | #define S3C24XX_PA_SDI S3C24A0_PA_SDI | ||
80 | #define S3C24XX_PA_NAND S3C24A0_PA_NAND | ||
81 | |||
82 | #define S3C_PA_UART S3C24A0_PA_UART | ||
83 | #define S3C_PA_IIC S3C24A0_PA_IIC | ||
84 | #define S3C_PA_NAND S3C24XX_PA_NAND | ||
85 | |||
86 | #endif /* __ASM_ARCH_24A0_MAP_H */ | ||
diff --git a/arch/arm/mach-s3c24a0/include/mach/memory.h b/arch/arm/mach-s3c24a0/include/mach/memory.h deleted file mode 100644 index 7d208a71b172..000000000000 --- a/arch/arm/mach-s3c24a0/include/mach/memory.h +++ /dev/null | |||
@@ -1,21 +0,0 @@ | |||
1 | /* linux/arch/arm/mach-s3c24a0/include/mach/memory.h | ||
2 | * from linux/include/asm-arm/arch-rpc/memory.h | ||
3 | * | ||
4 | * Copyright (C) 1996,1997,1998 Russell King. | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | */ | ||
10 | |||
11 | #ifndef __ASM_ARCH_24A0_MEMORY_H | ||
12 | #define __ASM_ARCH_24A0_MEMORY_H __FILE__ | ||
13 | |||
14 | #define PLAT_PHYS_OFFSET UL(0x10000000) | ||
15 | |||
16 | #define __virt_to_bus(x) __virt_to_phys(x) | ||
17 | #define __bus_to_virt(x) __phys_to_virt(x) | ||
18 | #define __pfn_to_bus(x) __pfn_to_phys(x) | ||
19 | #define __bus_to_pfn(x) __phys_to_pfn(x) | ||
20 | |||
21 | #endif | ||
diff --git a/arch/arm/mach-s3c24a0/include/mach/regs-clock.h b/arch/arm/mach-s3c24a0/include/mach/regs-clock.h deleted file mode 100644 index be0af518b488..000000000000 --- a/arch/arm/mach-s3c24a0/include/mach/regs-clock.h +++ /dev/null | |||
@@ -1,88 +0,0 @@ | |||
1 | /* linux/arch/arm/mach-s3c24a0/include/mach/regs-clock.h | ||
2 | * | ||
3 | * Copyright (c) 2003-2006 Simtec Electronics <linux@simtec.co.uk> | ||
4 | * http://armlinux.simtec.co.uk/ | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | * | ||
10 | * S3C24A0 clock register definitions | ||
11 | */ | ||
12 | |||
13 | #ifndef __ASM_ARCH_24A0_REGS_CLOCK_H | ||
14 | #define __ASM_ARCH_24A0_REGS_CLOCK_H __FILE__ | ||
15 | |||
16 | #define S3C24A0_MPLLCON S3C2410_CLKREG(0x10) | ||
17 | #define S3C24A0_UPLLCON S3C2410_CLKREG(0x14) | ||
18 | #define S3C24A0_CLKCON S3C2410_CLKREG(0x20) | ||
19 | #define S3C24A0_CLKSRC S3C2410_CLKREG(0x24) | ||
20 | #define S3C24A0_CLKDIVN S3C2410_CLKREG(0x28) | ||
21 | |||
22 | /* CLKCON register bits */ | ||
23 | |||
24 | #define S3C24A0_CLKCON_VLX (1<<29) | ||
25 | #define S3C24A0_CLKCON_VPOST (1<<28) | ||
26 | #define S3C24A0_CLKCON_WDT (1<<27) /* reserved */ | ||
27 | #define S3C24A0_CLKCON_MPEGDCTQ (1<<26) | ||
28 | #define S3C24A0_CLKCON_VPOSTIF (1<<25) | ||
29 | #define S3C24A0_CLKCON_MPEG4IF (1<<24) | ||
30 | #define S3C24A0_CLKCON_CAM_UPLL (1<<23) | ||
31 | #define S3C24A0_CLKCON_LCDC (1<<22) | ||
32 | #define S3C24A0_CLKCON_CAM_HCLK (1<<21) | ||
33 | #define S3C24A0_CLKCON_MPEG4 (1<<20) | ||
34 | #define S3C24A0_CLKCON_KEYPAD (1<<19) | ||
35 | #define S3C24A0_CLKCON_ADC (1<<18) | ||
36 | #define S3C24A0_CLKCON_SDI (1<<17) | ||
37 | #define S3C24A0_CLKCON_MS (1<<16) /* memory stick */ | ||
38 | #define S3C24A0_CLKCON_USBD (1<<15) | ||
39 | #define S3C24A0_CLKCON_GPIO (1<<14) | ||
40 | #define S3C24A0_CLKCON_IIS (1<<13) | ||
41 | #define S3C24A0_CLKCON_IIC (1<<12) | ||
42 | #define S3C24A0_CLKCON_SPI (1<<11) | ||
43 | #define S3C24A0_CLKCON_UART1 (1<<10) | ||
44 | #define S3C24A0_CLKCON_UART0 (1<<9) | ||
45 | #define S3C24A0_CLKCON_PWMT (1<<8) | ||
46 | #define S3C24A0_CLKCON_USBH (1<<7) | ||
47 | #define S3C24A0_CLKCON_AC97 (1<<6) | ||
48 | #define S3C24A0_CLKCON_IrDA (1<<4) | ||
49 | #define S3C24A0_CLKCON_IDLE (1<<2) | ||
50 | #define S3C24A0_CLKCON_MON (1<<1) | ||
51 | #define S3C24A0_CLKCON_STOP (1<<0) | ||
52 | |||
53 | /* CLKSRC register bits */ | ||
54 | |||
55 | #define S3C24A0_CLKSRC_OSC (1<<8) /* CLKSRC */ | ||
56 | #define S3C24A0_CLKSRC_UPLL (1<<7) | ||
57 | #define S3C24A0_CLKSRC_MPLL (1<<5) | ||
58 | #define S3C24A0_CLKSRC_EXT (1<<4) | ||
59 | |||
60 | /* Use a single interface with the common code, for s3c24xx */ | ||
61 | |||
62 | #define S3C2410_MPLLCON S3C24A0_MPLLCON | ||
63 | #define S3C2410_UPLLCON S3C24A0_UPLLCON | ||
64 | #define S3C2410_CLKCON S3C24A0_CLKCON | ||
65 | #define S3C2410_CLKSLOW S3C24A0_CLKSRC | ||
66 | #define S3C2410_CLKDIVN S3C24A0_CLKDIVN | ||
67 | |||
68 | #define S3C2410_CLKCON_IDLE S3C24A0_CLKCON_IDLE | ||
69 | #define S3C2410_CLKCON_POWER S3C24A0_CLKCON_STOP | ||
70 | #define S3C2410_CLKCON_LCDC S3C24A0_CLKCON_LCDC | ||
71 | #define S3C2410_CLKCON_USBH S3C24A0_CLKCON_USBH | ||
72 | #define S3C2410_CLKCON_USBD S3C24A0_CLKCON_USBD | ||
73 | #define S3C2410_CLKCON_PWMT S3C24A0_CLKCON_PWMT | ||
74 | #define S3C2410_CLKCON_SDI S3C24A0_CLKCON_SDI | ||
75 | #define S3C2410_CLKCON_UART0 S3C24A0_CLKCON_UART0 | ||
76 | #define S3C2410_CLKCON_UART1 S3C24A0_CLKCON_UART1 | ||
77 | #define S3C2410_CLKCON_GPIO S3C24A0_CLKCON_GPIO | ||
78 | #define S3C2410_CLKCON_ADC S3C24A0_CLKCON_ADC | ||
79 | #define S3C2410_CLKCON_IIC S3C24A0_CLKCON_IIC | ||
80 | #define S3C2410_CLKCON_IIS S3C24A0_CLKCON_IIS | ||
81 | #define S3C2410_CLKCON_SPI S3C24A0_CLKCON_SPI | ||
82 | |||
83 | #define S3C2410_CLKSLOW_UCLK_OFF S3C24A0_CLKSRC_UPLL | ||
84 | #define S3C2410_CLKSLOW_MPLL_OFF S3C24A0_CLKSRC_MPLL | ||
85 | #define S3C2410_CLKSLOW_SLOW (0xFF) | ||
86 | #define S3C2410_CLKSLOW_GET_SLOWVAL(x) (0x1) | ||
87 | |||
88 | #endif /* __ASM_ARCH_24A0_REGS_CLOCK_H */ | ||
diff --git a/arch/arm/mach-s3c24a0/include/mach/regs-irq.h b/arch/arm/mach-s3c24a0/include/mach/regs-irq.h deleted file mode 100644 index 6086f6f189eb..000000000000 --- a/arch/arm/mach-s3c24a0/include/mach/regs-irq.h +++ /dev/null | |||
@@ -1,25 +0,0 @@ | |||
1 | /* linux/arch/arm/mach-s3c24a0/include/mach/regs-irq.h | ||
2 | * | ||
3 | * Copyright (c) 2003 Simtec Electronics <linux@simtec.co.uk> | ||
4 | * http://www.simtec.co.uk/products/SWLINUX/ | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | */ | ||
10 | |||
11 | |||
12 | #ifndef ___ASM_ARCH_24A0_REGS_IRQ_H | ||
13 | #define ___ASM_ARCH_24A0_REGS_IRQ_H __FILE__ | ||
14 | |||
15 | |||
16 | #define S3C2410_EINTMASK S3C2410_EINTREG(0x034) | ||
17 | #define S3C2410_EINTPEND S3C2410_EINTREG(0X038) | ||
18 | |||
19 | #define S3C24XX_EINTMASK S3C24XX_EINTREG(0x034) | ||
20 | #define S3C24XX_EINTPEND S3C24XX_EINTREG(0X038) | ||
21 | |||
22 | #endif /* __ASM_ARCH_24A0_REGS_IRQ_H */ | ||
23 | |||
24 | |||
25 | |||
diff --git a/arch/arm/mach-s3c24a0/include/mach/system.h b/arch/arm/mach-s3c24a0/include/mach/system.h deleted file mode 100644 index bd1bd1957656..000000000000 --- a/arch/arm/mach-s3c24a0/include/mach/system.h +++ /dev/null | |||
@@ -1,25 +0,0 @@ | |||
1 | /* linux/arch/arm/mach-s3c24a0/include/mach/system.h | ||
2 | * | ||
3 | * Copyright 2008 Simtec Electronics | ||
4 | * Ben Dooks <ben@simtec.co.uk> | ||
5 | * | ||
6 | * S3C24A0 - System function defines and includes | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify | ||
9 | * it under the terms of the GNU General Public License version 2 as | ||
10 | * published by the Free Software Foundation. | ||
11 | */ | ||
12 | |||
13 | #include <mach/hardware.h> | ||
14 | #include <asm/io.h> | ||
15 | |||
16 | #include <mach/map.h> | ||
17 | |||
18 | static void arch_idle(void) | ||
19 | { | ||
20 | /* currently no specific idle support. */ | ||
21 | } | ||
22 | |||
23 | void (*s3c24xx_reset_hook)(void); | ||
24 | |||
25 | #include <asm/plat-s3c24xx/system-reset.h> | ||
diff --git a/arch/arm/mach-s3c24a0/include/mach/tick.h b/arch/arm/mach-s3c24a0/include/mach/tick.h deleted file mode 100644 index 9dea8ba6fb72..000000000000 --- a/arch/arm/mach-s3c24a0/include/mach/tick.h +++ /dev/null | |||
@@ -1,15 +0,0 @@ | |||
1 | /* linux/arch/arm/mach-s3c24a0/include/mach/tick.h | ||
2 | * | ||
3 | * Copyright 2008 Simtec Electronics | ||
4 | * Ben Dooks <ben@simtec.co.uk> | ||
5 | * http://armlinux.simtec.co.uk/ | ||
6 | * | ||
7 | * S3C24A0 - timer tick support | ||
8 | */ | ||
9 | |||
10 | #define SUBSRC_TIMER4 (1 << (IRQ_TIMER4 - IRQ_S3CUART_RX0)) | ||
11 | |||
12 | static inline int s3c24xx_ostimer_pending(void) | ||
13 | { | ||
14 | return __raw_readl(S3C2410_SUBSRCPND) & SUBSRC_TIMER4; | ||
15 | } | ||
diff --git a/arch/arm/mach-s3c24a0/include/mach/timex.h b/arch/arm/mach-s3c24a0/include/mach/timex.h deleted file mode 100644 index 98573424a016..000000000000 --- a/arch/arm/mach-s3c24a0/include/mach/timex.h +++ /dev/null | |||
@@ -1,18 +0,0 @@ | |||
1 | /* linux/arch/arm/mach-s3c24a0/include/mach/timex.h | ||
2 | * | ||
3 | * Copyright (c) 2008 Simtec Electronics | ||
4 | * Ben Dooks <ben@simtec.co.uk> | ||
5 | * | ||
6 | * S3C2410 - time parameters | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify | ||
9 | * it under the terms of the GNU General Public License version 2 as | ||
10 | * published by the Free Software Foundation. | ||
11 | */ | ||
12 | |||
13 | #ifndef __ASM_ARCH_TIMEX_H | ||
14 | #define __ASM_ARCH_TIMEX_H | ||
15 | |||
16 | #define CLOCK_TICK_RATE 12000000 | ||
17 | |||
18 | #endif /* __ASM_ARCH_TIMEX_H */ | ||
diff --git a/arch/arm/mach-s3c24a0/include/mach/vmalloc.h b/arch/arm/mach-s3c24a0/include/mach/vmalloc.h deleted file mode 100644 index 6480b15277f3..000000000000 --- a/arch/arm/mach-s3c24a0/include/mach/vmalloc.h +++ /dev/null | |||
@@ -1,17 +0,0 @@ | |||
1 | /* linux/include/asm-arm/arch-s3c24ao/vmalloc.h | ||
2 | * | ||
3 | * Copyright 2008 Simtec Electronics <linux@simtec.co.uk> | ||
4 | |||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License version 2 as | ||
7 | * published by the Free Software Foundation. | ||
8 | * | ||
9 | * S3C24A0 vmalloc definition | ||
10 | */ | ||
11 | |||
12 | #ifndef __ASM_ARCH_VMALLOC_H | ||
13 | #define __ASM_ARCH_VMALLOC_H | ||
14 | |||
15 | #define VMALLOC_END 0xF6000000UL | ||
16 | |||
17 | #endif /* __ASM_ARCH_VMALLOC_H */ | ||
diff --git a/arch/arm/plat-s3c24xx/Kconfig b/arch/arm/plat-s3c24xx/Kconfig index d9c4096ebf45..8c5b3029b39f 100644 --- a/arch/arm/plat-s3c24xx/Kconfig +++ b/arch/arm/plat-s3c24xx/Kconfig | |||
@@ -4,7 +4,7 @@ | |||
4 | 4 | ||
5 | config PLAT_S3C24XX | 5 | config PLAT_S3C24XX |
6 | bool | 6 | bool |
7 | depends on ARCH_S3C2410 || ARCH_S3C24A0 | 7 | depends on ARCH_S3C2410 |
8 | default y | 8 | default y |
9 | select NO_IOPORT | 9 | select NO_IOPORT |
10 | select ARCH_REQUIRE_GPIOLIB | 10 | select ARCH_REQUIRE_GPIOLIB |
diff --git a/arch/arm/plat-samsung/include/plat/gpio-cfg-helpers.h b/arch/arm/plat-samsung/include/plat/gpio-cfg-helpers.h index 3ad8386599c3..9a4e53d52967 100644 --- a/arch/arm/plat-samsung/include/plat/gpio-cfg-helpers.h +++ b/arch/arm/plat-samsung/include/plat/gpio-cfg-helpers.h | |||
@@ -140,7 +140,7 @@ extern unsigned s3c_gpio_getcfg_s3c64xx_4bit(struct s3c_gpio_chip *chip, | |||
140 | 140 | ||
141 | /* Pull-{up,down} resistor controls. | 141 | /* Pull-{up,down} resistor controls. |
142 | * | 142 | * |
143 | * S3C2410,S3C2440,S3C24A0 = Pull-UP, | 143 | * S3C2410,S3C2440 = Pull-UP, |
144 | * S3C2412,S3C2413 = Pull-Down | 144 | * S3C2412,S3C2413 = Pull-Down |
145 | * S3C6400,S3C6410 = Pull-Both [None,Down,Up,Undef] | 145 | * S3C6400,S3C6410 = Pull-Both [None,Down,Up,Undef] |
146 | * S3C2443 = Pull-Both [not same as S3C6400] | 146 | * S3C2443 = Pull-Both [not same as S3C6400] |
diff --git a/arch/arm/plat-samsung/include/plat/regs-serial.h b/arch/arm/plat-samsung/include/plat/regs-serial.h index 116edfe120b9..bac36fa3becb 100644 --- a/arch/arm/plat-samsung/include/plat/regs-serial.h +++ b/arch/arm/plat-samsung/include/plat/regs-serial.h | |||
@@ -155,14 +155,6 @@ | |||
155 | #define S3C2410_UFSTAT_RXMASK (15<<0) | 155 | #define S3C2410_UFSTAT_RXMASK (15<<0) |
156 | #define S3C2410_UFSTAT_RXSHIFT (0) | 156 | #define S3C2410_UFSTAT_RXSHIFT (0) |
157 | 157 | ||
158 | /* UFSTAT S3C24A0 */ | ||
159 | #define S3C24A0_UFSTAT_TXFULL (1 << 14) | ||
160 | #define S3C24A0_UFSTAT_RXFULL (1 << 6) | ||
161 | #define S3C24A0_UFSTAT_TXMASK (63 << 8) | ||
162 | #define S3C24A0_UFSTAT_TXSHIFT (8) | ||
163 | #define S3C24A0_UFSTAT_RXMASK (63) | ||
164 | #define S3C24A0_UFSTAT_RXSHIFT (0) | ||
165 | |||
166 | /* UFSTAT S3C2443 same as S3C2440 */ | 158 | /* UFSTAT S3C2443 same as S3C2440 */ |
167 | #define S3C2440_UFSTAT_TXFULL (1<<14) | 159 | #define S3C2440_UFSTAT_TXFULL (1<<14) |
168 | #define S3C2440_UFSTAT_RXFULL (1<<6) | 160 | #define S3C2440_UFSTAT_RXFULL (1<<6) |
diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig index 636144cea932..65ccbce816d4 100644 --- a/drivers/tty/serial/Kconfig +++ b/drivers/tty/serial/Kconfig | |||
@@ -519,13 +519,6 @@ config SERIAL_S3C2440 | |||
519 | help | 519 | help |
520 | Serial port support for the Samsung S3C2440, S3C2416 and S3C2442 SoC | 520 | Serial port support for the Samsung S3C2440, S3C2416 and S3C2442 SoC |
521 | 521 | ||
522 | config SERIAL_S3C24A0 | ||
523 | tristate "Samsung S3C24A0 Serial port support" | ||
524 | depends on SERIAL_SAMSUNG && CPU_S3C24A0 | ||
525 | default y if CPU_S3C24A0 | ||
526 | help | ||
527 | Serial port support for the Samsung S3C24A0 SoC | ||
528 | |||
529 | config SERIAL_S3C6400 | 522 | config SERIAL_S3C6400 |
530 | tristate "Samsung S3C6400/S3C6410/S5P6440/S5P6450/S5PC100 Serial port support" | 523 | tristate "Samsung S3C6400/S3C6410/S5P6440/S5P6450/S5PC100 Serial port support" |
531 | depends on SERIAL_SAMSUNG && (CPU_S3C6400 || CPU_S3C6410 || CPU_S5P6440 || CPU_S5P6450 || CPU_S5PC100) | 524 | depends on SERIAL_SAMSUNG && (CPU_S3C6400 || CPU_S3C6410 || CPU_S5P6440 || CPU_S5P6450 || CPU_S5PC100) |
diff --git a/drivers/tty/serial/Makefile b/drivers/tty/serial/Makefile index cb2628fee4c7..ee0df586756c 100644 --- a/drivers/tty/serial/Makefile +++ b/drivers/tty/serial/Makefile | |||
@@ -42,7 +42,6 @@ obj-$(CONFIG_SERIAL_S3C2400) += s3c2400.o | |||
42 | obj-$(CONFIG_SERIAL_S3C2410) += s3c2410.o | 42 | obj-$(CONFIG_SERIAL_S3C2410) += s3c2410.o |
43 | obj-$(CONFIG_SERIAL_S3C2412) += s3c2412.o | 43 | obj-$(CONFIG_SERIAL_S3C2412) += s3c2412.o |
44 | obj-$(CONFIG_SERIAL_S3C2440) += s3c2440.o | 44 | obj-$(CONFIG_SERIAL_S3C2440) += s3c2440.o |
45 | obj-$(CONFIG_SERIAL_S3C24A0) += s3c24a0.o | ||
46 | obj-$(CONFIG_SERIAL_S3C6400) += s3c6400.o | 45 | obj-$(CONFIG_SERIAL_S3C6400) += s3c6400.o |
47 | obj-$(CONFIG_SERIAL_S5PV210) += s5pv210.o | 46 | obj-$(CONFIG_SERIAL_S5PV210) += s5pv210.o |
48 | obj-$(CONFIG_SERIAL_MAX3100) += max3100.o | 47 | obj-$(CONFIG_SERIAL_MAX3100) += max3100.o |
diff --git a/drivers/tty/serial/s3c24a0.c b/drivers/tty/serial/s3c24a0.c deleted file mode 100644 index 914eff22e499..000000000000 --- a/drivers/tty/serial/s3c24a0.c +++ /dev/null | |||
@@ -1,117 +0,0 @@ | |||
1 | /* | ||
2 | * Driver for Samsung S3C24A0 SoC onboard UARTs. | ||
3 | * | ||
4 | * Based on drivers/serial/s3c2410.c | ||
5 | * | ||
6 | * Author: Sandeep Patil <sandeep.patil@azingo.com> | ||
7 | * | ||
8 | * Ben Dooks, Copyright (c) 2003-2008 Simtec Electronics | ||
9 | * http://armlinux.simtec.co.uk/ | ||
10 | * | ||
11 | * This program is free software; you can redistribute it and/or modify | ||
12 | * it under the terms of the GNU General Public License version 2 as | ||
13 | * published by the Free Software Foundation. | ||
14 | */ | ||
15 | |||
16 | #include <linux/module.h> | ||
17 | #include <linux/ioport.h> | ||
18 | #include <linux/platform_device.h> | ||
19 | #include <linux/init.h> | ||
20 | #include <linux/serial_core.h> | ||
21 | #include <linux/serial.h> | ||
22 | #include <linux/io.h> | ||
23 | #include <linux/irq.h> | ||
24 | |||
25 | #include <mach/hardware.h> | ||
26 | |||
27 | #include <plat/regs-serial.h> | ||
28 | #include <mach/regs-gpio.h> | ||
29 | |||
30 | #include "samsung.h" | ||
31 | |||
32 | static int s3c24a0_serial_setsource(struct uart_port *port, | ||
33 | struct s3c24xx_uart_clksrc *clk) | ||
34 | { | ||
35 | unsigned long ucon = rd_regl(port, S3C2410_UCON); | ||
36 | |||
37 | if (strcmp(clk->name, "uclk") == 0) | ||
38 | ucon |= S3C2410_UCON_UCLK; | ||
39 | else | ||
40 | ucon &= ~S3C2410_UCON_UCLK; | ||
41 | |||
42 | wr_regl(port, S3C2410_UCON, ucon); | ||
43 | return 0; | ||
44 | } | ||
45 | |||
46 | static int s3c24a0_serial_getsource(struct uart_port *port, | ||
47 | struct s3c24xx_uart_clksrc *clk) | ||
48 | { | ||
49 | unsigned long ucon = rd_regl(port, S3C2410_UCON); | ||
50 | |||
51 | clk->divisor = 1; | ||
52 | clk->name = (ucon & S3C2410_UCON_UCLK) ? "uclk" : "pclk"; | ||
53 | |||
54 | return 0; | ||
55 | } | ||
56 | |||
57 | static int s3c24a0_serial_resetport(struct uart_port *port, | ||
58 | struct s3c2410_uartcfg *cfg) | ||
59 | { | ||
60 | dbg("s3c24a0_serial_resetport: port=%p (%08lx), cfg=%p\n", | ||
61 | port, port->mapbase, cfg); | ||
62 | |||
63 | wr_regl(port, S3C2410_UCON, cfg->ucon); | ||
64 | wr_regl(port, S3C2410_ULCON, cfg->ulcon); | ||
65 | |||
66 | /* reset both fifos */ | ||
67 | |||
68 | wr_regl(port, S3C2410_UFCON, cfg->ufcon | S3C2410_UFCON_RESETBOTH); | ||
69 | wr_regl(port, S3C2410_UFCON, cfg->ufcon); | ||
70 | |||
71 | return 0; | ||
72 | } | ||
73 | |||
74 | static struct s3c24xx_uart_info s3c24a0_uart_inf = { | ||
75 | .name = "Samsung S3C24A0 UART", | ||
76 | .type = PORT_S3C2410, | ||
77 | .fifosize = 16, | ||
78 | .rx_fifomask = S3C24A0_UFSTAT_RXMASK, | ||
79 | .rx_fifoshift = S3C24A0_UFSTAT_RXSHIFT, | ||
80 | .rx_fifofull = S3C24A0_UFSTAT_RXFULL, | ||
81 | .tx_fifofull = S3C24A0_UFSTAT_TXFULL, | ||
82 | .tx_fifomask = S3C24A0_UFSTAT_TXMASK, | ||
83 | .tx_fifoshift = S3C24A0_UFSTAT_TXSHIFT, | ||
84 | .get_clksrc = s3c24a0_serial_getsource, | ||
85 | .set_clksrc = s3c24a0_serial_setsource, | ||
86 | .reset_port = s3c24a0_serial_resetport, | ||
87 | }; | ||
88 | |||
89 | static int s3c24a0_serial_probe(struct platform_device *dev) | ||
90 | { | ||
91 | return s3c24xx_serial_probe(dev, &s3c24a0_uart_inf); | ||
92 | } | ||
93 | |||
94 | static struct platform_driver s3c24a0_serial_driver = { | ||
95 | .probe = s3c24a0_serial_probe, | ||
96 | .remove = __devexit_p(s3c24xx_serial_remove), | ||
97 | .driver = { | ||
98 | .name = "s3c24a0-uart", | ||
99 | .owner = THIS_MODULE, | ||
100 | }, | ||
101 | }; | ||
102 | |||
103 | s3c24xx_console_init(&s3c24a0_serial_driver, &s3c24a0_uart_inf); | ||
104 | |||
105 | static int __init s3c24a0_serial_init(void) | ||
106 | { | ||
107 | return s3c24xx_serial_init(&s3c24a0_serial_driver, &s3c24a0_uart_inf); | ||
108 | } | ||
109 | |||
110 | static void __exit s3c24a0_serial_exit(void) | ||
111 | { | ||
112 | platform_driver_unregister(&s3c24a0_serial_driver); | ||
113 | } | ||
114 | |||
115 | module_init(s3c24a0_serial_init); | ||
116 | module_exit(s3c24a0_serial_exit); | ||
117 | |||