diff options
Diffstat (limited to 'arch/arm/mach-s3c2440')
-rw-r--r-- | arch/arm/mach-s3c2440/Kconfig | 5 | ||||
-rw-r--r-- | arch/arm/mach-s3c2440/dma.c | 5 | ||||
-rw-r--r-- | arch/arm/mach-s3c2440/mach-anubis.c | 11 | ||||
-rw-r--r-- | arch/arm/mach-s3c2440/mach-at2440evb.c | 51 | ||||
-rw-r--r-- | arch/arm/mach-s3c2440/mach-nexcoder.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-s3c2440/mach-osiris.c | 7 | ||||
-rw-r--r-- | arch/arm/mach-s3c2440/mach-rx3715.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-s3c2440/mach-smdk2440.c | 4 |
8 files changed, 78 insertions, 13 deletions
diff --git a/arch/arm/mach-s3c2440/Kconfig b/arch/arm/mach-s3c2440/Kconfig index 25de042ab996..cde5ae9a4340 100644 --- a/arch/arm/mach-s3c2440/Kconfig +++ b/arch/arm/mach-s3c2440/Kconfig | |||
@@ -7,6 +7,7 @@ | |||
7 | config CPU_S3C2440 | 7 | config CPU_S3C2440 |
8 | bool | 8 | bool |
9 | depends on ARCH_S3C2410 | 9 | depends on ARCH_S3C2410 |
10 | select CPU_ARM920T | ||
10 | select S3C2410_CLOCK | 11 | select S3C2410_CLOCK |
11 | select S3C2410_PM if PM | 12 | select S3C2410_PM if PM |
12 | select S3C2410_GPIO | 13 | select S3C2410_GPIO |
@@ -28,8 +29,10 @@ menu "S3C2440 Machines" | |||
28 | config MACH_ANUBIS | 29 | config MACH_ANUBIS |
29 | bool "Simtec Electronics ANUBIS" | 30 | bool "Simtec Electronics ANUBIS" |
30 | select CPU_S3C2440 | 31 | select CPU_S3C2440 |
32 | select S3C24XX_DCLK | ||
31 | select PM_SIMTEC if PM | 33 | select PM_SIMTEC if PM |
32 | select HAVE_PATA_PLATFORM | 34 | select HAVE_PATA_PLATFORM |
35 | select S3C24XX_GPIO_EXTRA64 | ||
33 | help | 36 | help |
34 | Say Y here if you are using the Simtec Electronics ANUBIS | 37 | Say Y here if you are using the Simtec Electronics ANUBIS |
35 | development system | 38 | development system |
@@ -37,7 +40,9 @@ config MACH_ANUBIS | |||
37 | config MACH_OSIRIS | 40 | config MACH_OSIRIS |
38 | bool "Simtec IM2440D20 (OSIRIS) module" | 41 | bool "Simtec IM2440D20 (OSIRIS) module" |
39 | select CPU_S3C2440 | 42 | select CPU_S3C2440 |
43 | select S3C24XX_DCLK | ||
40 | select PM_SIMTEC if PM | 44 | select PM_SIMTEC if PM |
45 | select S3C24XX_GPIO_EXTRA128 | ||
41 | help | 46 | help |
42 | Say Y here if you are using the Simtec IM2440D20 module, also | 47 | Say Y here if you are using the Simtec IM2440D20 module, also |
43 | known as the Osiris. | 48 | known as the Osiris. |
diff --git a/arch/arm/mach-s3c2440/dma.c b/arch/arm/mach-s3c2440/dma.c index 32303f6a8321..5b5ee0b8f4e0 100644 --- a/arch/arm/mach-s3c2440/dma.c +++ b/arch/arm/mach-s3c2440/dma.c | |||
@@ -17,7 +17,6 @@ | |||
17 | #include <linux/sysdev.h> | 17 | #include <linux/sysdev.h> |
18 | #include <linux/serial_core.h> | 18 | #include <linux/serial_core.h> |
19 | 19 | ||
20 | #include <asm/dma.h> | ||
21 | #include <mach/dma.h> | 20 | #include <mach/dma.h> |
22 | 21 | ||
23 | #include <plat/dma.h> | 22 | #include <plat/dma.h> |
@@ -25,12 +24,12 @@ | |||
25 | 24 | ||
26 | #include <plat/regs-serial.h> | 25 | #include <plat/regs-serial.h> |
27 | #include <mach/regs-gpio.h> | 26 | #include <mach/regs-gpio.h> |
28 | #include <asm/plat-s3c/regs-ac97.h> | 27 | #include <plat/regs-ac97.h> |
29 | #include <mach/regs-mem.h> | 28 | #include <mach/regs-mem.h> |
30 | #include <mach/regs-lcd.h> | 29 | #include <mach/regs-lcd.h> |
31 | #include <mach/regs-sdi.h> | 30 | #include <mach/regs-sdi.h> |
32 | #include <asm/plat-s3c24xx/regs-iis.h> | 31 | #include <asm/plat-s3c24xx/regs-iis.h> |
33 | #include <asm/plat-s3c24xx/regs-spi.h> | 32 | #include <plat/regs-spi.h> |
34 | 33 | ||
35 | static struct s3c24xx_dma_map __initdata s3c2440_dma_mappings[] = { | 34 | static struct s3c24xx_dma_map __initdata s3c2440_dma_mappings[] = { |
36 | [DMACH_XD0] = { | 35 | [DMACH_XD0] = { |
diff --git a/arch/arm/mach-s3c2440/mach-anubis.c b/arch/arm/mach-s3c2440/mach-anubis.c index e2beca470484..b05d56e230a1 100644 --- a/arch/arm/mach-s3c2440/mach-anubis.c +++ b/arch/arm/mach-s3c2440/mach-anubis.c | |||
@@ -39,7 +39,8 @@ | |||
39 | #include <mach/regs-gpio.h> | 39 | #include <mach/regs-gpio.h> |
40 | #include <mach/regs-mem.h> | 40 | #include <mach/regs-mem.h> |
41 | #include <mach/regs-lcd.h> | 41 | #include <mach/regs-lcd.h> |
42 | #include <asm/plat-s3c/nand.h> | 42 | #include <plat/nand.h> |
43 | #include <plat/iic.h> | ||
43 | 44 | ||
44 | #include <linux/mtd/mtd.h> | 45 | #include <linux/mtd/mtd.h> |
45 | #include <linux/mtd/nand.h> | 46 | #include <linux/mtd/nand.h> |
@@ -366,6 +367,8 @@ static struct sm501_initdata anubis_sm501_initdata = { | |||
366 | .mask = 0, | 367 | .mask = 0, |
367 | }, | 368 | }, |
368 | 369 | ||
370 | .devices = SM501_USE_GPIO, | ||
371 | |||
369 | /* set the SDRAM and bus clocks */ | 372 | /* set the SDRAM and bus clocks */ |
370 | .mclk = 72 * MHZ, | 373 | .mclk = 72 * MHZ, |
371 | .m1xclk = 144 * MHZ, | 374 | .m1xclk = 144 * MHZ, |
@@ -373,10 +376,12 @@ static struct sm501_initdata anubis_sm501_initdata = { | |||
373 | 376 | ||
374 | static struct sm501_platdata_gpio_i2c anubis_sm501_gpio_i2c[] = { | 377 | static struct sm501_platdata_gpio_i2c anubis_sm501_gpio_i2c[] = { |
375 | [0] = { | 378 | [0] = { |
379 | .bus_num = 1, | ||
376 | .pin_scl = 44, | 380 | .pin_scl = 44, |
377 | .pin_sda = 45, | 381 | .pin_sda = 45, |
378 | }, | 382 | }, |
379 | [1] = { | 383 | [1] = { |
384 | .bus_num = 2, | ||
380 | .pin_scl = 40, | 385 | .pin_scl = 40, |
381 | .pin_sda = 41, | 386 | .pin_sda = 41, |
382 | }, | 387 | }, |
@@ -384,6 +389,7 @@ static struct sm501_platdata_gpio_i2c anubis_sm501_gpio_i2c[] = { | |||
384 | 389 | ||
385 | static struct sm501_platdata anubis_sm501_platdata = { | 390 | static struct sm501_platdata anubis_sm501_platdata = { |
386 | .init = &anubis_sm501_initdata, | 391 | .init = &anubis_sm501_initdata, |
392 | .gpio_base = -1, | ||
387 | .gpio_i2c = anubis_sm501_gpio_i2c, | 393 | .gpio_i2c = anubis_sm501_gpio_i2c, |
388 | .gpio_i2c_nr = ARRAY_SIZE(anubis_sm501_gpio_i2c), | 394 | .gpio_i2c_nr = ARRAY_SIZE(anubis_sm501_gpio_i2c), |
389 | }; | 395 | }; |
@@ -404,7 +410,7 @@ static struct platform_device *anubis_devices[] __initdata = { | |||
404 | &s3c_device_usb, | 410 | &s3c_device_usb, |
405 | &s3c_device_wdt, | 411 | &s3c_device_wdt, |
406 | &s3c_device_adc, | 412 | &s3c_device_adc, |
407 | &s3c_device_i2c, | 413 | &s3c_device_i2c0, |
408 | &s3c_device_rtc, | 414 | &s3c_device_rtc, |
409 | &s3c_device_nand, | 415 | &s3c_device_nand, |
410 | &anubis_device_ide0, | 416 | &anubis_device_ide0, |
@@ -468,6 +474,7 @@ static void __init anubis_map_io(void) | |||
468 | 474 | ||
469 | static void __init anubis_init(void) | 475 | static void __init anubis_init(void) |
470 | { | 476 | { |
477 | s3c_i2c0_set_platdata(NULL); | ||
471 | platform_add_devices(anubis_devices, ARRAY_SIZE(anubis_devices)); | 478 | platform_add_devices(anubis_devices, ARRAY_SIZE(anubis_devices)); |
472 | 479 | ||
473 | i2c_register_board_info(0, anubis_i2c_devs, | 480 | i2c_register_board_info(0, anubis_i2c_devs, |
diff --git a/arch/arm/mach-s3c2440/mach-at2440evb.c b/arch/arm/mach-s3c2440/mach-at2440evb.c index 66876c6f2f1c..0a6d0a5d961b 100644 --- a/arch/arm/mach-s3c2440/mach-at2440evb.c +++ b/arch/arm/mach-s3c2440/mach-at2440evb.c | |||
@@ -28,6 +28,7 @@ | |||
28 | #include <asm/mach/irq.h> | 28 | #include <asm/mach/irq.h> |
29 | 29 | ||
30 | #include <mach/hardware.h> | 30 | #include <mach/hardware.h> |
31 | #include <mach/fb.h> | ||
31 | #include <asm/irq.h> | 32 | #include <asm/irq.h> |
32 | #include <asm/mach-types.h> | 33 | #include <asm/mach-types.h> |
33 | 34 | ||
@@ -35,7 +36,8 @@ | |||
35 | #include <mach/regs-gpio.h> | 36 | #include <mach/regs-gpio.h> |
36 | #include <mach/regs-mem.h> | 37 | #include <mach/regs-mem.h> |
37 | #include <mach/regs-lcd.h> | 38 | #include <mach/regs-lcd.h> |
38 | #include <asm/plat-s3c/nand.h> | 39 | #include <plat/nand.h> |
40 | #include <plat/iic.h> | ||
39 | 41 | ||
40 | #include <linux/mtd/mtd.h> | 42 | #include <linux/mtd/mtd.h> |
41 | #include <linux/mtd/nand.h> | 43 | #include <linux/mtd/nand.h> |
@@ -45,6 +47,7 @@ | |||
45 | #include <plat/clock.h> | 47 | #include <plat/clock.h> |
46 | #include <plat/devs.h> | 48 | #include <plat/devs.h> |
47 | #include <plat/cpu.h> | 49 | #include <plat/cpu.h> |
50 | #include <asm/plat-s3c24xx/mci.h> | ||
48 | 51 | ||
49 | static struct map_desc at2440evb_iodesc[] __initdata = { | 52 | static struct map_desc at2440evb_iodesc[] __initdata = { |
50 | /* Nothing here */ | 53 | /* Nothing here */ |
@@ -162,19 +165,60 @@ static struct platform_device at2440evb_device_eth = { | |||
162 | }, | 165 | }, |
163 | }; | 166 | }; |
164 | 167 | ||
168 | static struct s3c24xx_mci_pdata at2440evb_mci_pdata = { | ||
169 | .gpio_detect = S3C2410_GPG10, | ||
170 | }; | ||
171 | |||
172 | /* 7" LCD panel */ | ||
173 | |||
174 | static struct s3c2410fb_display at2440evb_lcd_cfg __initdata = { | ||
175 | |||
176 | .lcdcon5 = S3C2410_LCDCON5_FRM565 | | ||
177 | S3C2410_LCDCON5_INVVLINE | | ||
178 | S3C2410_LCDCON5_INVVFRAME | | ||
179 | S3C2410_LCDCON5_PWREN | | ||
180 | S3C2410_LCDCON5_HWSWP, | ||
181 | |||
182 | .type = S3C2410_LCDCON1_TFT, | ||
183 | |||
184 | .width = 800, | ||
185 | .height = 480, | ||
186 | |||
187 | .pixclock = 33333, /* HCLK 60 MHz, divisor 2 */ | ||
188 | .xres = 800, | ||
189 | .yres = 480, | ||
190 | .bpp = 16, | ||
191 | .left_margin = 88, | ||
192 | .right_margin = 40, | ||
193 | .hsync_len = 128, | ||
194 | .upper_margin = 32, | ||
195 | .lower_margin = 11, | ||
196 | .vsync_len = 2, | ||
197 | }; | ||
198 | |||
199 | static struct s3c2410fb_mach_info at2440evb_fb_info __initdata = { | ||
200 | .displays = &at2440evb_lcd_cfg, | ||
201 | .num_displays = 1, | ||
202 | .default_display = 0, | ||
203 | }; | ||
204 | |||
165 | static struct platform_device *at2440evb_devices[] __initdata = { | 205 | static struct platform_device *at2440evb_devices[] __initdata = { |
166 | &s3c_device_usb, | 206 | &s3c_device_usb, |
167 | &s3c_device_wdt, | 207 | &s3c_device_wdt, |
168 | &s3c_device_adc, | 208 | &s3c_device_adc, |
169 | &s3c_device_i2c, | 209 | &s3c_device_i2c0, |
170 | &s3c_device_rtc, | 210 | &s3c_device_rtc, |
171 | &s3c_device_nand, | 211 | &s3c_device_nand, |
212 | &s3c_device_sdi, | ||
213 | &s3c_device_lcd, | ||
172 | &at2440evb_device_eth, | 214 | &at2440evb_device_eth, |
173 | }; | 215 | }; |
174 | 216 | ||
175 | static void __init at2440evb_map_io(void) | 217 | static void __init at2440evb_map_io(void) |
176 | { | 218 | { |
177 | s3c_device_nand.dev.platform_data = &at2440evb_nand_info; | 219 | s3c_device_nand.dev.platform_data = &at2440evb_nand_info; |
220 | s3c_device_sdi.name = "s3c2440-sdi"; | ||
221 | s3c_device_sdi.dev.platform_data = &at2440evb_mci_pdata; | ||
178 | 222 | ||
179 | s3c24xx_init_io(at2440evb_iodesc, ARRAY_SIZE(at2440evb_iodesc)); | 223 | s3c24xx_init_io(at2440evb_iodesc, ARRAY_SIZE(at2440evb_iodesc)); |
180 | s3c24xx_init_clocks(16934400); | 224 | s3c24xx_init_clocks(16934400); |
@@ -183,6 +227,9 @@ static void __init at2440evb_map_io(void) | |||
183 | 227 | ||
184 | static void __init at2440evb_init(void) | 228 | static void __init at2440evb_init(void) |
185 | { | 229 | { |
230 | s3c24xx_fb_set_platdata(&at2440evb_fb_info); | ||
231 | s3c_i2c0_set_platdata(NULL); | ||
232 | |||
186 | platform_add_devices(at2440evb_devices, ARRAY_SIZE(at2440evb_devices)); | 233 | platform_add_devices(at2440evb_devices, ARRAY_SIZE(at2440evb_devices)); |
187 | } | 234 | } |
188 | 235 | ||
diff --git a/arch/arm/mach-s3c2440/mach-nexcoder.c b/arch/arm/mach-s3c2440/mach-nexcoder.c index a546307fd53d..7aeaa972d7f5 100644 --- a/arch/arm/mach-s3c2440/mach-nexcoder.c +++ b/arch/arm/mach-s3c2440/mach-nexcoder.c | |||
@@ -37,6 +37,7 @@ | |||
37 | //#include <asm/debug-ll.h> | 37 | //#include <asm/debug-ll.h> |
38 | #include <mach/regs-gpio.h> | 38 | #include <mach/regs-gpio.h> |
39 | #include <plat/regs-serial.h> | 39 | #include <plat/regs-serial.h> |
40 | #include <plat/iic.h> | ||
40 | 41 | ||
41 | #include <plat/s3c2410.h> | 42 | #include <plat/s3c2410.h> |
42 | #include <plat/s3c2440.h> | 43 | #include <plat/s3c2440.h> |
@@ -107,7 +108,7 @@ static struct platform_device *nexcoder_devices[] __initdata = { | |||
107 | &s3c_device_usb, | 108 | &s3c_device_usb, |
108 | &s3c_device_lcd, | 109 | &s3c_device_lcd, |
109 | &s3c_device_wdt, | 110 | &s3c_device_wdt, |
110 | &s3c_device_i2c, | 111 | &s3c_device_i2c0, |
111 | &s3c_device_iis, | 112 | &s3c_device_iis, |
112 | &s3c_device_rtc, | 113 | &s3c_device_rtc, |
113 | &s3c_device_camif, | 114 | &s3c_device_camif, |
@@ -142,6 +143,7 @@ static void __init nexcoder_map_io(void) | |||
142 | 143 | ||
143 | static void __init nexcoder_init(void) | 144 | static void __init nexcoder_init(void) |
144 | { | 145 | { |
146 | s3c_i2c0_set_platdata(NULL); | ||
145 | platform_add_devices(nexcoder_devices, ARRAY_SIZE(nexcoder_devices)); | 147 | platform_add_devices(nexcoder_devices, ARRAY_SIZE(nexcoder_devices)); |
146 | }; | 148 | }; |
147 | 149 | ||
diff --git a/arch/arm/mach-s3c2440/mach-osiris.c b/arch/arm/mach-s3c2440/mach-osiris.c index 2361d606abc5..41a00f57e5da 100644 --- a/arch/arm/mach-s3c2440/mach-osiris.c +++ b/arch/arm/mach-s3c2440/mach-osiris.c | |||
@@ -37,7 +37,8 @@ | |||
37 | #include <mach/regs-gpio.h> | 37 | #include <mach/regs-gpio.h> |
38 | #include <mach/regs-mem.h> | 38 | #include <mach/regs-mem.h> |
39 | #include <mach/regs-lcd.h> | 39 | #include <mach/regs-lcd.h> |
40 | #include <asm/plat-s3c/nand.h> | 40 | #include <plat/nand.h> |
41 | #include <plat/iic.h> | ||
41 | 42 | ||
42 | #include <linux/mtd/mtd.h> | 43 | #include <linux/mtd/mtd.h> |
43 | #include <linux/mtd/nand.h> | 44 | #include <linux/mtd/nand.h> |
@@ -335,7 +336,7 @@ static struct i2c_board_info osiris_i2c_devs[] __initdata = { | |||
335 | /* Standard Osiris devices */ | 336 | /* Standard Osiris devices */ |
336 | 337 | ||
337 | static struct platform_device *osiris_devices[] __initdata = { | 338 | static struct platform_device *osiris_devices[] __initdata = { |
338 | &s3c_device_i2c, | 339 | &s3c_device_i2c0, |
339 | &s3c_device_wdt, | 340 | &s3c_device_wdt, |
340 | &s3c_device_nand, | 341 | &s3c_device_nand, |
341 | &osiris_pcmcia, | 342 | &osiris_pcmcia, |
@@ -398,6 +399,8 @@ static void __init osiris_init(void) | |||
398 | sysdev_class_register(&osiris_pm_sysclass); | 399 | sysdev_class_register(&osiris_pm_sysclass); |
399 | sysdev_register(&osiris_pm_sysdev); | 400 | sysdev_register(&osiris_pm_sysdev); |
400 | 401 | ||
402 | s3c_i2c0_set_platdata(NULL); | ||
403 | |||
401 | i2c_register_board_info(0, osiris_i2c_devs, | 404 | i2c_register_board_info(0, osiris_i2c_devs, |
402 | ARRAY_SIZE(osiris_i2c_devs)); | 405 | ARRAY_SIZE(osiris_i2c_devs)); |
403 | 406 | ||
diff --git a/arch/arm/mach-s3c2440/mach-rx3715.c b/arch/arm/mach-s3c2440/mach-rx3715.c index 4d14c7cff892..12d378f84ad2 100644 --- a/arch/arm/mach-s3c2440/mach-rx3715.c +++ b/arch/arm/mach-s3c2440/mach-rx3715.c | |||
@@ -42,7 +42,7 @@ | |||
42 | #include <mach/regs-lcd.h> | 42 | #include <mach/regs-lcd.h> |
43 | 43 | ||
44 | #include <mach/h1940.h> | 44 | #include <mach/h1940.h> |
45 | #include <asm/plat-s3c/nand.h> | 45 | #include <plat/nand.h> |
46 | #include <mach/fb.h> | 46 | #include <mach/fb.h> |
47 | 47 | ||
48 | #include <plat/clock.h> | 48 | #include <plat/clock.h> |
@@ -179,7 +179,7 @@ static struct platform_device *rx3715_devices[] __initdata = { | |||
179 | &s3c_device_usb, | 179 | &s3c_device_usb, |
180 | &s3c_device_lcd, | 180 | &s3c_device_lcd, |
181 | &s3c_device_wdt, | 181 | &s3c_device_wdt, |
182 | &s3c_device_i2c, | 182 | &s3c_device_i2c0, |
183 | &s3c_device_iis, | 183 | &s3c_device_iis, |
184 | &s3c_device_nand, | 184 | &s3c_device_nand, |
185 | }; | 185 | }; |
diff --git a/arch/arm/mach-s3c2440/mach-smdk2440.c b/arch/arm/mach-s3c2440/mach-smdk2440.c index fefeaaa4155f..db6eafbd4d90 100644 --- a/arch/arm/mach-s3c2440/mach-smdk2440.c +++ b/arch/arm/mach-s3c2440/mach-smdk2440.c | |||
@@ -37,6 +37,7 @@ | |||
37 | 37 | ||
38 | #include <mach/idle.h> | 38 | #include <mach/idle.h> |
39 | #include <mach/fb.h> | 39 | #include <mach/fb.h> |
40 | #include <plat/iic.h> | ||
40 | 41 | ||
41 | #include <plat/s3c2410.h> | 42 | #include <plat/s3c2410.h> |
42 | #include <plat/s3c2440.h> | 43 | #include <plat/s3c2440.h> |
@@ -152,7 +153,7 @@ static struct platform_device *smdk2440_devices[] __initdata = { | |||
152 | &s3c_device_usb, | 153 | &s3c_device_usb, |
153 | &s3c_device_lcd, | 154 | &s3c_device_lcd, |
154 | &s3c_device_wdt, | 155 | &s3c_device_wdt, |
155 | &s3c_device_i2c, | 156 | &s3c_device_i2c0, |
156 | &s3c_device_iis, | 157 | &s3c_device_iis, |
157 | }; | 158 | }; |
158 | 159 | ||
@@ -166,6 +167,7 @@ static void __init smdk2440_map_io(void) | |||
166 | static void __init smdk2440_machine_init(void) | 167 | static void __init smdk2440_machine_init(void) |
167 | { | 168 | { |
168 | s3c24xx_fb_set_platdata(&smdk2440_fb_info); | 169 | s3c24xx_fb_set_platdata(&smdk2440_fb_info); |
170 | s3c_i2c0_set_platdata(NULL); | ||
169 | 171 | ||
170 | platform_add_devices(smdk2440_devices, ARRAY_SIZE(smdk2440_devices)); | 172 | platform_add_devices(smdk2440_devices, ARRAY_SIZE(smdk2440_devices)); |
171 | smdk_machine_init(); | 173 | smdk_machine_init(); |