diff options
author | Cliff Cai <cliff.cai@analog.com> | 2009-01-07 10:14:38 -0500 |
---|---|---|
committer | Bryan Wu <cooloney@kernel.org> | 2009-01-07 10:14:38 -0500 |
commit | 501674a593e7cffc416bc15c99ed9589316406d8 (patch) | |
tree | 5fa5ebead5efe7bdff14782ca643902f9416017a /arch | |
parent | e062ceab35801314bfa3e08e7c76faf0045fcf79 (diff) |
Blackfin arch: add SDIO host driver platform data
Signed-off-by: Cliff Cai <cliff.cai@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/blackfin/include/asm/bfin_sdh.h | 19 | ||||
-rw-r--r-- | arch/blackfin/mach-bf518/boards/ezbrd.c | 22 | ||||
-rw-r--r-- | arch/blackfin/mach-bf548/boards/ezkit.c | 11 |
3 files changed, 52 insertions, 0 deletions
diff --git a/arch/blackfin/include/asm/bfin_sdh.h b/arch/blackfin/include/asm/bfin_sdh.h new file mode 100644 index 000000000000..d61d5497c590 --- /dev/null +++ b/arch/blackfin/include/asm/bfin_sdh.h | |||
@@ -0,0 +1,19 @@ | |||
1 | /* | ||
2 | * bfin_sdh.h - Blackfin SDH definitions | ||
3 | * | ||
4 | * Copyright 2008 Analog Devices Inc. | ||
5 | * | ||
6 | * Licensed under the GPL-2 or later. | ||
7 | */ | ||
8 | |||
9 | #ifndef __BFIN_SDH_H__ | ||
10 | #define __BFIN_SDH_H__ | ||
11 | |||
12 | struct bfin_sd_host { | ||
13 | int dma_chan; | ||
14 | int irq_int0; | ||
15 | int irq_int1; | ||
16 | u16 pin_req[7]; | ||
17 | }; | ||
18 | |||
19 | #endif | ||
diff --git a/arch/blackfin/mach-bf518/boards/ezbrd.c b/arch/blackfin/mach-bf518/boards/ezbrd.c index b76953b475da..15f1351c8645 100644 --- a/arch/blackfin/mach-bf518/boards/ezbrd.c +++ b/arch/blackfin/mach-bf518/boards/ezbrd.c | |||
@@ -44,6 +44,7 @@ | |||
44 | #include <asm/reboot.h> | 44 | #include <asm/reboot.h> |
45 | #include <asm/portmux.h> | 45 | #include <asm/portmux.h> |
46 | #include <asm/dpmc.h> | 46 | #include <asm/dpmc.h> |
47 | #include <asm/bfin_sdh.h> | ||
47 | #include <linux/spi/ad7877.h> | 48 | #include <linux/spi/ad7877.h> |
48 | 49 | ||
49 | /* | 50 | /* |
@@ -522,6 +523,23 @@ static struct platform_device bfin_device_gpiokeys = { | |||
522 | }; | 523 | }; |
523 | #endif | 524 | #endif |
524 | 525 | ||
526 | #if defined(CONFIG_SDH_BFIN) || defined(CONFIG_SDH_BFIN_MODULE) | ||
527 | |||
528 | static struct bfin_sd_host bfin_sdh_data = { | ||
529 | .dma_chan = CH_RSI, | ||
530 | .irq_int0 = IRQ_RSI_INT0, | ||
531 | .pin_req = {P_RSI_DATA0, P_RSI_DATA1, P_RSI_DATA2, P_RSI_DATA3, P_RSI_CMD, P_RSI_CLK, 0}, | ||
532 | }; | ||
533 | |||
534 | static struct platform_device bf51x_sdh_device = { | ||
535 | .name = "bfin-sdh", | ||
536 | .id = 0, | ||
537 | .dev = { | ||
538 | .platform_data = &bfin_sdh_data, | ||
539 | }, | ||
540 | }; | ||
541 | #endif | ||
542 | |||
525 | static struct resource bfin_gpios_resources = { | 543 | static struct resource bfin_gpios_resources = { |
526 | .start = 0, | 544 | .start = 0, |
527 | .end = MAX_BLACKFIN_GPIOS - 1, | 545 | .end = MAX_BLACKFIN_GPIOS - 1, |
@@ -600,6 +618,10 @@ static struct platform_device *stamp_devices[] __initdata = { | |||
600 | &bfin_device_gpiokeys, | 618 | &bfin_device_gpiokeys, |
601 | #endif | 619 | #endif |
602 | 620 | ||
621 | #if defined(CONFIG_SDH_BFIN) || defined(CONFIG_SDH_BFIN_MODULE) | ||
622 | &bf51x_sdh_device, | ||
623 | #endif | ||
624 | |||
603 | #if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE) | 625 | #if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE) |
604 | &ezbrd_flash_device, | 626 | &ezbrd_flash_device, |
605 | #endif | 627 | #endif |
diff --git a/arch/blackfin/mach-bf548/boards/ezkit.c b/arch/blackfin/mach-bf548/boards/ezkit.c index 882edd403bd4..d0816817f7c1 100644 --- a/arch/blackfin/mach-bf548/boards/ezkit.c +++ b/arch/blackfin/mach-bf548/boards/ezkit.c | |||
@@ -45,6 +45,7 @@ | |||
45 | #include <asm/nand.h> | 45 | #include <asm/nand.h> |
46 | #include <asm/dpmc.h> | 46 | #include <asm/dpmc.h> |
47 | #include <asm/portmux.h> | 47 | #include <asm/portmux.h> |
48 | #include <asm/bfin_sdh.h> | ||
48 | #include <mach/bf54x_keys.h> | 49 | #include <mach/bf54x_keys.h> |
49 | #include <linux/input.h> | 50 | #include <linux/input.h> |
50 | #include <linux/spi/ad7877.h> | 51 | #include <linux/spi/ad7877.h> |
@@ -504,9 +505,19 @@ static struct platform_device bf5xx_nand_device = { | |||
504 | #endif | 505 | #endif |
505 | 506 | ||
506 | #if defined(CONFIG_SDH_BFIN) || defined(CONFIG_SDH_BFIN_MODULE) | 507 | #if defined(CONFIG_SDH_BFIN) || defined(CONFIG_SDH_BFIN_MODULE) |
508 | |||
509 | static struct bfin_sd_host bfin_sdh_data = { | ||
510 | .dma_chan = CH_SDH, | ||
511 | .irq_int0 = IRQ_SDH_MASK0, | ||
512 | .pin_req = {P_SD_D0, P_SD_D1, P_SD_D2, P_SD_D3, P_SD_CLK, P_SD_CMD, 0}, | ||
513 | }; | ||
514 | |||
507 | static struct platform_device bf54x_sdh_device = { | 515 | static struct platform_device bf54x_sdh_device = { |
508 | .name = "bfin-sdh", | 516 | .name = "bfin-sdh", |
509 | .id = 0, | 517 | .id = 0, |
518 | .dev = { | ||
519 | .platform_data = &bfin_sdh_data, | ||
520 | }, | ||
510 | }; | 521 | }; |
511 | #endif | 522 | #endif |
512 | 523 | ||