diff options
Diffstat (limited to 'arch/blackfin/mach-bf537/boards/stamp.c')
-rw-r--r-- | arch/blackfin/mach-bf537/boards/stamp.c | 40 |
1 files changed, 33 insertions, 7 deletions
diff --git a/arch/blackfin/mach-bf537/boards/stamp.c b/arch/blackfin/mach-bf537/boards/stamp.c index d3727b7c2d7d..671f9d67f23a 100644 --- a/arch/blackfin/mach-bf537/boards/stamp.c +++ b/arch/blackfin/mach-bf537/boards/stamp.c | |||
@@ -47,6 +47,7 @@ | |||
47 | #include <asm/bfin5xx_spi.h> | 47 | #include <asm/bfin5xx_spi.h> |
48 | #include <asm/reboot.h> | 48 | #include <asm/reboot.h> |
49 | #include <asm/portmux.h> | 49 | #include <asm/portmux.h> |
50 | #include <asm/dpmc.h> | ||
50 | #include <linux/spi/ad7877.h> | 51 | #include <linux/spi/ad7877.h> |
51 | 52 | ||
52 | /* | 53 | /* |
@@ -399,9 +400,6 @@ static struct platform_device stamp_flash_device = { | |||
399 | }; | 400 | }; |
400 | #endif | 401 | #endif |
401 | 402 | ||
402 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) | ||
403 | /* all SPI peripherals info goes here */ | ||
404 | |||
405 | #if defined(CONFIG_MTD_M25P80) \ | 403 | #if defined(CONFIG_MTD_M25P80) \ |
406 | || defined(CONFIG_MTD_M25P80_MODULE) | 404 | || defined(CONFIG_MTD_M25P80_MODULE) |
407 | static struct mtd_partition bfin_spi_flash_partitions[] = { | 405 | static struct mtd_partition bfin_spi_flash_partitions[] = { |
@@ -628,6 +626,7 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = { | |||
628 | #endif | 626 | #endif |
629 | }; | 627 | }; |
630 | 628 | ||
629 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) | ||
631 | /* SPI controller data */ | 630 | /* SPI controller data */ |
632 | static struct bfin5xx_spi_master bfin_spi0_info = { | 631 | static struct bfin5xx_spi_master bfin_spi0_info = { |
633 | .num_chipselect = 8, | 632 | .num_chipselect = 8, |
@@ -817,7 +816,37 @@ static struct platform_device bfin_pata_device = { | |||
817 | }; | 816 | }; |
818 | #endif | 817 | #endif |
819 | 818 | ||
819 | static const unsigned int cclk_vlev_datasheet[] = | ||
820 | { | ||
821 | VRPAIR(VLEV_085, 250000000), | ||
822 | VRPAIR(VLEV_090, 376000000), | ||
823 | VRPAIR(VLEV_095, 426000000), | ||
824 | VRPAIR(VLEV_100, 426000000), | ||
825 | VRPAIR(VLEV_105, 476000000), | ||
826 | VRPAIR(VLEV_110, 476000000), | ||
827 | VRPAIR(VLEV_115, 476000000), | ||
828 | VRPAIR(VLEV_120, 500000000), | ||
829 | VRPAIR(VLEV_125, 533000000), | ||
830 | VRPAIR(VLEV_130, 600000000), | ||
831 | }; | ||
832 | |||
833 | static struct bfin_dpmc_platform_data bfin_dmpc_vreg_data = { | ||
834 | .tuple_tab = cclk_vlev_datasheet, | ||
835 | .tabsize = ARRAY_SIZE(cclk_vlev_datasheet), | ||
836 | .vr_settling_time = 25 /* us */, | ||
837 | }; | ||
838 | |||
839 | static struct platform_device bfin_dpmc = { | ||
840 | .name = "bfin dpmc", | ||
841 | .dev = { | ||
842 | .platform_data = &bfin_dmpc_vreg_data, | ||
843 | }, | ||
844 | }; | ||
845 | |||
820 | static struct platform_device *stamp_devices[] __initdata = { | 846 | static struct platform_device *stamp_devices[] __initdata = { |
847 | |||
848 | &bfin_dpmc, | ||
849 | |||
821 | #if defined(CONFIG_BFIN_CFPCMCIA) || defined(CONFIG_BFIN_CFPCMCIA_MODULE) | 850 | #if defined(CONFIG_BFIN_CFPCMCIA) || defined(CONFIG_BFIN_CFPCMCIA_MODULE) |
822 | &bfin_pcmcia_cf_device, | 851 | &bfin_pcmcia_cf_device, |
823 | #endif | 852 | #endif |
@@ -908,10 +937,7 @@ static int __init stamp_init(void) | |||
908 | #endif | 937 | #endif |
909 | 938 | ||
910 | platform_add_devices(stamp_devices, ARRAY_SIZE(stamp_devices)); | 939 | platform_add_devices(stamp_devices, ARRAY_SIZE(stamp_devices)); |
911 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) | 940 | spi_register_board_info(bfin_spi_board_info, ARRAY_SIZE(bfin_spi_board_info)); |
912 | spi_register_board_info(bfin_spi_board_info, | ||
913 | ARRAY_SIZE(bfin_spi_board_info)); | ||
914 | #endif | ||
915 | 941 | ||
916 | #if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE) | 942 | #if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE) |
917 | irq_desc[PATA_INT].status |= IRQ_NOAUTOEN; | 943 | irq_desc[PATA_INT].status |= IRQ_NOAUTOEN; |