mirror of
https://github.com/adulau/aha.git
synced 2024-12-29 12:16:20 +00:00
[Blackfin] arch: Encourage users to use the spidev character driver: Provide platform support
- Enable kernel generic spidev driver for blackfin SPI ADC - spi_adc driver, document and test sample not synced Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
This commit is contained in:
parent
8b01eaff4f
commit
6e668936db
7 changed files with 103 additions and 38 deletions
|
@ -517,6 +517,14 @@ static struct bfin5xx_spi_chip spi_wm8731_chip_info = {
|
|||
.bits_per_word = 16,
|
||||
};
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_SPI_SPIDEV) || defined(CONFIG_SPI_SPIDEV_MODULE)
|
||||
static struct bfin5xx_spi_chip spidev_chip_info = {
|
||||
.enable_dma = 0,
|
||||
.bits_per_word = 8,
|
||||
};
|
||||
#endif
|
||||
|
||||
static struct spi_board_info bfin_spi_board_info[] __initdata = {
|
||||
#if defined(CONFIG_MTD_M25P80) \
|
||||
|| defined(CONFIG_MTD_M25P80_MODULE)
|
||||
|
@ -634,6 +642,15 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = {
|
|||
.mode = SPI_MODE_0,
|
||||
},
|
||||
#endif
|
||||
#if defined(CONFIG_SPI_SPIDEV) || defined(CONFIG_SPI_SPIDEV_MODULE)
|
||||
{
|
||||
.modalias = "spidev",
|
||||
.max_speed_hz = 3125000, /* max spi clock (SCK) speed in HZ */
|
||||
.bus_num = 0,
|
||||
.chip_select = 1,
|
||||
.controller_data = &spidev_chip_info,
|
||||
},
|
||||
#endif
|
||||
};
|
||||
|
||||
/* SPI controller data */
|
||||
|
|
|
@ -134,6 +134,13 @@ static struct bfin5xx_spi_chip ad1836_spi_chip_info = {
|
|||
};
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_SPI_SPIDEV) || defined(CONFIG_SPI_SPIDEV_MODULE)
|
||||
static struct bfin5xx_spi_chip spidev_chip_info = {
|
||||
.enable_dma = 0,
|
||||
.bits_per_word = 8,
|
||||
};
|
||||
#endif
|
||||
|
||||
static struct spi_board_info bfin_spi_board_info[] __initdata = {
|
||||
#if defined(CONFIG_MTD_M25P80) || defined(CONFIG_MTD_M25P80_MODULE)
|
||||
{
|
||||
|
@ -168,6 +175,15 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = {
|
|||
.controller_data = &ad1836_spi_chip_info,
|
||||
},
|
||||
#endif
|
||||
#if defined(CONFIG_SPI_SPIDEV) || defined(CONFIG_SPI_SPIDEV_MODULE)
|
||||
{
|
||||
.modalias = "spidev",
|
||||
.max_speed_hz = 3125000, /* max spi clock (SCK) speed in HZ */
|
||||
.bus_num = 0,
|
||||
.chip_select = 1,
|
||||
.controller_data = &spidev_chip_info,
|
||||
},
|
||||
#endif
|
||||
};
|
||||
|
||||
/* SPI (0) */
|
||||
|
|
|
@ -226,6 +226,13 @@ static struct bfin5xx_spi_chip spi_mmc_chip_info = {
|
|||
};
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_SPI_SPIDEV) || defined(CONFIG_SPI_SPIDEV_MODULE)
|
||||
static struct bfin5xx_spi_chip spidev_chip_info = {
|
||||
.enable_dma = 0,
|
||||
.bits_per_word = 8,
|
||||
};
|
||||
#endif
|
||||
|
||||
static struct spi_board_info bfin_spi_board_info[] __initdata = {
|
||||
#if defined(CONFIG_MTD_M25P80) || defined(CONFIG_MTD_M25P80_MODULE)
|
||||
{
|
||||
|
@ -312,6 +319,15 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = {
|
|||
.mode = SPI_MODE_2,
|
||||
},
|
||||
#endif
|
||||
#if defined(CONFIG_SPI_SPIDEV) || defined(CONFIG_SPI_SPIDEV_MODULE)
|
||||
{
|
||||
.modalias = "spidev",
|
||||
.max_speed_hz = 3125000, /* max spi clock (SCK) speed in HZ */
|
||||
.bus_num = 0,
|
||||
.chip_select = 1,
|
||||
.controller_data = &spidev_chip_info,
|
||||
},
|
||||
#endif
|
||||
};
|
||||
|
||||
/* SPI (0) */
|
||||
|
|
|
@ -487,6 +487,13 @@ static const struct ad7877_platform_data bfin_ad7877_ts_info = {
|
|||
};
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_SPI_SPIDEV) || defined(CONFIG_SPI_SPIDEV_MODULE)
|
||||
static struct bfin5xx_spi_chip spidev_chip_info = {
|
||||
.enable_dma = 0,
|
||||
.bits_per_word = 8,
|
||||
};
|
||||
#endif
|
||||
|
||||
static struct spi_board_info bfin_spi_board_info[] __initdata = {
|
||||
#if defined(CONFIG_MTD_M25P80) \
|
||||
|| defined(CONFIG_MTD_M25P80_MODULE)
|
||||
|
@ -593,6 +600,15 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = {
|
|||
.controller_data = &spi_ad7877_chip_info,
|
||||
},
|
||||
#endif
|
||||
#if defined(CONFIG_SPI_SPIDEV) || defined(CONFIG_SPI_SPIDEV_MODULE)
|
||||
{
|
||||
.modalias = "spidev",
|
||||
.max_speed_hz = 3125000, /* max spi clock (SCK) speed in HZ */
|
||||
.bus_num = 0,
|
||||
.chip_select = 1,
|
||||
.controller_data = &spidev_chip_info,
|
||||
},
|
||||
#endif
|
||||
};
|
||||
|
||||
/* SPI controller data */
|
||||
|
|
|
@ -420,6 +420,13 @@ static const struct ad7877_platform_data bfin_ad7877_ts_info = {
|
|||
};
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_SPI_SPIDEV) || defined(CONFIG_SPI_SPIDEV_MODULE)
|
||||
static struct bfin5xx_spi_chip spidev_chip_info = {
|
||||
.enable_dma = 0,
|
||||
.bits_per_word = 8,
|
||||
};
|
||||
#endif
|
||||
|
||||
static struct spi_board_info bf54x_spi_board_info[] __initdata = {
|
||||
#if defined(CONFIG_MTD_M25P80) \
|
||||
|| defined(CONFIG_MTD_M25P80_MODULE)
|
||||
|
@ -445,6 +452,15 @@ static struct spi_board_info bf54x_spi_board_info[] __initdata = {
|
|||
.controller_data = &spi_ad7877_chip_info,
|
||||
},
|
||||
#endif
|
||||
#if defined(CONFIG_SPI_SPIDEV) || defined(CONFIG_SPI_SPIDEV_MODULE)
|
||||
{
|
||||
.modalias = "spidev",
|
||||
.max_speed_hz = 3125000, /* max spi clock (SCK) speed in HZ */
|
||||
.bus_num = 0,
|
||||
.chip_select = 1,
|
||||
.controller_data = &spidev_chip_info,
|
||||
},
|
||||
#endif
|
||||
};
|
||||
|
||||
/* SPI (0) */
|
||||
|
|
|
@ -266,6 +266,13 @@ static struct bfin5xx_spi_chip ad1836_spi_chip_info = {
|
|||
.bits_per_word = 16,
|
||||
};
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_SPI_SPIDEV) || defined(CONFIG_SPI_SPIDEV_MODULE)
|
||||
static struct bfin5xx_spi_chip spidev_chip_info = {
|
||||
.enable_dma = 0,
|
||||
.bits_per_word = 8,
|
||||
};
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* SPI (0) */
|
||||
|
@ -310,6 +317,15 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = {
|
|||
.controller_data = &ad1836_spi_chip_info,
|
||||
},
|
||||
#endif
|
||||
#if defined(CONFIG_SPI_SPIDEV) || defined(CONFIG_SPI_SPIDEV_MODULE)
|
||||
{
|
||||
.modalias = "spidev",
|
||||
.max_speed_hz = 3125000, /* max spi clock (SCK) speed in HZ */
|
||||
.bus_num = 0,
|
||||
.chip_select = 1,
|
||||
.controller_data = &spidev_chip_info,
|
||||
},
|
||||
#endif
|
||||
};
|
||||
|
||||
#if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/************************************************************
|
||||
*
|
||||
* Copyright (C) 2004, Analog Devices. All Rights Reserved
|
||||
|
||||
* Copyright (C) 2006-2008, Analog Devices. All Rights Reserved
|
||||
*
|
||||
* FILE bfin5xx_spi.h
|
||||
* PROGRAMMER(S): Luke Yang (Analog Devices Inc.)
|
||||
|
@ -32,42 +32,6 @@
|
|||
#define SPI_BAUD_OFF 0x14
|
||||
#define SPI_SHAW_OFF 0x18
|
||||
|
||||
#define CMD_SPI_OUT_ENABLE 1
|
||||
#define CMD_SPI_SET_BAUDRATE 2
|
||||
#define CMD_SPI_SET_POLAR 3
|
||||
#define CMD_SPI_SET_PHASE 4
|
||||
#define CMD_SPI_SET_MASTER 5
|
||||
#define CMD_SPI_SET_SENDOPT 6
|
||||
#define CMD_SPI_SET_RECVOPT 7
|
||||
#define CMD_SPI_SET_ORDER 8
|
||||
#define CMD_SPI_SET_LENGTH16 9
|
||||
#define CMD_SPI_GET_STAT 11
|
||||
#define CMD_SPI_GET_CFG 12
|
||||
#define CMD_SPI_SET_CSAVAIL 13
|
||||
#define CMD_SPI_SET_CSHIGH 14 /* CS unavail */
|
||||
#define CMD_SPI_SET_CSLOW 15 /* CS avail */
|
||||
#define CMD_SPI_MISO_ENABLE 16
|
||||
#define CMD_SPI_SET_CSENABLE 17
|
||||
#define CMD_SPI_SET_CSDISABLE 18
|
||||
|
||||
#define CMD_SPI_SET_TRIGGER_MODE 19
|
||||
#define CMD_SPI_SET_TRIGGER_SENSE 20
|
||||
#define CMD_SPI_SET_TRIGGER_EDGE 21
|
||||
#define CMD_SPI_SET_TRIGGER_LEVEL 22
|
||||
|
||||
#define CMD_SPI_SET_TIME_SPS 23
|
||||
#define CMD_SPI_SET_TIME_SAMPLES 24
|
||||
#define CMD_SPI_GET_SYSTEMCLOCK 25
|
||||
|
||||
#define CMD_SPI_SET_WRITECONTINUOUS 26
|
||||
#define CMD_SPI_SET_SKFS 27
|
||||
|
||||
#define CMD_SPI_GET_ALLCONFIG 32 /* For debug */
|
||||
|
||||
#define SPI_DEFAULT_BARD 0x0100
|
||||
|
||||
#define SPI0_IRQ_NUM IRQ_SPI
|
||||
#define SPI_ERR_TRIG -1
|
||||
|
||||
#define BIT_CTL_ENABLE 0x4000
|
||||
#define BIT_CTL_OPENDRAIN 0x2000
|
||||
|
@ -148,6 +112,10 @@
|
|||
#define CFG_SPI_CS6VALUE 6
|
||||
#define CFG_SPI_CS7VALUE 7
|
||||
|
||||
#define CMD_SPI_SET_BAUDRATE 2
|
||||
#define CMD_SPI_GET_SYSTEMCLOCK 25
|
||||
#define CMD_SPI_SET_WRITECONTINUOUS 26
|
||||
|
||||
/* device.platform_data for SSP controller devices */
|
||||
struct bfin5xx_spi_master {
|
||||
u16 num_chipselect;
|
||||
|
|
Loading…
Reference in a new issue