Lines Matching refs:controller
365 spi_controller_get_devdata(spi->controller); in lpss_ssp_select_cs()
388 (drv_data->controller->max_speed_hz / 2)); in lpss_ssp_select_cs()
395 spi_controller_get_devdata(spi->controller); in lpss_ssp_cs_control()
432 spi_controller_get_devdata(spi->controller); in cs_assert()
452 spi_controller_get_devdata(spi->controller); in cs_deassert()
600 if (drv_data->controller->cur_msg) { in reset_sccr1()
601 chip = spi_get_ctldata(drv_data->controller->cur_msg->spi); in reset_sccr1()
641 drv_data->controller->cur_msg->status = err; in int_error_stop()
642 spi_finalize_current_transfer(drv_data->controller); in int_error_stop()
649 spi_finalize_current_transfer(drv_data->controller); in int_transfer_complete()
780 if (!drv_data->controller->cur_msg) { in ssp_int()
912 unsigned long ssp_clk = drv_data->controller->max_speed_hz; in ssp_get_clk_div()
931 spi_get_ctldata(drv_data->controller->cur_msg->spi); in pxa2xx_ssp_get_clk_div()
945 static bool pxa2xx_spi_can_dma(struct spi_controller *controller, in pxa2xx_spi_can_dma() argument
956 static int pxa2xx_spi_transfer_one(struct spi_controller *controller, in pxa2xx_spi_transfer_one() argument
960 struct driver_data *drv_data = spi_controller_get_devdata(controller); in pxa2xx_spi_transfer_one()
961 struct spi_message *message = controller->cur_msg; in pxa2xx_spi_transfer_one()
1043 dma_mapped = controller->can_dma && in pxa2xx_spi_transfer_one()
1044 controller->can_dma(controller, spi, transfer) && in pxa2xx_spi_transfer_one()
1045 controller->cur_msg_mapped; in pxa2xx_spi_transfer_one()
1073 controller->max_speed_hz in pxa2xx_spi_transfer_one()
1078 controller->max_speed_hz / 2 in pxa2xx_spi_transfer_one()
1128 if (spi_controller_is_slave(controller)) { in pxa2xx_spi_transfer_one()
1147 static int pxa2xx_spi_slave_abort(struct spi_controller *controller) in pxa2xx_spi_slave_abort() argument
1149 struct driver_data *drv_data = spi_controller_get_devdata(controller); in pxa2xx_spi_slave_abort()
1156 static void pxa2xx_spi_handle_err(struct spi_controller *controller, in pxa2xx_spi_handle_err() argument
1159 struct driver_data *drv_data = spi_controller_get_devdata(controller); in pxa2xx_spi_handle_err()
1177 static int pxa2xx_spi_unprepare_transfer(struct spi_controller *controller) in pxa2xx_spi_unprepare_transfer() argument
1179 struct driver_data *drv_data = spi_controller_get_devdata(controller); in pxa2xx_spi_unprepare_transfer()
1199 struct driver_data *drv_data = spi_controller_get_devdata(spi->controller); in setup_cs()
1250 spi_controller_get_devdata(spi->controller); in setup()
1283 if (spi_controller_is_slave(drv_data->controller)) { in setup()
1333 if (spi_controller_is_slave(drv_data->controller)) { in setup()
1636 static int pxa2xx_spi_fw_translate_cs(struct spi_controller *controller, in pxa2xx_spi_fw_translate_cs() argument
1639 struct driver_data *drv_data = spi_controller_get_devdata(controller); in pxa2xx_spi_fw_translate_cs()
1669 struct spi_controller *controller; in pxa2xx_spi_probe() local
1695 controller = devm_spi_alloc_slave(dev, sizeof(*drv_data)); in pxa2xx_spi_probe()
1697 controller = devm_spi_alloc_master(dev, sizeof(*drv_data)); in pxa2xx_spi_probe()
1699 if (!controller) { in pxa2xx_spi_probe()
1704 drv_data = spi_controller_get_devdata(controller); in pxa2xx_spi_probe()
1705 drv_data->controller = controller; in pxa2xx_spi_probe()
1709 controller->dev.of_node = dev->of_node; in pxa2xx_spi_probe()
1710 controller->dev.fwnode = dev->fwnode; in pxa2xx_spi_probe()
1713 controller->mode_bits = SPI_CPOL | SPI_CPHA | SPI_CS_HIGH | SPI_LOOP; in pxa2xx_spi_probe()
1715 controller->bus_num = ssp->port_id; in pxa2xx_spi_probe()
1716 controller->dma_alignment = DMA_ALIGNMENT; in pxa2xx_spi_probe()
1717 controller->cleanup = cleanup; in pxa2xx_spi_probe()
1718 controller->setup = setup; in pxa2xx_spi_probe()
1719 controller->set_cs = pxa2xx_spi_set_cs; in pxa2xx_spi_probe()
1720 controller->transfer_one = pxa2xx_spi_transfer_one; in pxa2xx_spi_probe()
1721 controller->slave_abort = pxa2xx_spi_slave_abort; in pxa2xx_spi_probe()
1722 controller->handle_err = pxa2xx_spi_handle_err; in pxa2xx_spi_probe()
1723 controller->unprepare_transfer_hardware = pxa2xx_spi_unprepare_transfer; in pxa2xx_spi_probe()
1724 controller->fw_translate_cs = pxa2xx_spi_fw_translate_cs; in pxa2xx_spi_probe()
1725 controller->auto_runtime_pm = true; in pxa2xx_spi_probe()
1726 controller->flags = SPI_CONTROLLER_MUST_RX | SPI_CONTROLLER_MUST_TX; in pxa2xx_spi_probe()
1733 controller->bits_per_word_mask = SPI_BPW_RANGE_MASK(4, 32); in pxa2xx_spi_probe()
1736 controller->bits_per_word_mask = SPI_BPW_RANGE_MASK(4, 16); in pxa2xx_spi_probe()
1745 controller->bits_per_word_mask = SPI_BPW_RANGE_MASK(4, 32); in pxa2xx_spi_probe()
1767 controller->can_dma = pxa2xx_spi_can_dma; in pxa2xx_spi_probe()
1768 controller->max_dma_len = MAX_DMA_LEN; in pxa2xx_spi_probe()
1769 controller->max_transfer_size = in pxa2xx_spi_probe()
1779 controller->max_speed_hz = clk_get_rate(ssp->clk); in pxa2xx_spi_probe()
1785 controller->min_speed_hz = in pxa2xx_spi_probe()
1786 DIV_ROUND_UP(controller->max_speed_hz, 4096); in pxa2xx_spi_probe()
1788 controller->min_speed_hz = in pxa2xx_spi_probe()
1789 DIV_ROUND_UP(controller->max_speed_hz, 512); in pxa2xx_spi_probe()
1813 if (spi_controller_is_slave(controller)) { in pxa2xx_spi_probe()
1826 if (!spi_controller_is_slave(controller)) in pxa2xx_spi_probe()
1851 controller->num_chipselect = platform_info->num_chipselect; in pxa2xx_spi_probe()
1852 controller->use_gpio_descriptors = true; in pxa2xx_spi_probe()
1870 status = spi_register_controller(controller); in pxa2xx_spi_probe()
1900 spi_unregister_controller(drv_data->controller); in pxa2xx_spi_remove()
1929 status = spi_controller_suspend(drv_data->controller); in pxa2xx_spi_suspend()
1955 return spi_controller_resume(drv_data->controller); in pxa2xx_spi_resume()