aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/amba/pl022.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/amba/pl022.h')
-rw-r--r--include/linux/amba/pl022.h13
1 files changed, 6 insertions, 7 deletions
diff --git a/include/linux/amba/pl022.h b/include/linux/amba/pl022.h
index abf26cc47a2b..4ce98f54186b 100644
--- a/include/linux/amba/pl022.h
+++ b/include/linux/amba/pl022.h
@@ -228,6 +228,7 @@ enum ssp_chip_select {
228}; 228};
229 229
230 230
231struct dma_chan;
231/** 232/**
232 * struct pl022_ssp_master - device.platform_data for SPI controller devices. 233 * struct pl022_ssp_master - device.platform_data for SPI controller devices.
233 * @num_chipselect: chipselects are used to distinguish individual 234 * @num_chipselect: chipselects are used to distinguish individual
@@ -235,11 +236,16 @@ enum ssp_chip_select {
235 * each slave has a chipselect signal, but it's common that not 236 * each slave has a chipselect signal, but it's common that not
236 * every chipselect is connected to a slave. 237 * every chipselect is connected to a slave.
237 * @enable_dma: if true enables DMA driven transfers. 238 * @enable_dma: if true enables DMA driven transfers.
239 * @dma_rx_param: parameter to locate an RX DMA channel.
240 * @dma_tx_param: parameter to locate a TX DMA channel.
238 */ 241 */
239struct pl022_ssp_controller { 242struct pl022_ssp_controller {
240 u16 bus_id; 243 u16 bus_id;
241 u8 num_chipselect; 244 u8 num_chipselect;
242 u8 enable_dma:1; 245 u8 enable_dma:1;
246 bool (*dma_filter)(struct dma_chan *chan, void *filter_param);
247 void *dma_rx_param;
248 void *dma_tx_param;
243}; 249};
244 250
245/** 251/**
@@ -270,20 +276,13 @@ struct pl022_ssp_controller {
270 * @dma_config: DMA configuration for SSP controller and peripheral 276 * @dma_config: DMA configuration for SSP controller and peripheral
271 */ 277 */
272struct pl022_config_chip { 278struct pl022_config_chip {
273 struct device *dev;
274 enum ssp_loopback lbm;
275 enum ssp_interface iface; 279 enum ssp_interface iface;
276 enum ssp_hierarchy hierarchy; 280 enum ssp_hierarchy hierarchy;
277 bool slave_tx_disable; 281 bool slave_tx_disable;
278 struct ssp_clock_params clk_freq; 282 struct ssp_clock_params clk_freq;
279 enum ssp_rx_endian endian_rx;
280 enum ssp_tx_endian endian_tx;
281 enum ssp_data_size data_size;
282 enum ssp_mode com_mode; 283 enum ssp_mode com_mode;
283 enum ssp_rx_level_trig rx_lev_trig; 284 enum ssp_rx_level_trig rx_lev_trig;
284 enum ssp_tx_level_trig tx_lev_trig; 285 enum ssp_tx_level_trig tx_lev_trig;
285 enum ssp_spi_clk_phase clk_phase;
286 enum ssp_spi_clk_pol clk_pol;
287 enum ssp_microwire_ctrl_len ctrl_len; 286 enum ssp_microwire_ctrl_len ctrl_len;
288 enum ssp_microwire_wait_state wait_state; 287 enum ssp_microwire_wait_state wait_state;
289 enum ssp_duplex duplex; 288 enum ssp_duplex duplex;