Lines Matching +full:sdtv +full:- +full:standards
2 * vpif - Video Port Interface driver
5 * The hardware supports SDTV, HDTV formats, raw data capture.
6 * Currently, the driver supports NTSC and PAL standards.
8 * Copyright (C) 2009 Texas Instruments Incorporated - https://www.ti.com/
28 #include <linux/v4l2-dv-timings.h>
63 .eav2sav = 138-8,
80 .eav2sav = 144-8,
97 .eav2sav = 700-8,
114 .eav2sav = 370 - 8,
131 .eav2sav = 720 - 8,
151 .eav2sav = 280 - 8,
171 .eav2sav = 280 - 8,
183 /* SDTV formats */
289 value = (config->eav2sav & vpifregs[config_channel_id].width_mask); in vpif_set_mode_info()
291 value |= (config->sav2eav & vpifregs[config_channel_id].width_mask); in vpif_set_mode_info()
294 value = (config->l1 & vpifregs[config_channel_id].len_mask); in vpif_set_mode_info()
296 value |= (config->l3 & vpifregs[config_channel_id].len_mask); in vpif_set_mode_info()
299 value = (config->l5 & vpifregs[config_channel_id].len_mask); in vpif_set_mode_info()
301 value |= (config->l7 & vpifregs[config_channel_id].len_mask); in vpif_set_mode_info()
304 value = (config->l9 & vpifregs[config_channel_id].len_mask); in vpif_set_mode_info()
306 value |= (config->l11 & vpifregs[config_channel_id].len_mask); in vpif_set_mode_info()
309 value = (config->vsize & vpifregs[config_channel_id].len_mask); in vpif_set_mode_info()
321 const struct vpif_channel_config_params *config = &vpifparams->std_info; in config_vpif_params()
336 vpif_wr_bit(reg, ch_nip, config->frm_fmt); in config_vpif_params()
337 vpif_wr_bit(reg, VPIF_CH_YC_MUX_BIT, config->ycmux_mode); in config_vpif_params()
339 vpifparams->video_params.storage_mode); in config_vpif_params()
343 vpif_wr_bit(reg, VPIF_CH_DATA_MODE_BIT, config->capture_format); in config_vpif_params()
347 else if (config->capture_format) { in config_vpif_params()
350 vpifparams->iface.fid_pol); in config_vpif_params()
352 vpifparams->iface.vd_pol); in config_vpif_params()
354 vpifparams->iface.hd_pol); in config_vpif_params()
360 value |= ((vpifparams->params.data_sz) << in config_vpif_params()
366 regw((vpifparams->video_params.hpitch), in config_vpif_params()
376 const struct vpif_channel_config_params *config = &vpifparams->std_info; in vpif_set_video_params()
380 if (!config->ycmux_mode) { in vpif_set_video_params()
400 value = 0x3F8 & (vbiparams->hstart0); in vpif_set_vbi_display_params()
401 value |= 0x3FFFFFF & ((vbiparams->vstart0) << 16); in vpif_set_vbi_display_params()
404 value = 0x3F8 & (vbiparams->hstart1); in vpif_set_vbi_display_params()
405 value |= 0x3FFFFFF & ((vbiparams->vstart1) << 16); in vpif_set_vbi_display_params()
408 value = 0x3F8 & (vbiparams->hsize0); in vpif_set_vbi_display_params()
409 value |= 0x3FFFFFF & ((vbiparams->vsize0) << 16); in vpif_set_vbi_display_params()
412 value = 0x3F8 & (vbiparams->hsize1); in vpif_set_vbi_display_params()
413 value |= 0x3FFFFFF & ((vbiparams->vsize1) << 16); in vpif_set_vbi_display_params()
433 vpif_base = devm_ioremap_resource(&pdev->dev, res); in vpif_probe()
437 pm_runtime_enable(&pdev->dev); in vpif_probe()
438 pm_runtime_get(&pdev->dev); in vpif_probe()
441 dev_info(&pdev->dev, "vpif probe success\n"); in vpif_probe()
449 endpoint = of_graph_get_next_endpoint(pdev->dev.of_node, in vpif_probe()
460 dev_warn(&pdev->dev, "Missing IRQ resource.\n"); in vpif_probe()
461 pm_runtime_put(&pdev->dev); in vpif_probe()
462 return -EINVAL; in vpif_probe()
465 pdev_capture = devm_kzalloc(&pdev->dev, sizeof(*pdev_capture), in vpif_probe()
468 pdev_capture->name = "vpif_capture"; in vpif_probe()
469 pdev_capture->id = -1; in vpif_probe()
470 pdev_capture->resource = res_irq; in vpif_probe()
471 pdev_capture->num_resources = 1; in vpif_probe()
472 pdev_capture->dev.dma_mask = pdev->dev.dma_mask; in vpif_probe()
473 pdev_capture->dev.coherent_dma_mask = pdev->dev.coherent_dma_mask; in vpif_probe()
474 pdev_capture->dev.parent = &pdev->dev; in vpif_probe()
477 dev_warn(&pdev->dev, "Unable to allocate memory for pdev_capture.\n"); in vpif_probe()
480 pdev_display = devm_kzalloc(&pdev->dev, sizeof(*pdev_display), in vpif_probe()
483 pdev_display->name = "vpif_display"; in vpif_probe()
484 pdev_display->id = -1; in vpif_probe()
485 pdev_display->resource = res_irq; in vpif_probe()
486 pdev_display->num_resources = 1; in vpif_probe()
487 pdev_display->dev.dma_mask = pdev->dev.dma_mask; in vpif_probe()
488 pdev_display->dev.coherent_dma_mask = pdev->dev.coherent_dma_mask; in vpif_probe()
489 pdev_display->dev.parent = &pdev->dev; in vpif_probe()
492 dev_warn(&pdev->dev, "Unable to allocate memory for pdev_display.\n"); in vpif_probe()
500 pm_runtime_disable(&pdev->dev); in vpif_remove()
529 { .compatible = "ti,da850-vpif", },