Lines Matching refs:mipi

100 	struct tegra_mipi *mipi;  member
105 static inline u32 tegra_mipi_readl(struct tegra_mipi *mipi, in tegra_mipi_readl() argument
108 return readl(mipi->regs + (offset << 2)); in tegra_mipi_readl()
111 static inline void tegra_mipi_writel(struct tegra_mipi *mipi, u32 value, in tegra_mipi_writel() argument
114 writel(value, mipi->regs + (offset << 2)); in tegra_mipi_writel()
142 dev->mipi = platform_get_drvdata(dev->pdev); in tegra_mipi_request()
143 if (!dev->mipi) { in tegra_mipi_request()
172 static int tegra_mipi_wait(struct tegra_mipi *mipi) in tegra_mipi_wait() argument
178 value = tegra_mipi_readl(mipi, MIPI_CAL_STATUS); in tegra_mipi_wait()
191 const struct tegra_mipi_soc *soc = device->mipi->soc; in tegra_mipi_calibrate()
196 err = clk_enable(device->mipi->clk); in tegra_mipi_calibrate()
200 mutex_lock(&device->mipi->lock); in tegra_mipi_calibrate()
202 value = tegra_mipi_readl(device->mipi, MIPI_CAL_BIAS_PAD_CFG0); in tegra_mipi_calibrate()
205 tegra_mipi_writel(device->mipi, value, MIPI_CAL_BIAS_PAD_CFG0); in tegra_mipi_calibrate()
207 tegra_mipi_writel(device->mipi, MIPI_CAL_BIAS_PAD_DRV_DN_REF(2), in tegra_mipi_calibrate()
210 value = tegra_mipi_readl(device->mipi, MIPI_CAL_BIAS_PAD_CFG2); in tegra_mipi_calibrate()
212 tegra_mipi_writel(device->mipi, value, MIPI_CAL_BIAS_PAD_CFG2); in tegra_mipi_calibrate()
227 tegra_mipi_writel(device->mipi, data, soc->pads[i].data); in tegra_mipi_calibrate()
230 tegra_mipi_writel(device->mipi, clk, soc->pads[i].clk); in tegra_mipi_calibrate()
233 value = tegra_mipi_readl(device->mipi, MIPI_CAL_CTRL); in tegra_mipi_calibrate()
235 tegra_mipi_writel(device->mipi, value, MIPI_CAL_CTRL); in tegra_mipi_calibrate()
237 err = tegra_mipi_wait(device->mipi); in tegra_mipi_calibrate()
239 mutex_unlock(&device->mipi->lock); in tegra_mipi_calibrate()
240 clk_disable(device->mipi->clk); in tegra_mipi_calibrate()
289 struct tegra_mipi *mipi; in tegra_mipi_probe() local
297 mipi = devm_kzalloc(&pdev->dev, sizeof(*mipi), GFP_KERNEL); in tegra_mipi_probe()
298 if (!mipi) in tegra_mipi_probe()
301 mipi->soc = match->data; in tegra_mipi_probe()
304 mipi->regs = devm_ioremap_resource(&pdev->dev, res); in tegra_mipi_probe()
305 if (IS_ERR(mipi->regs)) in tegra_mipi_probe()
306 return PTR_ERR(mipi->regs); in tegra_mipi_probe()
308 mutex_init(&mipi->lock); in tegra_mipi_probe()
310 mipi->clk = devm_clk_get(&pdev->dev, NULL); in tegra_mipi_probe()
311 if (IS_ERR(mipi->clk)) { in tegra_mipi_probe()
313 return PTR_ERR(mipi->clk); in tegra_mipi_probe()
316 err = clk_prepare(mipi->clk); in tegra_mipi_probe()
320 platform_set_drvdata(pdev, mipi); in tegra_mipi_probe()
327 struct tegra_mipi *mipi = platform_get_drvdata(pdev); in tegra_mipi_remove() local
329 clk_unprepare(mipi->clk); in tegra_mipi_remove()