Lines Matching full:ssp
34 MODULE_DESCRIPTION("PXA2xx SSP SPI Controller");
41 * for testing SSCR1 changes that require SSP restart, basically
299 * Read and write LPSS SSP private registers. Caller must first check that
316 * lpss_ssp_setup - perform LPSS SSP specific setup
319 * Perform LPSS SSP specific setup. This function must be called first if
320 * one is going to use LPSS SSP private registers.
452 /* Wait until SSP becomes idle before deasserting the CS */ in cs_deassert()
623 /* Stop and reset SSP */ in int_error_stop()
913 const struct ssp_device *ssp = drv_data->ssp; in ssp_get_clk_div() local
919 * that the SSP transmission rate can be greater than the device rate in ssp_get_clk_div()
921 if (ssp->type == PXA25x_SSP || ssp->type == CE4100_SSP) in ssp_get_clk_div()
1101 /* stop the SSP, and update the other bits */ in pxa2xx_spi_transfer_one()
1108 /* restart the SSP */ in pxa2xx_spi_transfer_one()
1153 /* Stop and reset SSP */ in pxa2xx_spi_slave_abort()
1174 /* Disable the SSP */ in pxa2xx_spi_handle_err()
1199 /* Disable the SSP now */ in pxa2xx_spi_unprepare_transfer()
1451 * autoloading and probing in this module but matching the LPSS SSP type.
1527 { .compatible = "marvell,mmp2-ssp", .data = (void *)MMP2_SSP },
1570 struct ssp_device *ssp; in pxa2xx_spi_init_pdata() local
1593 ssp = &pdata->ssp; in pxa2xx_spi_init_pdata()
1596 ssp->mmio_base = devm_ioremap_resource(&pdev->dev, res); in pxa2xx_spi_init_pdata()
1597 if (IS_ERR(ssp->mmio_base)) in pxa2xx_spi_init_pdata()
1598 return ERR_CAST(ssp->mmio_base); in pxa2xx_spi_init_pdata()
1600 ssp->phys_base = res->start; in pxa2xx_spi_init_pdata()
1610 ssp->clk = devm_clk_get(&pdev->dev, NULL); in pxa2xx_spi_init_pdata()
1611 if (IS_ERR(ssp->clk)) in pxa2xx_spi_init_pdata()
1612 return ERR_CAST(ssp->clk); in pxa2xx_spi_init_pdata()
1614 ssp->irq = platform_get_irq(pdev, 0); in pxa2xx_spi_init_pdata()
1615 if (ssp->irq < 0) in pxa2xx_spi_init_pdata()
1616 return ERR_PTR(ssp->irq); in pxa2xx_spi_init_pdata()
1618 ssp->type = type; in pxa2xx_spi_init_pdata()
1619 ssp->dev = &pdev->dev; in pxa2xx_spi_init_pdata()
1620 ssp->port_id = pxa2xx_spi_get_port_id(&pdev->dev); in pxa2xx_spi_init_pdata()
1665 struct ssp_device *ssp; in pxa2xx_spi_probe() local
1679 ssp = pxa_ssp_request(pdev->id, pdev->name); in pxa2xx_spi_probe()
1680 if (!ssp) in pxa2xx_spi_probe()
1681 ssp = &platform_info->ssp; in pxa2xx_spi_probe()
1683 if (!ssp->mmio_base) { in pxa2xx_spi_probe()
1684 dev_err(&pdev->dev, "failed to get ssp\n"); in pxa2xx_spi_probe()
1695 pxa_ssp_free(ssp); in pxa2xx_spi_probe()
1702 drv_data->ssp = ssp; in pxa2xx_spi_probe()
1708 controller->bus_num = ssp->port_id; in pxa2xx_spi_probe()
1721 drv_data->ssp_type = ssp->type; in pxa2xx_spi_probe()
1723 drv_data->ioaddr = ssp->mmio_base; in pxa2xx_spi_probe()
1724 drv_data->ssdr_physical = ssp->phys_base + SSDR; in pxa2xx_spi_probe()
1748 status = request_irq(ssp->irq, ssp_int, IRQF_SHARED, dev_name(dev), in pxa2xx_spi_probe()
1751 dev_err(&pdev->dev, "cannot get IRQ %d\n", ssp->irq); in pxa2xx_spi_probe()
1770 status = clk_prepare_enable(ssp->clk); in pxa2xx_spi_probe()
1774 controller->max_speed_hz = clk_get_rate(ssp->clk); in pxa2xx_spi_probe()
1786 /* Load default SSP configuration */ in pxa2xx_spi_probe()
1907 clk_disable_unprepare(ssp->clk); in pxa2xx_spi_probe()
1911 free_irq(ssp->irq, drv_data); in pxa2xx_spi_probe()
1915 pxa_ssp_free(ssp); in pxa2xx_spi_probe()
1922 struct ssp_device *ssp = drv_data->ssp; in pxa2xx_spi_remove() local
1928 /* Disable the SSP at the peripheral and SOC level */ in pxa2xx_spi_remove()
1930 clk_disable_unprepare(ssp->clk); in pxa2xx_spi_remove()
1940 free_irq(ssp->irq, drv_data); in pxa2xx_spi_remove()
1942 /* Release SSP */ in pxa2xx_spi_remove()
1943 pxa_ssp_free(ssp); in pxa2xx_spi_remove()
1952 struct ssp_device *ssp = drv_data->ssp; in pxa2xx_spi_suspend() local
1961 clk_disable_unprepare(ssp->clk); in pxa2xx_spi_suspend()
1969 struct ssp_device *ssp = drv_data->ssp; in pxa2xx_spi_resume() local
1972 /* Enable the SSP clock */ in pxa2xx_spi_resume()
1974 status = clk_prepare_enable(ssp->clk); in pxa2xx_spi_resume()
1989 clk_disable_unprepare(drv_data->ssp->clk); in pxa2xx_spi_runtime_suspend()
1998 status = clk_prepare_enable(drv_data->ssp->clk); in pxa2xx_spi_runtime_resume()