Lines Matching refs:orion_spi
75 struct orion_spi { struct
82 static inline void __iomem *spi_reg(struct orion_spi *orion_spi, u32 reg) in spi_reg() argument
84 return orion_spi->base + reg; in spi_reg()
88 orion_spi_setbits(struct orion_spi *orion_spi, u32 reg, u32 mask) in orion_spi_setbits() argument
90 void __iomem *reg_addr = spi_reg(orion_spi, reg); in orion_spi_setbits()
99 orion_spi_clrbits(struct orion_spi *orion_spi, u32 reg, u32 mask) in orion_spi_clrbits() argument
101 void __iomem *reg_addr = spi_reg(orion_spi, reg); in orion_spi_clrbits()
115 struct orion_spi *orion_spi; in orion_spi_baudrate_set() local
118 orion_spi = spi_master_get_devdata(spi->master); in orion_spi_baudrate_set()
119 devdata = orion_spi->devdata; in orion_spi_baudrate_set()
121 tclk_hz = clk_get_rate(orion_spi->clk); in orion_spi_baudrate_set()
174 reg = readl(spi_reg(orion_spi, ORION_SPI_IF_CONFIG_REG)); in orion_spi_baudrate_set()
176 writel(reg, spi_reg(orion_spi, ORION_SPI_IF_CONFIG_REG)); in orion_spi_baudrate_set()
185 struct orion_spi *orion_spi; in orion_spi_mode_set() local
187 orion_spi = spi_master_get_devdata(spi->master); in orion_spi_mode_set()
189 reg = readl(spi_reg(orion_spi, ORION_SPI_IF_CONFIG_REG)); in orion_spi_mode_set()
195 writel(reg, spi_reg(orion_spi, ORION_SPI_IF_CONFIG_REG)); in orion_spi_mode_set()
204 struct orion_spi *orion_spi; in orion_spi_setup_transfer() local
209 orion_spi = spi_master_get_devdata(spi->master); in orion_spi_setup_transfer()
224 orion_spi_setbits(orion_spi, ORION_SPI_IF_CONFIG_REG, in orion_spi_setup_transfer()
227 orion_spi_clrbits(orion_spi, ORION_SPI_IF_CONFIG_REG, in orion_spi_setup_transfer()
235 struct orion_spi *orion_spi; in orion_spi_set_cs() local
237 orion_spi = spi_master_get_devdata(spi->master); in orion_spi_set_cs()
239 orion_spi_clrbits(orion_spi, ORION_SPI_IF_CTRL_REG, ORION_SPI_CS_MASK); in orion_spi_set_cs()
240 orion_spi_setbits(orion_spi, ORION_SPI_IF_CTRL_REG, in orion_spi_set_cs()
245 orion_spi_setbits(orion_spi, ORION_SPI_IF_CTRL_REG, 0x1); in orion_spi_set_cs()
247 orion_spi_clrbits(orion_spi, ORION_SPI_IF_CTRL_REG, 0x1); in orion_spi_set_cs()
250 static inline int orion_spi_wait_till_ready(struct orion_spi *orion_spi) in orion_spi_wait_till_ready() argument
255 if (readl(spi_reg(orion_spi, ORION_SPI_INT_CAUSE_REG))) in orion_spi_wait_till_ready()
269 struct orion_spi *orion_spi; in orion_spi_write_read_8bit() local
271 orion_spi = spi_master_get_devdata(spi->master); in orion_spi_write_read_8bit()
272 tx_reg = spi_reg(orion_spi, ORION_SPI_DATA_OUT_REG); in orion_spi_write_read_8bit()
273 rx_reg = spi_reg(orion_spi, ORION_SPI_DATA_IN_REG); in orion_spi_write_read_8bit()
274 int_reg = spi_reg(orion_spi, ORION_SPI_INT_CAUSE_REG); in orion_spi_write_read_8bit()
284 if (orion_spi_wait_till_ready(orion_spi) < 0) { in orion_spi_write_read_8bit()
300 struct orion_spi *orion_spi; in orion_spi_write_read_16bit() local
302 orion_spi = spi_master_get_devdata(spi->master); in orion_spi_write_read_16bit()
303 tx_reg = spi_reg(orion_spi, ORION_SPI_DATA_OUT_REG); in orion_spi_write_read_16bit()
304 rx_reg = spi_reg(orion_spi, ORION_SPI_DATA_IN_REG); in orion_spi_write_read_16bit()
305 int_reg = spi_reg(orion_spi, ORION_SPI_INT_CAUSE_REG); in orion_spi_write_read_16bit()
315 if (orion_spi_wait_till_ready(orion_spi) < 0) { in orion_spi_write_read_16bit()
380 static int orion_spi_reset(struct orion_spi *orion_spi) in orion_spi_reset() argument
383 orion_spi_clrbits(orion_spi, ORION_SPI_IF_CTRL_REG, 0x1); in orion_spi_reset()
414 struct orion_spi *spi; in orion_spi_probe()
520 struct orion_spi *spi = spi_master_get_devdata(master); in orion_spi_remove()
537 struct orion_spi *spi = spi_master_get_devdata(master); in orion_spi_runtime_suspend()
546 struct orion_spi *spi = spi_master_get_devdata(master); in orion_spi_runtime_resume()