Lines Matching refs:orion_spi

81 struct orion_spi {  struct
88 static inline void __iomem *spi_reg(struct orion_spi *orion_spi, u32 reg) in spi_reg() argument
90 return orion_spi->base + reg; in spi_reg()
94 orion_spi_setbits(struct orion_spi *orion_spi, u32 reg, u32 mask) in orion_spi_setbits() argument
96 void __iomem *reg_addr = spi_reg(orion_spi, reg); in orion_spi_setbits()
105 orion_spi_clrbits(struct orion_spi *orion_spi, u32 reg, u32 mask) in orion_spi_clrbits() argument
107 void __iomem *reg_addr = spi_reg(orion_spi, reg); in orion_spi_clrbits()
121 struct orion_spi *orion_spi; in orion_spi_baudrate_set() local
124 orion_spi = spi_master_get_devdata(spi->master); in orion_spi_baudrate_set()
125 devdata = orion_spi->devdata; in orion_spi_baudrate_set()
127 tclk_hz = clk_get_rate(orion_spi->clk); in orion_spi_baudrate_set()
180 reg = readl(spi_reg(orion_spi, ORION_SPI_IF_CONFIG_REG)); in orion_spi_baudrate_set()
182 writel(reg, spi_reg(orion_spi, ORION_SPI_IF_CONFIG_REG)); in orion_spi_baudrate_set()
191 struct orion_spi *orion_spi; in orion_spi_mode_set() local
193 orion_spi = spi_master_get_devdata(spi->master); in orion_spi_mode_set()
195 reg = readl(spi_reg(orion_spi, ORION_SPI_IF_CONFIG_REG)); in orion_spi_mode_set()
201 writel(reg, spi_reg(orion_spi, ORION_SPI_IF_CONFIG_REG)); in orion_spi_mode_set()
208 struct orion_spi *orion_spi; in orion_spi_50mhz_ac_timing_erratum() local
210 orion_spi = spi_master_get_devdata(spi->master); in orion_spi_50mhz_ac_timing_erratum()
226 reg = readl(spi_reg(orion_spi, ORION_SPI_TIMING_PARAMS_REG)); in orion_spi_50mhz_ac_timing_erratum()
229 if (clk_get_rate(orion_spi->clk) == 250000000 && in orion_spi_50mhz_ac_timing_erratum()
236 writel(reg, spi_reg(orion_spi, ORION_SPI_TIMING_PARAMS_REG)); in orion_spi_50mhz_ac_timing_erratum()
245 struct orion_spi *orion_spi; in orion_spi_setup_transfer() local
250 orion_spi = spi_master_get_devdata(spi->master); in orion_spi_setup_transfer()
260 if (orion_spi->devdata->is_errata_50mhz_ac) in orion_spi_setup_transfer()
268 orion_spi_setbits(orion_spi, ORION_SPI_IF_CONFIG_REG, in orion_spi_setup_transfer()
271 orion_spi_clrbits(orion_spi, ORION_SPI_IF_CONFIG_REG, in orion_spi_setup_transfer()
279 struct orion_spi *orion_spi; in orion_spi_set_cs() local
281 orion_spi = spi_master_get_devdata(spi->master); in orion_spi_set_cs()
283 orion_spi_clrbits(orion_spi, ORION_SPI_IF_CTRL_REG, ORION_SPI_CS_MASK); in orion_spi_set_cs()
284 orion_spi_setbits(orion_spi, ORION_SPI_IF_CTRL_REG, in orion_spi_set_cs()
289 orion_spi_setbits(orion_spi, ORION_SPI_IF_CTRL_REG, 0x1); in orion_spi_set_cs()
291 orion_spi_clrbits(orion_spi, ORION_SPI_IF_CTRL_REG, 0x1); in orion_spi_set_cs()
294 static inline int orion_spi_wait_till_ready(struct orion_spi *orion_spi) in orion_spi_wait_till_ready() argument
299 if (readl(spi_reg(orion_spi, ORION_SPI_INT_CAUSE_REG))) in orion_spi_wait_till_ready()
313 struct orion_spi *orion_spi; in orion_spi_write_read_8bit() local
315 orion_spi = spi_master_get_devdata(spi->master); in orion_spi_write_read_8bit()
316 tx_reg = spi_reg(orion_spi, ORION_SPI_DATA_OUT_REG); in orion_spi_write_read_8bit()
317 rx_reg = spi_reg(orion_spi, ORION_SPI_DATA_IN_REG); in orion_spi_write_read_8bit()
318 int_reg = spi_reg(orion_spi, ORION_SPI_INT_CAUSE_REG); in orion_spi_write_read_8bit()
328 if (orion_spi_wait_till_ready(orion_spi) < 0) { in orion_spi_write_read_8bit()
344 struct orion_spi *orion_spi; in orion_spi_write_read_16bit() local
346 orion_spi = spi_master_get_devdata(spi->master); in orion_spi_write_read_16bit()
347 tx_reg = spi_reg(orion_spi, ORION_SPI_DATA_OUT_REG); in orion_spi_write_read_16bit()
348 rx_reg = spi_reg(orion_spi, ORION_SPI_DATA_IN_REG); in orion_spi_write_read_16bit()
349 int_reg = spi_reg(orion_spi, ORION_SPI_INT_CAUSE_REG); in orion_spi_write_read_16bit()
359 if (orion_spi_wait_till_ready(orion_spi) < 0) { in orion_spi_write_read_16bit()
424 static int orion_spi_reset(struct orion_spi *orion_spi) in orion_spi_reset() argument
427 orion_spi_clrbits(orion_spi, ORION_SPI_IF_CTRL_REG, 0x1); in orion_spi_reset()
503 struct orion_spi *spi; in orion_spi_probe()
611 struct orion_spi *spi = spi_master_get_devdata(master); in orion_spi_remove()
628 struct orion_spi *spi = spi_master_get_devdata(master); in orion_spi_runtime_suspend()
637 struct orion_spi *spi = spi_master_get_devdata(master); in orion_spi_runtime_resume()