diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-01-09 17:28:38 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-01-09 17:28:38 -0500 |
commit | dfc1ebe76663d582a01c9dc572395cf8086d01de (patch) | |
tree | 54a5ac91214a90f82c27b6e38099a4470837729e /arch/arm/mach-s3c2410 | |
parent | acc952c1f373bf3f66cc7a10680eee1762bed40b (diff) | |
parent | b001befe58691ef3627458cd814e8cee7f845c5f (diff) |
Merge tag 'dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Device tree conversions for samsung and tegra
Both platforms had some initial device tree support, but this adds
much more to actually make it usable.
* tag 'dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (45 commits)
ARM: dts: Add intial dts file for EXYNOS4210 SoC, SMDKV310 and ORIGEN
ARM: EXYNOS: Add Exynos4 device tree enabled board file
rtc: rtc-s3c: Add device tree support
input: samsung-keypad: Add device tree support
ARM: S5PV210: Modify platform data for pl330 driver
ARM: S5PC100: Modify platform data for pl330 driver
ARM: S5P64x0: Modify platform data for pl330 driver
ARM: EXYNOS: Add a alias for pdma clocks
ARM: EXYNOS: Limit usage of pl330 device instance to non-dt build
ARM: SAMSUNG: Add device tree support for pl330 dma engine wrappers
DMA: PL330: Add device tree support
ARM: EXYNOS: Modify platform data for pl330 driver
DMA: PL330: Infer transfer direction from transfer request instead of platform data
DMA: PL330: move filter function into driver
serial: samsung: Fix build for non-Exynos4210 devices
serial: samsung: add device tree support
serial: samsung: merge probe() function from all SoC specific extensions
serial: samsung: merge all SoC specific port reset functions
ARM: SAMSUNG: register uart clocks to clock lookup list
serial: samsung: remove all uses of get_clksrc and set_clksrc
...
Fix up fairly trivial conflicts in arch/arm/mach-s3c2440/clock.c and
drivers/tty/serial/Kconfig both due to just adding code close to
changes.
Diffstat (limited to 'arch/arm/mach-s3c2410')
-rw-r--r-- | arch/arm/mach-s3c2410/mach-bast.c | 22 | ||||
-rw-r--r-- | arch/arm/mach-s3c2410/mach-vr1000.c | 24 | ||||
-rw-r--r-- | arch/arm/mach-s3c2410/s3c2410.c | 6 |
3 files changed, 6 insertions, 46 deletions
diff --git a/arch/arm/mach-s3c2410/mach-bast.c b/arch/arm/mach-s3c2410/mach-bast.c index c6133c6ec18f..feeaf73933dc 100644 --- a/arch/arm/mach-s3c2410/mach-bast.c +++ b/arch/arm/mach-s3c2410/mach-bast.c | |||
@@ -165,22 +165,6 @@ static struct map_desc bast_iodesc[] __initdata = { | |||
165 | #define ULCON S3C2410_LCON_CS8 | S3C2410_LCON_PNONE | S3C2410_LCON_STOPB | 165 | #define ULCON S3C2410_LCON_CS8 | S3C2410_LCON_PNONE | S3C2410_LCON_STOPB |
166 | #define UFCON S3C2410_UFCON_RXTRIG8 | S3C2410_UFCON_FIFOMODE | 166 | #define UFCON S3C2410_UFCON_RXTRIG8 | S3C2410_UFCON_FIFOMODE |
167 | 167 | ||
168 | static struct s3c24xx_uart_clksrc bast_serial_clocks[] = { | ||
169 | [0] = { | ||
170 | .name = "uclk", | ||
171 | .divisor = 1, | ||
172 | .min_baud = 0, | ||
173 | .max_baud = 0, | ||
174 | }, | ||
175 | [1] = { | ||
176 | .name = "pclk", | ||
177 | .divisor = 1, | ||
178 | .min_baud = 0, | ||
179 | .max_baud = 0, | ||
180 | } | ||
181 | }; | ||
182 | |||
183 | |||
184 | static struct s3c2410_uartcfg bast_uartcfgs[] __initdata = { | 168 | static struct s3c2410_uartcfg bast_uartcfgs[] __initdata = { |
185 | [0] = { | 169 | [0] = { |
186 | .hwport = 0, | 170 | .hwport = 0, |
@@ -188,8 +172,6 @@ static struct s3c2410_uartcfg bast_uartcfgs[] __initdata = { | |||
188 | .ucon = UCON, | 172 | .ucon = UCON, |
189 | .ulcon = ULCON, | 173 | .ulcon = ULCON, |
190 | .ufcon = UFCON, | 174 | .ufcon = UFCON, |
191 | .clocks = bast_serial_clocks, | ||
192 | .clocks_size = ARRAY_SIZE(bast_serial_clocks), | ||
193 | }, | 175 | }, |
194 | [1] = { | 176 | [1] = { |
195 | .hwport = 1, | 177 | .hwport = 1, |
@@ -197,8 +179,6 @@ static struct s3c2410_uartcfg bast_uartcfgs[] __initdata = { | |||
197 | .ucon = UCON, | 179 | .ucon = UCON, |
198 | .ulcon = ULCON, | 180 | .ulcon = ULCON, |
199 | .ufcon = UFCON, | 181 | .ufcon = UFCON, |
200 | .clocks = bast_serial_clocks, | ||
201 | .clocks_size = ARRAY_SIZE(bast_serial_clocks), | ||
202 | }, | 182 | }, |
203 | /* port 2 is not actually used */ | 183 | /* port 2 is not actually used */ |
204 | [2] = { | 184 | [2] = { |
@@ -207,8 +187,6 @@ static struct s3c2410_uartcfg bast_uartcfgs[] __initdata = { | |||
207 | .ucon = UCON, | 187 | .ucon = UCON, |
208 | .ulcon = ULCON, | 188 | .ulcon = ULCON, |
209 | .ufcon = UFCON, | 189 | .ufcon = UFCON, |
210 | .clocks = bast_serial_clocks, | ||
211 | .clocks_size = ARRAY_SIZE(bast_serial_clocks), | ||
212 | } | 190 | } |
213 | }; | 191 | }; |
214 | 192 | ||
diff --git a/arch/arm/mach-s3c2410/mach-vr1000.c b/arch/arm/mach-s3c2410/mach-vr1000.c index cc7032b5c65b..dbe668a803ef 100644 --- a/arch/arm/mach-s3c2410/mach-vr1000.c +++ b/arch/arm/mach-s3c2410/mach-vr1000.c | |||
@@ -110,23 +110,6 @@ static struct map_desc vr1000_iodesc[] __initdata = { | |||
110 | #define ULCON S3C2410_LCON_CS8 | S3C2410_LCON_PNONE | S3C2410_LCON_STOPB | 110 | #define ULCON S3C2410_LCON_CS8 | S3C2410_LCON_PNONE | S3C2410_LCON_STOPB |
111 | #define UFCON S3C2410_UFCON_RXTRIG8 | S3C2410_UFCON_FIFOMODE | 111 | #define UFCON S3C2410_UFCON_RXTRIG8 | S3C2410_UFCON_FIFOMODE |
112 | 112 | ||
113 | /* uart clock source(s) */ | ||
114 | |||
115 | static struct s3c24xx_uart_clksrc vr1000_serial_clocks[] = { | ||
116 | [0] = { | ||
117 | .name = "uclk", | ||
118 | .divisor = 1, | ||
119 | .min_baud = 0, | ||
120 | .max_baud = 0, | ||
121 | }, | ||
122 | [1] = { | ||
123 | .name = "pclk", | ||
124 | .divisor = 1, | ||
125 | .min_baud = 0, | ||
126 | .max_baud = 0. | ||
127 | } | ||
128 | }; | ||
129 | |||
130 | static struct s3c2410_uartcfg vr1000_uartcfgs[] __initdata = { | 113 | static struct s3c2410_uartcfg vr1000_uartcfgs[] __initdata = { |
131 | [0] = { | 114 | [0] = { |
132 | .hwport = 0, | 115 | .hwport = 0, |
@@ -134,8 +117,6 @@ static struct s3c2410_uartcfg vr1000_uartcfgs[] __initdata = { | |||
134 | .ucon = UCON, | 117 | .ucon = UCON, |
135 | .ulcon = ULCON, | 118 | .ulcon = ULCON, |
136 | .ufcon = UFCON, | 119 | .ufcon = UFCON, |
137 | .clocks = vr1000_serial_clocks, | ||
138 | .clocks_size = ARRAY_SIZE(vr1000_serial_clocks), | ||
139 | }, | 120 | }, |
140 | [1] = { | 121 | [1] = { |
141 | .hwport = 1, | 122 | .hwport = 1, |
@@ -143,8 +124,6 @@ static struct s3c2410_uartcfg vr1000_uartcfgs[] __initdata = { | |||
143 | .ucon = UCON, | 124 | .ucon = UCON, |
144 | .ulcon = ULCON, | 125 | .ulcon = ULCON, |
145 | .ufcon = UFCON, | 126 | .ufcon = UFCON, |
146 | .clocks = vr1000_serial_clocks, | ||
147 | .clocks_size = ARRAY_SIZE(vr1000_serial_clocks), | ||
148 | }, | 127 | }, |
149 | /* port 2 is not actually used */ | 128 | /* port 2 is not actually used */ |
150 | [2] = { | 129 | [2] = { |
@@ -153,9 +132,6 @@ static struct s3c2410_uartcfg vr1000_uartcfgs[] __initdata = { | |||
153 | .ucon = UCON, | 132 | .ucon = UCON, |
154 | .ulcon = ULCON, | 133 | .ulcon = ULCON, |
155 | .ufcon = UFCON, | 134 | .ufcon = UFCON, |
156 | .clocks = vr1000_serial_clocks, | ||
157 | .clocks_size = ARRAY_SIZE(vr1000_serial_clocks), | ||
158 | |||
159 | } | 135 | } |
160 | }; | 136 | }; |
161 | 137 | ||
diff --git a/arch/arm/mach-s3c2410/s3c2410.c b/arch/arm/mach-s3c2410/s3c2410.c index eea559ec7a58..061b6bb1a557 100644 --- a/arch/arm/mach-s3c2410/s3c2410.c +++ b/arch/arm/mach-s3c2410/s3c2410.c | |||
@@ -124,12 +124,18 @@ static struct clk s3c2410_armclk = { | |||
124 | .id = -1, | 124 | .id = -1, |
125 | }; | 125 | }; |
126 | 126 | ||
127 | static struct clk_lookup s3c2410_clk_lookup[] = { | ||
128 | CLKDEV_INIT(NULL, "clk_uart_baud0", &clk_p), | ||
129 | CLKDEV_INIT(NULL, "clk_uart_baud1", &s3c24xx_uclk), | ||
130 | }; | ||
131 | |||
127 | void __init s3c2410_init_clocks(int xtal) | 132 | void __init s3c2410_init_clocks(int xtal) |
128 | { | 133 | { |
129 | s3c24xx_register_baseclocks(xtal); | 134 | s3c24xx_register_baseclocks(xtal); |
130 | s3c2410_setup_clocks(); | 135 | s3c2410_setup_clocks(); |
131 | s3c2410_baseclk_add(); | 136 | s3c2410_baseclk_add(); |
132 | s3c24xx_register_clock(&s3c2410_armclk); | 137 | s3c24xx_register_clock(&s3c2410_armclk); |
138 | clkdev_add_table(s3c2410_clk_lookup, ARRAY_SIZE(s3c2410_clk_lookup)); | ||
133 | } | 139 | } |
134 | 140 | ||
135 | struct bus_type s3c2410_subsys = { | 141 | struct bus_type s3c2410_subsys = { |