Lines Matching refs:cam
62 static void mmpcam_add_device(struct mmp_camera *cam) in mmpcam_add_device() argument
65 list_add(&cam->devlist, &mmpcam_devices); in mmpcam_add_device()
69 static void mmpcam_remove_device(struct mmp_camera *cam) in mmpcam_remove_device() argument
72 list_del(&cam->devlist); in mmpcam_remove_device()
83 struct mmp_camera *cam; in mmpcam_find_device() local
86 list_for_each_entry(cam, &mmpcam_devices, devlist) { in mmpcam_find_device()
87 if (cam->pdev == pdev) { in mmpcam_find_device()
89 return cam; in mmpcam_find_device()
133 static void mmpcam_power_up_ctlr(struct mmp_camera *cam) in mmpcam_power_up_ctlr() argument
135 iowrite32(0x3f, cam->power_regs + REG_CCIC_DCGCR); in mmpcam_power_up_ctlr()
136 iowrite32(0x3805b, cam->power_regs + REG_CCIC_CRCR); in mmpcam_power_up_ctlr()
142 struct mmp_camera *cam = mcam_to_cam(mcam); in mmpcam_power_up() local
148 mmpcam_power_up_ctlr(cam); in mmpcam_power_up()
153 pdata = cam->pdev->dev.platform_data; in mmpcam_power_up()
169 struct mmp_camera *cam = mcam_to_cam(mcam); in mmpcam_power_down() local
174 iowrite32(0, cam->power_regs + REG_CCIC_DCGCR); in mmpcam_power_down()
175 iowrite32(0, cam->power_regs + REG_CCIC_CRCR); in mmpcam_power_down()
179 pdata = cam->pdev->dev.platform_data; in mmpcam_power_down()
189 struct mmp_camera *cam = mcam_to_cam(mcam); in mcam_ctlr_reset() local
195 val = ioread32(cam->power_regs + REG_CCIC2_CRCR); in mcam_ctlr_reset()
196 iowrite32(val & ~0x2, cam->power_regs + REG_CCIC2_CRCR); in mcam_ctlr_reset()
197 iowrite32(val | 0x2, cam->power_regs + REG_CCIC2_CRCR); in mcam_ctlr_reset()
202 val = ioread32(cam->power_regs + REG_CCIC_CRCR); in mcam_ctlr_reset()
203 iowrite32(val & ~0x2, cam->power_regs + REG_CCIC_CRCR); in mcam_ctlr_reset()
204 iowrite32(val | 0x2, cam->power_regs + REG_CCIC_CRCR); in mcam_ctlr_reset()
219 struct mmp_camera *cam = mcam_to_cam(mcam); in mmpcam_calc_dphy() local
220 struct mmp_camera_platform_data *pdata = cam->pdev->dev.platform_data; in mmpcam_calc_dphy()
221 struct device *dev = &cam->pdev->dev; in mmpcam_calc_dphy()
279 if (IS_ERR(cam->mipi_clk)) in mmpcam_calc_dphy()
283 clk_prepare_enable(cam->mipi_clk); in mmpcam_calc_dphy()
284 tx_clk_esc = (clk_get_rate(cam->mipi_clk) / 1000000) / 12; in mmpcam_calc_dphy()
285 clk_disable_unprepare(cam->mipi_clk); in mmpcam_calc_dphy()
336 struct mmp_camera *cam; in mmpcam_probe() local
346 cam = devm_kzalloc(&pdev->dev, sizeof(*cam), GFP_KERNEL); in mmpcam_probe()
347 if (cam == NULL) in mmpcam_probe()
349 cam->pdev = pdev; in mmpcam_probe()
350 INIT_LIST_HEAD(&cam->devlist); in mmpcam_probe()
352 mcam = &cam->mcam; in mmpcam_probe()
366 cam->mipi_clk = devm_clk_get(mcam->dev, "mipi"); in mmpcam_probe()
367 if ((IS_ERR(cam->mipi_clk) && mcam->dphy[2] == 0)) in mmpcam_probe()
368 return PTR_ERR(cam->mipi_clk); in mmpcam_probe()
389 cam->power_regs = devm_ioremap_resource(&pdev->dev, res); in mmpcam_probe()
390 if (IS_ERR(cam->power_regs)) in mmpcam_probe()
391 return PTR_ERR(cam->power_regs); in mmpcam_probe()
441 cam->irq = res->start; in mmpcam_probe()
442 ret = devm_request_irq(&pdev->dev, cam->irq, mmpcam_irq, IRQF_SHARED, in mmpcam_probe()
445 mmpcam_add_device(cam); in mmpcam_probe()
457 static int mmpcam_remove(struct mmp_camera *cam) in mmpcam_remove() argument
459 struct mcam_camera *mcam = &cam->mcam; in mmpcam_remove()
461 mmpcam_remove_device(cam); in mmpcam_remove()
469 struct mmp_camera *cam = mmpcam_find_device(pdev); in mmpcam_platform_remove() local
471 if (cam == NULL) in mmpcam_platform_remove()
473 return mmpcam_remove(cam); in mmpcam_platform_remove()
483 struct mmp_camera *cam = mmpcam_find_device(pdev); in mmpcam_suspend() local
487 mccic_suspend(&cam->mcam); in mmpcam_suspend()
493 struct mmp_camera *cam = mmpcam_find_device(pdev); in mmpcam_resume() local
500 mmpcam_power_up_ctlr(cam); in mmpcam_resume()
501 return mccic_resume(&cam->mcam); in mmpcam_resume()