diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-12 17:17:12 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-12 17:17:12 -0400 |
commit | 4aabab2181f20560948c2045ce1faaa9ac1507a8 (patch) | |
tree | 6556e126687c9cbb4b4a35a8ad8c327df30ac256 /arch/arm/mach-s3c2410/mach-bast.c | |
parent | bb50cbbd4beacd5ceda76c32fcb116c67fe8c66c (diff) | |
parent | ca9ced7f6798868f9d2c81a59b49f8c2136685d8 (diff) |
Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm
* 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (50 commits)
[ARM] sa1100: remove boot time RTC initialisation
[ARM] sa1100: stop doing our own rtc management over suspend
[ARM] 4474/1: Do not check the PSR_F_BIT in valid_user_regs
[ARM] 4473/2: Take the HWCAP definitions out of the elf.h file
[ARM] pxa: move platform devices to separate header file
[ARM] pxa: move device registration into CPU-specific file
[ARM] pxa: remove boot time RTC initialisation
[ARM] pxa: stop doing our own rtc management over suspend
[ARM] 4451/1: pxa: make dma.c generic and remove cpu specific dma code
[ARM] 4450/1: pxa: add pxa25x_init_irq() and pxa27x_init_irq()
[ARM] 4440/1: PXA: enable the checking of ICIP2 for IRQs
[ARM] 4438/1: PXA: remove #ifdef .. #endif from pxa_gpio_demux_handler()
[ARM] 4437/1: PXA: move the GPIO IRQ initialization code to pxa_init_irq_gpio()
[ARM] 4436/1: PXA: move low IRQ initialization code to pxa_init_irq_low()
[ARM] 4435/1: PXA: remove PXA_INTERNAL_IRQS
[ARM] 4434/1: PXA: remove PXA_IRQ_SKIP
[ARM] pxa: Fix PXA27x suspend type validation, remove pxa_pm_prepare()
[ARM] pxa: move pm_ops structure into CPU specific files
[ARM] pxa: introduce cpu_is_pxaXXX macros
[ARM] pxa: remove MMC register defines from pxa-regs.h
...
Diffstat (limited to 'arch/arm/mach-s3c2410/mach-bast.c')
-rw-r--r-- | arch/arm/mach-s3c2410/mach-bast.c | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/arch/arm/mach-s3c2410/mach-bast.c b/arch/arm/mach-s3c2410/mach-bast.c index f01de807b72f..8b52ea95d4f6 100644 --- a/arch/arm/mach-s3c2410/mach-bast.c +++ b/arch/arm/mach-s3c2410/mach-bast.c | |||
@@ -20,6 +20,8 @@ | |||
20 | #include <linux/platform_device.h> | 20 | #include <linux/platform_device.h> |
21 | #include <linux/dm9000.h> | 21 | #include <linux/dm9000.h> |
22 | 22 | ||
23 | #include <net/ax88796.h> | ||
24 | |||
23 | #include <asm/mach/arch.h> | 25 | #include <asm/mach/arch.h> |
24 | #include <asm/mach/map.h> | 26 | #include <asm/mach/map.h> |
25 | #include <asm/mach/irq.h> | 27 | #include <asm/mach/irq.h> |
@@ -409,6 +411,61 @@ static struct s3c2410_platform_i2c bast_i2c_info = { | |||
409 | .max_freq = 130*1000, | 411 | .max_freq = 130*1000, |
410 | }; | 412 | }; |
411 | 413 | ||
414 | /* Asix AX88796 10/100 ethernet controller */ | ||
415 | |||
416 | static struct ax_plat_data bast_asix_platdata = { | ||
417 | .flags = AXFLG_MAC_FROMDEV, | ||
418 | .wordlength = 2, | ||
419 | .dcr_val = 0x48, | ||
420 | .rcr_val = 0x40, | ||
421 | }; | ||
422 | |||
423 | static struct resource bast_asix_resource[] = { | ||
424 | [0] = { | ||
425 | .start = S3C2410_CS5 + BAST_PA_ASIXNET, | ||
426 | .end = S3C2410_CS5 + BAST_PA_ASIXNET + (0x18 * 0x20) - 1, | ||
427 | .flags = IORESOURCE_MEM, | ||
428 | }, | ||
429 | [1] = { | ||
430 | .start = S3C2410_CS5 + BAST_PA_ASIXNET + (0x1f * 0x20), | ||
431 | .end = S3C2410_CS5 + BAST_PA_ASIXNET + (0x1f * 0x20), | ||
432 | .flags = IORESOURCE_MEM, | ||
433 | }, | ||
434 | [2] = { | ||
435 | .start = IRQ_ASIX, | ||
436 | .end = IRQ_ASIX, | ||
437 | .flags = IORESOURCE_IRQ | ||
438 | } | ||
439 | }; | ||
440 | |||
441 | static struct platform_device bast_device_asix = { | ||
442 | .name = "ax88796", | ||
443 | .id = 0, | ||
444 | .num_resources = ARRAY_SIZE(bast_asix_resource), | ||
445 | .resource = bast_asix_resource, | ||
446 | .dev = { | ||
447 | .platform_data = &bast_asix_platdata | ||
448 | } | ||
449 | }; | ||
450 | |||
451 | /* Asix AX88796 10/100 ethernet controller parallel port */ | ||
452 | |||
453 | static struct resource bast_asixpp_resource[] = { | ||
454 | [0] = { | ||
455 | .start = S3C2410_CS5 + BAST_PA_ASIXNET + (0x18 * 0x20), | ||
456 | .end = S3C2410_CS5 + BAST_PA_ASIXNET + (0x1b * 0x20) - 1, | ||
457 | .flags = IORESOURCE_MEM, | ||
458 | } | ||
459 | }; | ||
460 | |||
461 | static struct platform_device bast_device_axpp = { | ||
462 | .name = "ax88796-pp", | ||
463 | .id = 0, | ||
464 | .num_resources = ARRAY_SIZE(bast_asixpp_resource), | ||
465 | .resource = bast_asixpp_resource, | ||
466 | }; | ||
467 | |||
468 | /* LCD/VGA controller */ | ||
412 | 469 | ||
413 | static struct s3c2410fb_mach_info __initdata bast_lcd_info = { | 470 | static struct s3c2410fb_mach_info __initdata bast_lcd_info = { |
414 | .width = 640, | 471 | .width = 640, |
@@ -453,6 +510,8 @@ static struct platform_device *bast_devices[] __initdata = { | |||
453 | &s3c_device_nand, | 510 | &s3c_device_nand, |
454 | &bast_device_nor, | 511 | &bast_device_nor, |
455 | &bast_device_dm9k, | 512 | &bast_device_dm9k, |
513 | &bast_device_asix, | ||
514 | &bast_device_axpp, | ||
456 | &bast_sio, | 515 | &bast_sio, |
457 | }; | 516 | }; |
458 | 517 | ||