Lines Matching refs:orion_spi

93 struct orion_spi {  struct
103 static inline void __iomem *spi_reg(struct orion_spi *orion_spi, u32 reg) in spi_reg() argument
105 return orion_spi->base + reg; in spi_reg()
109 orion_spi_setbits(struct orion_spi *orion_spi, u32 reg, u32 mask) in orion_spi_setbits() argument
111 void __iomem *reg_addr = spi_reg(orion_spi, reg); in orion_spi_setbits()
120 orion_spi_clrbits(struct orion_spi *orion_spi, u32 reg, u32 mask) in orion_spi_clrbits() argument
122 void __iomem *reg_addr = spi_reg(orion_spi, reg); in orion_spi_clrbits()
136 struct orion_spi *orion_spi; in orion_spi_baudrate_set() local
139 orion_spi = spi_master_get_devdata(spi->master); in orion_spi_baudrate_set()
140 devdata = orion_spi->devdata; in orion_spi_baudrate_set()
142 tclk_hz = clk_get_rate(orion_spi->clk); in orion_spi_baudrate_set()
220 reg = readl(spi_reg(orion_spi, ORION_SPI_IF_CONFIG_REG)); in orion_spi_baudrate_set()
222 writel(reg, spi_reg(orion_spi, ORION_SPI_IF_CONFIG_REG)); in orion_spi_baudrate_set()
231 struct orion_spi *orion_spi; in orion_spi_mode_set() local
233 orion_spi = spi_master_get_devdata(spi->master); in orion_spi_mode_set()
235 reg = readl(spi_reg(orion_spi, ORION_SPI_IF_CONFIG_REG)); in orion_spi_mode_set()
246 writel(reg, spi_reg(orion_spi, ORION_SPI_IF_CONFIG_REG)); in orion_spi_mode_set()
253 struct orion_spi *orion_spi; in orion_spi_50mhz_ac_timing_erratum() local
255 orion_spi = spi_master_get_devdata(spi->master); in orion_spi_50mhz_ac_timing_erratum()
271 reg = readl(spi_reg(orion_spi, ORION_SPI_TIMING_PARAMS_REG)); in orion_spi_50mhz_ac_timing_erratum()
274 if (clk_get_rate(orion_spi->clk) == 250000000 && in orion_spi_50mhz_ac_timing_erratum()
281 writel(reg, spi_reg(orion_spi, ORION_SPI_TIMING_PARAMS_REG)); in orion_spi_50mhz_ac_timing_erratum()
290 struct orion_spi *orion_spi; in orion_spi_setup_transfer() local
295 orion_spi = spi_master_get_devdata(spi->master); in orion_spi_setup_transfer()
305 if (orion_spi->devdata->is_errata_50mhz_ac) in orion_spi_setup_transfer()
313 orion_spi_setbits(orion_spi, ORION_SPI_IF_CONFIG_REG, in orion_spi_setup_transfer()
316 orion_spi_clrbits(orion_spi, ORION_SPI_IF_CONFIG_REG, in orion_spi_setup_transfer()
324 struct orion_spi *orion_spi; in orion_spi_set_cs() local
326 orion_spi = spi_master_get_devdata(spi->master); in orion_spi_set_cs()
335 orion_spi_clrbits(orion_spi, ORION_SPI_IF_CTRL_REG, ORION_SPI_CS_MASK); in orion_spi_set_cs()
336 orion_spi_setbits(orion_spi, ORION_SPI_IF_CTRL_REG, in orion_spi_set_cs()
347 orion_spi_setbits(orion_spi, ORION_SPI_IF_CTRL_REG, 0x1); in orion_spi_set_cs()
349 orion_spi_clrbits(orion_spi, ORION_SPI_IF_CTRL_REG, 0x1); in orion_spi_set_cs()
352 static inline int orion_spi_wait_till_ready(struct orion_spi *orion_spi) in orion_spi_wait_till_ready() argument
357 if (readl(spi_reg(orion_spi, ORION_SPI_INT_CAUSE_REG))) in orion_spi_wait_till_ready()
371 struct orion_spi *orion_spi; in orion_spi_write_read_8bit() local
373 orion_spi = spi_master_get_devdata(spi->master); in orion_spi_write_read_8bit()
374 tx_reg = spi_reg(orion_spi, ORION_SPI_DATA_OUT_REG); in orion_spi_write_read_8bit()
375 rx_reg = spi_reg(orion_spi, ORION_SPI_DATA_IN_REG); in orion_spi_write_read_8bit()
376 int_reg = spi_reg(orion_spi, ORION_SPI_INT_CAUSE_REG); in orion_spi_write_read_8bit()
386 if (orion_spi_wait_till_ready(orion_spi) < 0) { in orion_spi_write_read_8bit()
402 struct orion_spi *orion_spi; in orion_spi_write_read_16bit() local
404 orion_spi = spi_master_get_devdata(spi->master); in orion_spi_write_read_16bit()
405 tx_reg = spi_reg(orion_spi, ORION_SPI_DATA_OUT_REG); in orion_spi_write_read_16bit()
406 rx_reg = spi_reg(orion_spi, ORION_SPI_DATA_IN_REG); in orion_spi_write_read_16bit()
407 int_reg = spi_reg(orion_spi, ORION_SPI_INT_CAUSE_REG); in orion_spi_write_read_16bit()
417 if (orion_spi_wait_till_ready(orion_spi) < 0) { in orion_spi_write_read_16bit()
433 struct orion_spi *orion_spi; in orion_spi_write_read() local
440 orion_spi = spi_master_get_devdata(spi->master); in orion_spi_write_read()
446 vaddr = orion_spi->child[cs].direct_access.vaddr; in orion_spi_write_read()
513 static int orion_spi_reset(struct orion_spi *orion_spi) in orion_spi_reset() argument
516 orion_spi_clrbits(orion_spi, ORION_SPI_IF_CTRL_REG, 0x1); in orion_spi_reset()
519 writel(0, spi_reg(orion_spi, SPI_DIRECT_WRITE_CONFIG_REG)); in orion_spi_reset()
596 struct orion_spi *spi; in orion_spi_probe()
756 struct orion_spi *spi = spi_master_get_devdata(master); in orion_spi_remove()
774 struct orion_spi *spi = spi_master_get_devdata(master); in orion_spi_runtime_suspend()
784 struct orion_spi *spi = spi_master_get_devdata(master); in orion_spi_runtime_resume()