1 /* 2 * Copyright (C) 2005 Stephen Street / StreetFire Sound Labs 3 * 4 * This program is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License as published by 6 * the Free Software Foundation; either version 2 of the License, or 7 * (at your option) any later version. 8 * 9 * This program is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 * GNU General Public License for more details. 13 * 14 * You should have received a copy of the GNU General Public License 15 * along with this program; if not, write to the Free Software 16 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 17 */ 18 19 #ifndef PXA2XX_SPI_H_ 20 #define PXA2XX_SPI_H_ 21 22 #define PXA2XX_CS_ASSERT (0x01) 23 #define PXA2XX_CS_DEASSERT (0x02) 24 25 /* device.platform_data for SSP controller devices */ 26 struct pxa2xx_spi_master { 27 u32 clock_enable; 28 u16 num_chipselect; 29 u8 enable_dma; 30 }; 31 32 /* spi_board_info.controller_data for SPI slave devices, 33 * copied to spi_device.platform_data ... mostly for dma tuning 34 */ 35 struct pxa2xx_spi_chip { 36 u8 tx_threshold; 37 u8 rx_threshold; 38 u8 dma_burst_size; 39 u32 timeout; 40 u8 enable_loopback; 41 void (*cs_control)(u32 command); 42 }; 43 44 extern void pxa2xx_set_spi_info(unsigned id, struct pxa2xx_spi_master *info); 45 46 #endif /*PXA2XX_SPI_H_*/ 47