|  | /* | 
|  | * include/asm-arm/arch-imx/spi_imx.h | 
|  | * | 
|  | * Copyright (C) 2006 SWAPP | 
|  | *	Andrea Paterniani <a.paterniani@swapp-eng.it> | 
|  | * | 
|  | * Initial version inspired by: | 
|  | *	linux-2.6.17-rc3-mm1/include/asm-arm/arch-pxa/pxa2xx_spi.h | 
|  | * | 
|  | * This program is free software; you can redistribute it and/or modify | 
|  | * it under the terms of the GNU General Public License as published by | 
|  | * the Free Software Foundation; either version 2 of the License, or | 
|  | * (at your option) any later version. | 
|  | * | 
|  | * This program is distributed in the hope that it will be useful, | 
|  | * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
|  | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
|  | * GNU General Public License for more details. | 
|  | * | 
|  | * You should have received a copy of the GNU General Public License | 
|  | * along with this program; if not, write to the Free Software | 
|  | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | 
|  | */ | 
|  |  | 
|  | #ifndef SPI_IMX_H_ | 
|  | #define SPI_IMX_H_ | 
|  |  | 
|  |  | 
|  | /*-------------------------------------------------------------------------*/ | 
|  | /** | 
|  | * struct spi_imx_master - device.platform_data for SPI controller devices. | 
|  | * @num_chipselect: chipselects are used to distinguish individual | 
|  | *	SPI slaves, and are numbered from zero to num_chipselects - 1. | 
|  | *	each slave has a chipselect signal, but it's common that not | 
|  | *	every chipselect is connected to a slave. | 
|  | * @enable_dma: if true enables DMA driven transfers. | 
|  | */ | 
|  | struct spi_imx_master { | 
|  | u8 num_chipselect; | 
|  | u8 enable_dma:1; | 
|  | }; | 
|  | /*-------------------------------------------------------------------------*/ | 
|  |  | 
|  |  | 
|  | /*-------------------------------------------------------------------------*/ | 
|  | /** | 
|  | * struct spi_imx_chip - spi_board_info.controller_data for SPI | 
|  | * slave devices, copied to spi_device.controller_data. | 
|  | * @enable_loopback : used for test purpouse to internally connect RX and TX | 
|  | *	sections. | 
|  | * @enable_dma : enables dma transfer (provided that controller driver has | 
|  | *	dma enabled too). | 
|  | * @ins_ss_pulse : enable /SS pulse insertion between SPI burst. | 
|  | * @bclk_wait : number of bclk waits between each bits_per_word SPI burst. | 
|  | * @cs_control : function pointer to board-specific function to assert/deassert | 
|  | *	I/O port to control HW generation of devices chip-select. | 
|  | */ | 
|  | struct spi_imx_chip { | 
|  | u8	enable_loopback:1; | 
|  | u8	enable_dma:1; | 
|  | u8	ins_ss_pulse:1; | 
|  | u16	bclk_wait:15; | 
|  | void (*cs_control)(u32 control); | 
|  | }; | 
|  |  | 
|  | /* Chip-select state */ | 
|  | #define SPI_CS_ASSERT			(1 << 0) | 
|  | #define SPI_CS_DEASSERT			(1 << 1) | 
|  | /*-------------------------------------------------------------------------*/ | 
|  |  | 
|  |  | 
|  | #endif /* SPI_IMX_H_*/ |