diff options
Diffstat (limited to 'arch/blackfin')
-rw-r--r-- | arch/blackfin/mach-bf537/boards/stamp.c | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/arch/blackfin/mach-bf537/boards/stamp.c b/arch/blackfin/mach-bf537/boards/stamp.c index 70349d3817e0..c080c77648fe 100644 --- a/arch/blackfin/mach-bf537/boards/stamp.c +++ b/arch/blackfin/mach-bf537/boards/stamp.c | |||
@@ -796,6 +796,47 @@ static struct bfin5xx_spi_chip enc28j60_spi_chip_info = { | |||
796 | }; | 796 | }; |
797 | #endif | 797 | #endif |
798 | 798 | ||
799 | #if defined(CONFIG_ADF702X) || defined(CONFIG_ADF702X_MODULE) | ||
800 | static struct bfin5xx_spi_chip adf7021_spi_chip_info = { | ||
801 | .bits_per_word = 16, | ||
802 | .cs_gpio = GPIO_PF10, | ||
803 | }; | ||
804 | |||
805 | #include <linux/spi/adf702x.h> | ||
806 | #define TXREG 0x0160A470 | ||
807 | static const u32 adf7021_regs[] = { | ||
808 | 0x09608FA0, | ||
809 | 0x00575011, | ||
810 | 0x00A7F092, | ||
811 | 0x2B141563, | ||
812 | 0x81F29E94, | ||
813 | 0x00003155, | ||
814 | 0x050A4F66, | ||
815 | 0x00000007, | ||
816 | 0x00000008, | ||
817 | 0x000231E9, | ||
818 | 0x3296354A, | ||
819 | 0x891A2B3B, | ||
820 | 0x00000D9C, | ||
821 | 0x0000000D, | ||
822 | 0x0000000E, | ||
823 | 0x0000000F, | ||
824 | }; | ||
825 | |||
826 | static struct adf702x_platform_data adf7021_platform_data = { | ||
827 | .regs_base = (void *)SPORT1_TCR1, | ||
828 | .dma_ch_rx = CH_SPORT1_RX, | ||
829 | .dma_ch_tx = CH_SPORT1_TX, | ||
830 | .irq_sport_err = IRQ_SPORT1_ERROR, | ||
831 | .gpio_int_rfs = GPIO_PF8, | ||
832 | .pin_req = {P_SPORT1_DTPRI, P_SPORT1_RFS, P_SPORT1_DRPRI, | ||
833 | P_SPORT1_RSCLK, P_SPORT1_TSCLK, 0}, | ||
834 | .adf702x_model = MODEL_ADF7021, | ||
835 | .adf702x_regs = adf7021_regs, | ||
836 | .tx_reg = TXREG, | ||
837 | }; | ||
838 | #endif | ||
839 | |||
799 | #if defined(CONFIG_MTD_DATAFLASH) \ | 840 | #if defined(CONFIG_MTD_DATAFLASH) \ |
800 | || defined(CONFIG_MTD_DATAFLASH_MODULE) | 841 | || defined(CONFIG_MTD_DATAFLASH_MODULE) |
801 | 842 | ||
@@ -986,6 +1027,18 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = { | |||
986 | .mode = SPI_MODE_3, | 1027 | .mode = SPI_MODE_3, |
987 | }, | 1028 | }, |
988 | #endif | 1029 | #endif |
1030 | #if defined(CONFIG_ADF702X) || defined(CONFIG_ADF702X_MODULE) | ||
1031 | { | ||
1032 | .modalias = "adf702x", | ||
1033 | .max_speed_hz = 16000000, /* max spi clock (SCK) speed in HZ */ | ||
1034 | .bus_num = 0, | ||
1035 | .chip_select = 0, /* GPIO controlled SSEL */ | ||
1036 | .controller_data = &adf7021_spi_chip_info, | ||
1037 | .platform_data = &adf7021_platform_data, | ||
1038 | .mode = SPI_MODE_0, | ||
1039 | }, | ||
1040 | #endif | ||
1041 | |||
989 | }; | 1042 | }; |
990 | 1043 | ||
991 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) | 1044 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) |