Lines Matching full:ssp

35  * For testing SSCR1 changes that require SSP restart, basically
308 * Read and write LPSS SSP private registers. Caller must first check that
325 * lpss_ssp_setup - perform LPSS SSP specific setup
328 * Perform LPSS SSP specific setup. This function must be called first if
329 * one is going to use LPSS SSP private registers.
337 drv_data->lpss_base = drv_data->ssp->mmio_base + config->offset; in lpss_ssp_setup()
449 /* Wait until SSP becomes idle before deasserting the CS */ in cs_deassert()
486 pxa_ssp_disable(drv_data->ssp); in pxa2xx_spi_off()
625 dev_err(drv_data->ssp->dev, "%s\n", msg); in int_error_stop()
721 dev_err(drv_data->ssp->dev, "bad message state in interrupt handler\n"); in handle_bad_msg()
737 if (pm_runtime_suspended(drv_data->ssp->dev)) in ssp_int()
899 const struct ssp_device *ssp = drv_data->ssp; in ssp_get_clk_div() local
905 * that the SSP transmission rate can be greater than the device rate. in ssp_get_clk_div()
907 if (ssp->type == PXA25x_SSP || ssp->type == CE4100_SSP) in ssp_get_clk_div()
1051 /* Stop the SSP */ in pxa2xx_spi_transfer_one()
1053 pxa_ssp_disable(drv_data->ssp); in pxa2xx_spi_transfer_one()
1064 /* Restart the SSP */ in pxa2xx_spi_transfer_one()
1065 pxa_ssp_enable(drv_data->ssp); in pxa2xx_spi_transfer_one()
1114 /* Disable the SSP */ in pxa2xx_spi_handle_err()
1132 /* Disable the SSP now */ in pxa2xx_spi_unprepare_transfer()
1280 int pxa2xx_spi_probe(struct device *dev, struct ssp_device *ssp, in pxa2xx_spi_probe() argument
1299 drv_data->ssp = ssp; in pxa2xx_spi_probe()
1306 controller->bus_num = ssp->port_id; in pxa2xx_spi_probe()
1319 drv_data->ssp_type = ssp->type; in pxa2xx_spi_probe()
1344 status = request_irq(ssp->irq, ssp_int, IRQF_SHARED, dev_name(dev), in pxa2xx_spi_probe()
1347 return dev_err_probe(dev, status, "cannot get IRQ %d\n", ssp->irq); in pxa2xx_spi_probe()
1366 status = clk_prepare_enable(ssp->clk); in pxa2xx_spi_probe()
1370 controller->max_speed_hz = clk_get_rate(ssp->clk); in pxa2xx_spi_probe()
1382 pxa_ssp_disable(ssp); in pxa2xx_spi_probe()
1384 /* Load default SSP configuration */ in pxa2xx_spi_probe()
1463 clk_disable_unprepare(ssp->clk); in pxa2xx_spi_probe()
1467 free_irq(ssp->irq, drv_data); in pxa2xx_spi_probe()
1476 struct ssp_device *ssp = drv_data->ssp; in pxa2xx_spi_remove() local
1480 /* Disable the SSP at the peripheral and SOC level */ in pxa2xx_spi_remove()
1481 pxa_ssp_disable(ssp); in pxa2xx_spi_remove()
1482 clk_disable_unprepare(ssp->clk); in pxa2xx_spi_remove()
1489 free_irq(ssp->irq, drv_data); in pxa2xx_spi_remove()
1496 struct ssp_device *ssp = drv_data->ssp; in pxa2xx_spi_suspend() local
1503 pxa_ssp_disable(ssp); in pxa2xx_spi_suspend()
1506 clk_disable_unprepare(ssp->clk); in pxa2xx_spi_suspend()
1514 struct ssp_device *ssp = drv_data->ssp; in pxa2xx_spi_resume() local
1517 /* Enable the SSP clock */ in pxa2xx_spi_resume()
1519 status = clk_prepare_enable(ssp->clk); in pxa2xx_spi_resume()
1532 clk_disable_unprepare(drv_data->ssp->clk); in pxa2xx_spi_runtime_suspend()
1540 return clk_prepare_enable(drv_data->ssp->clk); in pxa2xx_spi_runtime_resume()
1549 MODULE_DESCRIPTION("PXA2xx SSP SPI Controller core driver");