2 * Copyright (C) 2005 Stephen Street / StreetFire Sound Labs
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.
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.
14 #ifndef __linux_pxa2xx_spi_h
15 #define __linux_pxa2xx_spi_h
17 #include <linux/pxa2xx_ssp.h>
19 #define PXA2XX_CS_ASSERT (0x01)
20 #define PXA2XX_CS_DEASSERT (0x02)
24 /* device.platform_data for SSP controller devices */
25 struct pxa2xx_spi_master
{
29 /* DMA engine specific config */
30 bool (*dma_filter
)(struct dma_chan
*chan
, void *param
);
34 /* For non-PXA arches */
35 struct ssp_device ssp
;
38 /* spi_board_info.controller_data for SPI slave devices,
39 * copied to spi_device.platform_data ... mostly for dma tuning
41 struct pxa2xx_spi_chip
{
49 void (*cs_control
)(u32 command
);
52 #if defined(CONFIG_ARCH_PXA) || defined(CONFIG_ARCH_MMP)
54 #include <linux/clk.h>
56 extern void pxa2xx_set_spi_info(unsigned id
, struct pxa2xx_spi_master
*info
);