Symbol: mcfqspi
drivers/spi/spi-coldfire-qspi.c
100
writew(val, mcfqspi->iobase + MCFQSPI_QDR);
drivers/spi/spi-coldfire-qspi.c
103
static u16 mcfqspi_rd_qdr(struct mcfqspi *mcfqspi)
drivers/spi/spi-coldfire-qspi.c
105
return readw(mcfqspi->iobase + MCFQSPI_QDR);
drivers/spi/spi-coldfire-qspi.c
108
static void mcfqspi_cs_select(struct mcfqspi *mcfqspi, u8 chip_select,
drivers/spi/spi-coldfire-qspi.c
111
mcfqspi->cs_control->select(mcfqspi->cs_control, chip_select, cs_high);
drivers/spi/spi-coldfire-qspi.c
114
static void mcfqspi_cs_deselect(struct mcfqspi *mcfqspi, u8 chip_select,
drivers/spi/spi-coldfire-qspi.c
117
mcfqspi->cs_control->deselect(mcfqspi->cs_control, chip_select, cs_high);
drivers/spi/spi-coldfire-qspi.c
120
static int mcfqspi_cs_setup(struct mcfqspi *mcfqspi)
drivers/spi/spi-coldfire-qspi.c
122
return (mcfqspi->cs_control->setup) ?
drivers/spi/spi-coldfire-qspi.c
123
mcfqspi->cs_control->setup(mcfqspi->cs_control) : 0;
drivers/spi/spi-coldfire-qspi.c
126
static void mcfqspi_cs_teardown(struct mcfqspi *mcfqspi)
drivers/spi/spi-coldfire-qspi.c
128
if (mcfqspi->cs_control->teardown)
drivers/spi/spi-coldfire-qspi.c
129
mcfqspi->cs_control->teardown(mcfqspi->cs_control);
drivers/spi/spi-coldfire-qspi.c
137
static bool mcfqspi_qdlyr_spe(struct mcfqspi *mcfqspi)
drivers/spi/spi-coldfire-qspi.c
139
return mcfqspi_rd_qdlyr(mcfqspi) & MCFQSPI_QDLYR_SPE;
drivers/spi/spi-coldfire-qspi.c
144
struct mcfqspi *mcfqspi = dev_id;
drivers/spi/spi-coldfire-qspi.c
147
mcfqspi_wr_qir(mcfqspi, MCFQSPI_QIR_SPIFE | MCFQSPI_QIR_SPIF);
drivers/spi/spi-coldfire-qspi.c
148
wake_up(&mcfqspi->waitq);
drivers/spi/spi-coldfire-qspi.c
153
static void mcfqspi_transfer_msg8(struct mcfqspi *mcfqspi, unsigned count,
drivers/spi/spi-coldfire-qspi.c
160
mcfqspi_wr_qar(mcfqspi, MCFQSPI_QAR_CMDBUF);
drivers/spi/spi-coldfire-qspi.c
162
mcfqspi_wr_qdr(mcfqspi, MCFQSPI_QCR_BITSE);
drivers/spi/spi-coldfire-qspi.c
164
mcfqspi_wr_qar(mcfqspi, MCFQSPI_QAR_TXBUF);
drivers/spi/spi-coldfire-qspi.c
167
mcfqspi_wr_qdr(mcfqspi, *txbuf++);
drivers/spi/spi-coldfire-qspi.c
170
mcfqspi_wr_qdr(mcfqspi, 0);
drivers/spi/spi-coldfire-qspi.c
175
mcfqspi_wr_qwr(mcfqspi, 0x700);
drivers/spi/spi-coldfire-qspi.c
176
mcfqspi_wr_qdlyr(mcfqspi, MCFQSPI_QDLYR_SPE);
drivers/spi/spi-coldfire-qspi.c
179
wait_event(mcfqspi->waitq, !mcfqspi_qdlyr_spe(mcfqspi));
drivers/spi/spi-coldfire-qspi.c
180
mcfqspi_wr_qwr(mcfqspi, qwr);
drivers/spi/spi-coldfire-qspi.c
181
mcfqspi_wr_qdlyr(mcfqspi, MCFQSPI_QDLYR_SPE);
drivers/spi/spi-coldfire-qspi.c
183
mcfqspi_wr_qar(mcfqspi,
drivers/spi/spi-coldfire-qspi.c
186
*rxbuf++ = mcfqspi_rd_qdr(mcfqspi);
drivers/spi/spi-coldfire-qspi.c
190
mcfqspi_wr_qar(mcfqspi,
drivers/spi/spi-coldfire-qspi.c
193
mcfqspi_wr_qdr(mcfqspi, *txbuf++);
drivers/spi/spi-coldfire-qspi.c
199
wait_event(mcfqspi->waitq, !mcfqspi_qdlyr_spe(mcfqspi));
drivers/spi/spi-coldfire-qspi.c
200
mcfqspi_wr_qwr(mcfqspi, qwr);
drivers/spi/spi-coldfire-qspi.c
201
mcfqspi_wr_qdlyr(mcfqspi, MCFQSPI_QDLYR_SPE);
drivers/spi/spi-coldfire-qspi.c
203
mcfqspi_wr_qar(mcfqspi, MCFQSPI_QAR_RXBUF + offset);
drivers/spi/spi-coldfire-qspi.c
205
*rxbuf++ = mcfqspi_rd_qdr(mcfqspi);
drivers/spi/spi-coldfire-qspi.c
209
mcfqspi_wr_qwr(mcfqspi, (n - 1) << 8);
drivers/spi/spi-coldfire-qspi.c
210
mcfqspi_wr_qdlyr(mcfqspi, MCFQSPI_QDLYR_SPE);
drivers/spi/spi-coldfire-qspi.c
212
wait_event(mcfqspi->waitq, !mcfqspi_qdlyr_spe(mcfqspi));
drivers/spi/spi-coldfire-qspi.c
214
mcfqspi_wr_qar(mcfqspi, MCFQSPI_QAR_RXBUF + offset);
drivers/spi/spi-coldfire-qspi.c
216
*rxbuf++ = mcfqspi_rd_qdr(mcfqspi);
drivers/spi/spi-coldfire-qspi.c
220
static void mcfqspi_transfer_msg16(struct mcfqspi *mcfqspi, unsigned count,
drivers/spi/spi-coldfire-qspi.c
227
mcfqspi_wr_qar(mcfqspi, MCFQSPI_QAR_CMDBUF);
drivers/spi/spi-coldfire-qspi.c
229
mcfqspi_wr_qdr(mcfqspi, MCFQSPI_QCR_BITSE);
drivers/spi/spi-coldfire-qspi.c
231
mcfqspi_wr_qar(mcfqspi, MCFQSPI_QAR_TXBUF);
drivers/spi/spi-coldfire-qspi.c
234
mcfqspi_wr_qdr(mcfqspi, *txbuf++);
drivers/spi/spi-coldfire-qspi.c
237
mcfqspi_wr_qdr(mcfqspi, 0);
drivers/spi/spi-coldfire-qspi.c
242
mcfqspi_wr_qwr(mcfqspi, 0x700);
drivers/spi/spi-coldfire-qspi.c
243
mcfqspi_wr_qdlyr(mcfqspi, MCFQSPI_QDLYR_SPE);
drivers/spi/spi-coldfire-qspi.c
246
wait_event(mcfqspi->waitq, !mcfqspi_qdlyr_spe(mcfqspi));
drivers/spi/spi-coldfire-qspi.c
247
mcfqspi_wr_qwr(mcfqspi, qwr);
drivers/spi/spi-coldfire-qspi.c
248
mcfqspi_wr_qdlyr(mcfqspi, MCFQSPI_QDLYR_SPE);
drivers/spi/spi-coldfire-qspi.c
250
mcfqspi_wr_qar(mcfqspi,
drivers/spi/spi-coldfire-qspi.c
253
*rxbuf++ = mcfqspi_rd_qdr(mcfqspi);
drivers/spi/spi-coldfire-qspi.c
257
mcfqspi_wr_qar(mcfqspi,
drivers/spi/spi-coldfire-qspi.c
260
mcfqspi_wr_qdr(mcfqspi, *txbuf++);
drivers/spi/spi-coldfire-qspi.c
266
wait_event(mcfqspi->waitq, !mcfqspi_qdlyr_spe(mcfqspi));
drivers/spi/spi-coldfire-qspi.c
267
mcfqspi_wr_qwr(mcfqspi, qwr);
drivers/spi/spi-coldfire-qspi.c
268
mcfqspi_wr_qdlyr(mcfqspi, MCFQSPI_QDLYR_SPE);
drivers/spi/spi-coldfire-qspi.c
270
mcfqspi_wr_qar(mcfqspi, MCFQSPI_QAR_RXBUF + offset);
drivers/spi/spi-coldfire-qspi.c
272
*rxbuf++ = mcfqspi_rd_qdr(mcfqspi);
drivers/spi/spi-coldfire-qspi.c
276
mcfqspi_wr_qwr(mcfqspi, (n - 1) << 8);
drivers/spi/spi-coldfire-qspi.c
277
mcfqspi_wr_qdlyr(mcfqspi, MCFQSPI_QDLYR_SPE);
drivers/spi/spi-coldfire-qspi.c
279
wait_event(mcfqspi->waitq, !mcfqspi_qdlyr_spe(mcfqspi));
drivers/spi/spi-coldfire-qspi.c
281
mcfqspi_wr_qar(mcfqspi, MCFQSPI_QAR_RXBUF + offset);
drivers/spi/spi-coldfire-qspi.c
283
*rxbuf++ = mcfqspi_rd_qdr(mcfqspi);
drivers/spi/spi-coldfire-qspi.c
289
struct mcfqspi *mcfqspi = spi_controller_get_devdata(spi->controller);
drivers/spi/spi-coldfire-qspi.c
293
mcfqspi_cs_select(mcfqspi, spi_get_chipselect(spi, 0), cs_high);
drivers/spi/spi-coldfire-qspi.c
295
mcfqspi_cs_deselect(mcfqspi, spi_get_chipselect(spi, 0), cs_high);
drivers/spi/spi-coldfire-qspi.c
302
struct mcfqspi *mcfqspi = spi_controller_get_devdata(host);
drivers/spi/spi-coldfire-qspi.c
311
mcfqspi_wr_qmr(mcfqspi, qmr);
drivers/spi/spi-coldfire-qspi.c
313
mcfqspi_wr_qir(mcfqspi, MCFQSPI_QIR_SPIFE);
drivers/spi/spi-coldfire-qspi.c
315
mcfqspi_transfer_msg8(mcfqspi, t->len, t->tx_buf, t->rx_buf);
drivers/spi/spi-coldfire-qspi.c
317
mcfqspi_transfer_msg16(mcfqspi, t->len / 2, t->tx_buf,
drivers/spi/spi-coldfire-qspi.c
319
mcfqspi_wr_qir(mcfqspi, 0);
drivers/spi/spi-coldfire-qspi.c
341
struct mcfqspi *mcfqspi;
drivers/spi/spi-coldfire-qspi.c
356
host = devm_spi_alloc_host(&pdev->dev, sizeof(*mcfqspi));
drivers/spi/spi-coldfire-qspi.c
360
mcfqspi = spi_controller_get_devdata(host);
drivers/spi/spi-coldfire-qspi.c
362
mcfqspi->iobase = devm_platform_ioremap_resource(pdev, 0);
drivers/spi/spi-coldfire-qspi.c
363
if (IS_ERR(mcfqspi->iobase))
drivers/spi/spi-coldfire-qspi.c
364
return PTR_ERR(mcfqspi->iobase);
drivers/spi/spi-coldfire-qspi.c
366
mcfqspi->irq = platform_get_irq(pdev, 0);
drivers/spi/spi-coldfire-qspi.c
367
if (mcfqspi->irq < 0) {
drivers/spi/spi-coldfire-qspi.c
372
status = devm_request_irq(&pdev->dev, mcfqspi->irq, mcfqspi_irq_handler,
drivers/spi/spi-coldfire-qspi.c
373
0, pdev->name, mcfqspi);
drivers/spi/spi-coldfire-qspi.c
379
mcfqspi->clk = devm_clk_get_enabled(&pdev->dev, "qspi_clk");
drivers/spi/spi-coldfire-qspi.c
380
if (IS_ERR(mcfqspi->clk)) {
drivers/spi/spi-coldfire-qspi.c
382
return PTR_ERR(mcfqspi->clk);
drivers/spi/spi-coldfire-qspi.c
388
mcfqspi->cs_control = pdata->cs_control;
drivers/spi/spi-coldfire-qspi.c
389
status = mcfqspi_cs_setup(mcfqspi);
drivers/spi/spi-coldfire-qspi.c
395
init_waitqueue_head(&mcfqspi->waitq);
drivers/spi/spi-coldfire-qspi.c
419
mcfqspi_cs_teardown(mcfqspi);
drivers/spi/spi-coldfire-qspi.c
429
struct mcfqspi *mcfqspi = spi_controller_get_devdata(host);
drivers/spi/spi-coldfire-qspi.c
435
mcfqspi_wr_qmr(mcfqspi, MCFQSPI_QMR_MSTR);
drivers/spi/spi-coldfire-qspi.c
437
mcfqspi_cs_teardown(mcfqspi);
drivers/spi/spi-coldfire-qspi.c
444
struct mcfqspi *mcfqspi = spi_controller_get_devdata(host);
drivers/spi/spi-coldfire-qspi.c
451
clk_disable(mcfqspi->clk);
drivers/spi/spi-coldfire-qspi.c
459
struct mcfqspi *mcfqspi = spi_controller_get_devdata(host);
drivers/spi/spi-coldfire-qspi.c
461
clk_enable(mcfqspi->clk);
drivers/spi/spi-coldfire-qspi.c
471
struct mcfqspi *mcfqspi = spi_controller_get_devdata(host);
drivers/spi/spi-coldfire-qspi.c
473
clk_disable(mcfqspi->clk);
drivers/spi/spi-coldfire-qspi.c
481
struct mcfqspi *mcfqspi = spi_controller_get_devdata(host);
drivers/spi/spi-coldfire-qspi.c
483
clk_enable(mcfqspi->clk);
drivers/spi/spi-coldfire-qspi.c
68
static void mcfqspi_wr_qmr(struct mcfqspi *mcfqspi, u16 val)
drivers/spi/spi-coldfire-qspi.c
70
writew(val, mcfqspi->iobase + MCFQSPI_QMR);
drivers/spi/spi-coldfire-qspi.c
73
static void mcfqspi_wr_qdlyr(struct mcfqspi *mcfqspi, u16 val)
drivers/spi/spi-coldfire-qspi.c
75
writew(val, mcfqspi->iobase + MCFQSPI_QDLYR);
drivers/spi/spi-coldfire-qspi.c
78
static u16 mcfqspi_rd_qdlyr(struct mcfqspi *mcfqspi)
drivers/spi/spi-coldfire-qspi.c
80
return readw(mcfqspi->iobase + MCFQSPI_QDLYR);
drivers/spi/spi-coldfire-qspi.c
83
static void mcfqspi_wr_qwr(struct mcfqspi *mcfqspi, u16 val)
drivers/spi/spi-coldfire-qspi.c
85
writew(val, mcfqspi->iobase + MCFQSPI_QWR);
drivers/spi/spi-coldfire-qspi.c
88
static void mcfqspi_wr_qir(struct mcfqspi *mcfqspi, u16 val)
drivers/spi/spi-coldfire-qspi.c
90
writew(val, mcfqspi->iobase + MCFQSPI_QIR);
drivers/spi/spi-coldfire-qspi.c
93
static void mcfqspi_wr_qar(struct mcfqspi *mcfqspi, u16 val)
drivers/spi/spi-coldfire-qspi.c
95
writew(val, mcfqspi->iobase + MCFQSPI_QAR);
drivers/spi/spi-coldfire-qspi.c
98
static void mcfqspi_wr_qdr(struct mcfqspi *mcfqspi, u16 val)