/openbmc/linux/drivers/media/platform/qcom/camss/ |
H A D | camss-vfe-gen1.c | 3 * camss-vfe-gen1.c 5 * Qualcomm MSM Camera Subsystem - VFE Common functionality for Gen 1 versions of hw (4.1, 4.7..) 11 #include "camss-vfe.h" 12 #include "camss-vfe-gen1.h" 18 int vfe_gen1_halt(struct vfe_device *vfe) in vfe_gen1_halt() argument 22 reinit_completion(&vfe->halt_complete); in vfe_gen1_halt() 24 vfe->ops_gen1->halt_request(vfe); in vfe_gen1_halt() 26 time = wait_for_completion_timeout(&vfe->halt_complete, in vfe_gen1_halt() 29 dev_err(vfe->camss->dev, "VFE halt timeout\n"); in vfe_gen1_halt() 38 struct vfe_device *vfe = to_vfe(line); in vfe_disable_output() local [all …]
|
H A D | camss-vfe-480.c | 3 * camss-vfe-480.c 5 * Qualcomm MSM Camera Subsystem - VFE (Video Front End) Module v480 (SM8250) 16 #include "camss-vfe.h" 18 /* VFE 2/3 are lite and have a different register layout */ 19 #define IS_LITE (vfe->id >= 2 ? 1 : 0) 27 static inline int reg_update_rdi(struct vfe_device *vfe, int n) in reg_update_rdi() argument 50 static inline int bus_irq_mask_0_rdi_rup(struct vfe_device *vfe, int n) in bus_irq_mask_0_rdi_rup() argument 56 static inline int bus_irq_mask_0_comp_done(struct vfe_device *vfe, int n) in bus_irq_mask_0_comp_done() argument 98 static u32 vfe_hw_version(struct vfe_device *vfe) in vfe_hw_version() argument 100 u32 hw_version = readl_relaxed(vfe->base + VFE_HW_VERSION); in vfe_hw_version() [all …]
|
H A D | camss-vfe-170.c | 3 * camss-vfe-170.c 5 * Qualcomm MSM Camera Subsystem - VFE (Video Front End) Module v170 15 #include "camss-vfe.h" 179 static u32 vfe_hw_version(struct vfe_device *vfe) in vfe_hw_version() argument 181 u32 hw_version = readl_relaxed(vfe->base + VFE_HW_VERSION); in vfe_hw_version() 187 dev_dbg(vfe->camss->dev, "VFE HW Version = %u.%u.%u\n", in vfe_hw_version() 193 static inline void vfe_reg_set(struct vfe_device *vfe, u32 reg, u32 set_bits) in vfe_reg_set() argument 195 u32 bits = readl_relaxed(vfe->base + reg); in vfe_reg_set() 197 writel_relaxed(bits | set_bits, vfe->base + reg); in vfe_reg_set() 200 static void vfe_global_reset(struct vfe_device *vfe) in vfe_global_reset() argument [all …]
|
H A D | camss-vfe-4-7.c | 3 * camss-vfe-4-7.c 5 * Qualcomm MSM Camera Subsystem - VFE (Video Front End) Module v4.7 17 #include "camss-vfe.h" 18 #include "camss-vfe-gen1.h" 257 static u32 vfe_hw_version(struct vfe_device *vfe) in vfe_hw_version() argument 259 u32 hw_version = readl_relaxed(vfe->base + VFE_0_HW_VERSION); in vfe_hw_version() 261 dev_dbg(vfe->camss->dev, "VFE HW Version = 0x%08x\n", hw_version); in vfe_hw_version() 276 static inline void vfe_reg_clr(struct vfe_device *vfe, u32 reg, u32 clr_bits) in vfe_reg_clr() argument 278 u32 bits = readl_relaxed(vfe->base + reg); in vfe_reg_clr() 280 writel_relaxed(bits & ~clr_bits, vfe->base + reg); in vfe_reg_clr() [all …]
|
H A D | camss-vfe-4-8.c | 3 * camss-vfe-4-8.c 5 * Qualcomm MSM Camera Subsystem - VFE (Video Front End) Module v4.8 17 #include "camss-vfe.h" 18 #include "camss-vfe-gen1.h" 250 static u32 vfe_hw_version(struct vfe_device *vfe) in vfe_hw_version() argument 252 u32 hw_version = readl_relaxed(vfe->base + VFE_0_HW_VERSION); in vfe_hw_version() 254 dev_dbg(vfe->camss->dev, "VFE HW Version = 0x%08x\n", hw_version); in vfe_hw_version() 259 static inline void vfe_reg_clr(struct vfe_device *vfe, u32 reg, u32 clr_bits) in vfe_reg_clr() argument 261 u32 bits = readl_relaxed(vfe->base + reg); in vfe_reg_clr() 263 writel_relaxed(bits & ~clr_bits, vfe->base + reg); in vfe_reg_clr() [all …]
|
H A D | camss-vfe-4-1.c | 3 * camss-vfe-4-1.c 5 * Qualcomm MSM Camera Subsystem - VFE (Video Front End) Module v4.1 16 #include "camss-vfe.h" 17 #include "camss-vfe-gen1.h" 213 static u32 vfe_hw_version(struct vfe_device *vfe) in vfe_hw_version() argument 215 u32 hw_version = readl_relaxed(vfe->base + VFE_0_HW_VERSION); in vfe_hw_version() 217 dev_dbg(vfe->camss->dev, "VFE HW Version = 0x%08x\n", hw_version); in vfe_hw_version() 230 static inline void vfe_reg_clr(struct vfe_device *vfe, u32 reg, u32 clr_bits) in vfe_reg_clr() argument 232 u32 bits = readl_relaxed(vfe->base + reg); in vfe_reg_clr() 234 writel_relaxed(bits & ~clr_bits, vfe->base + reg); in vfe_reg_clr() [all …]
|
H A D | camss-vfe-gen1.h | 3 * camss-vfe.h 5 * Qualcomm MSM Camera Subsystem - VFE (Video Front End) Module 13 #include "camss-vfe.h" 21 void (*bus_connect_wm_to_rdi)(struct vfe_device *vfe, u8 wm, enum vfe_line_id id); 22 void (*bus_disconnect_wm_from_rdi)(struct vfe_device *vfe, u8 wm, enum vfe_line_id id); 23 void (*bus_enable_wr_if)(struct vfe_device *vfe, u8 enable); 24 void (*bus_reload_wm)(struct vfe_device *vfe, u8 wm); 25 int (*camif_wait_for_stop)(struct vfe_device *vfe, struct device *dev); 26 void (*enable_irq_common)(struct vfe_device *vfe); 27 void (*enable_irq_wm_line)(struct vfe_device *vfe, u8 wm, enum vfe_line_id line_id, [all …]
|
H A D | camss-vfe.c | 3 * camss-vfe.c 5 * Qualcomm MSM Camera Subsystem - VFE (Video Front End) Module 24 #include "camss-vfe.h" 29 /* VFE reset timeout */ 171 struct vfe_device *vfe = to_vfe(line); in vfe_src_pad_code() local 173 if (vfe->camss->version == CAMSS_8x16) in vfe_src_pad_code() 221 else if (vfe->camss->version == CAMSS_8x96 || in vfe_src_pad_code() 222 vfe->camss->version == CAMSS_660 || in vfe_src_pad_code() 223 vfe->camss->version == CAMSS_845 || in vfe_src_pad_code() 224 vfe->camss->version == CAMSS_8250) in vfe_src_pad_code() [all …]
|
H A D | camss-vfe.h | 3 * camss-vfe.h 5 * Qualcomm MSM Camera Subsystem - VFE (Video Front End) Module 20 #include "camss-vfe-gen1.h" 29 /* VFE halt timeout */ 104 void (*enable_irq_common)(struct vfe_device *vfe); 105 void (*global_reset)(struct vfe_device *vfe); 106 u32 (*hw_version)(struct vfe_device *vfe); 108 void (*isr_read)(struct vfe_device *vfe, u32 *value0, u32 *value1); 109 void (*pm_domain_off)(struct vfe_device *vfe); 110 int (*pm_domain_on)(struct vfe_device *vfe); [all …]
|
H A D | camss-ispif.c | 275 "Error: asked reset for invalid VFE%d\n", vfe_id); in ispif_vfe_reset() 308 "ISPIF for VFE%d reset timeout\n", vfe_id); in ispif_vfe_reset() 417 * @intf: VFE interface 419 * @vfe: VFE HW module id 424 u8 vfe, u8 enable) in ispif_select_clk_mux() argument 431 val &= ~(0xf << (vfe * 8)); in ispif_select_clk_mux() 433 val |= (csid << (vfe * 8)); in ispif_select_clk_mux() 439 val &= ~(0xf << (vfe * 12)); in ispif_select_clk_mux() 441 val |= (csid << (vfe * 12)); in ispif_select_clk_mux() 447 val &= ~(0xf << (4 + (vfe * 8))); in ispif_select_clk_mux() [all …]
|
H A D | Makefile | 14 camss-vfe-4-1.o \ 15 camss-vfe-4-7.o \ 16 camss-vfe-4-8.o \ 17 camss-vfe-170.o \ 18 camss-vfe-480.o \ 19 camss-vfe-gen1.o \ 20 camss-vfe.o \
|
H A D | camss.c | 646 /* VFE-lite */ 1008 struct vfe_device *vfe = &camss->vfe[id]; in camss_pm_domain_on() local 1010 ret = vfe->ops->pm_domain_on(vfe); in camss_pm_domain_on() 1019 struct vfe_device *vfe = &camss->vfe[id]; in camss_pm_domain_off() local 1021 vfe->ops->pm_domain_off(vfe); in camss_pm_domain_off() 1175 /* note: SM8250 requires VFE to be initialized before CSID */ in camss_init_subdevices() 1177 ret = msm_vfe_subdev_init(camss, &camss->vfe[i], in camss_init_subdevices() 1181 "Fail to init vfe%d sub-device: %d\n", i, ret); in camss_init_subdevices() 1249 ret = msm_vfe_register_entities(&camss->vfe[i], in camss_register_entities() 1253 "Failed to register vfe%d entities: %d\n", in camss_register_entities() [all …]
|
H A D | camss-csid.c | 28 /* offset of CSID registers in VFE region for VFE 480 */ 161 struct vfe_device *vfe = &camss->vfe[csid->id]; in csid_set_power() local 167 ret = vfe_get(vfe); in csid_set_power() 221 vfe_put(vfe); in csid_set_power() 595 /* for titan 480, CSID registers are inside the VFE region, in msm_csid_subdev_init() 596 * between the VFE "top" and "bus" registers. this requires in msm_csid_subdev_init() 597 * VFE to be initialized before CSID in msm_csid_subdev_init() 599 if (id >= 2) /* VFE/CSID lite */ in msm_csid_subdev_init() 600 csid->base = camss->vfe[id].base + VFE_480_LITE_CSID_OFFSET; in msm_csid_subdev_init() 602 csid->base = camss->vfe[id].base + VFE_480_CSID_OFFSET; in msm_csid_subdev_init()
|
H A D | camss.h | 24 #include "camss-vfe.h" 101 struct vfe_device *vfe; member
|
/openbmc/linux/Documentation/admin-guide/media/ |
H A D | qcom_camss.rst | 37 the CSIDs to the inputs of the VFE; 38 - 1 / 2 VFE (Video Front End) module(s). Contain a pipeline of image processing 39 hardware blocks. The VFE has different input interfaces. The PIX (Pixel) input 43 pipeline. The VFE also contains the AXI bus interface which writes the output 54 - RDI interface of VFE 82 - PIX interface of VFE 98 - Scaling support. Configuration of the VFE Encoder Scale module 101 - Cropping support. Configuration of the VFE Encoder Crop module. 118 - 4 / 8 VFE sub-devices - VFE is represented by a number of sub-devices equal to 119 the number of the input interfaces (3 RDI and 1 PIX for each VFE). [all …]
|
/openbmc/linux/drivers/media/pci/zoran/ |
H A D | zoran_device.c | 589 if (zr->vfe) in jpeg_start() 590 zr36016_write(zr->vfe, 0, 1); in jpeg_start() 633 /* Take the JPEG codec and the VFE out of sleep */ in zr36057_enable_jpg() 655 /* Setup the VFE */ in zr36057_enable_jpg() 656 if (zr->vfe) { in zr36057_enable_jpg() 657 zr->vfe->control(zr->vfe, CODEC_S_JPEG_TDS_BYTE, in zr36057_enable_jpg() 659 zr->vfe->set_video(zr->vfe, zr->timing, &cap, in zr36057_enable_jpg() 661 zr->vfe->set_mode(zr->vfe, CODEC_DO_COMPRESSION); in zr36057_enable_jpg() 680 /* Take the JPEG codec and the VFE out of sleep */ in zr36057_enable_jpg() 682 /* Setup the VFE */ in zr36057_enable_jpg() [all …]
|
H A D | zr36016.c | 133 zrdev_err(zr, "%s: attach failed, can't connect to vfe processor!\n", ptr->name); in zr36016_basic_test() 138 zrdev_err(zr, "%s: attach failed, can't connect to vfe processor!\n", ptr->name); in zr36016_basic_test() 340 zrdev_dbg(zr, "zr36016: initializing VFE subsystem #%d.\n", zr36016_codecs); in zr36016_setup()
|
H A D | zoran_card.c | 312 pci_err(zr->pci_dev, "failed to load video vfe %s: %d\n", in videocodec_init() 1083 if (zr->vfe) in zoran_remove() 1084 videocodec_detach(zr->vfe); in zoran_remove() 1387 zr->vfe = videocodec_attach(master_vfe); in zoran_probe() 1388 if (!zr->vfe) { in zoran_probe() 1389 pci_err(pdev, "%s - no VFE found\n", __func__); in zoran_probe() 1392 if (zr->vfe->type != zr->card.video_vfe) { in zoran_probe() 1393 pci_err(pdev, "%s = wrong VFE\n", __func__); in zoran_probe() 1413 videocodec_detach(zr->vfe); in zoran_probe()
|
H A D | Kconfig | 33 zr36050 MJPEG codec and zr36016 VFE.
|
/openbmc/linux/drivers/pinctrl/qcom/ |
H A D | pinctrl-msm8660.c | 766 MSM_PIN_FUNCTION(vfe), 802 PINGROUP(29, vfe, gp_mn, _, _, _, _, _), 803 PINGROUP(30, vfe, gp_clk_0a, _, _, _, _, _), 804 PINGROUP(31, vfe, gp_clk_1a, _, _, _, _, _), 815 PINGROUP(42, gsbi3, vfe, _, _, _, _, _), 819 PINGROUP(46, gsbi4, gsbi3_spi_cs3_n, vfe, _, _, _, _), 878 PINGROUP(105, mi2s, gsbi11, vfe, _, _, _, _), 879 PINGROUP(106, mi2s, gsbi11, vfe, _, _, _, _), 890 PINGROUP(117, i2s, gsbi12, vfe, _, _, _, _),
|
/openbmc/linux/drivers/media/i2c/ |
H A D | vpx3220.c | 190 * skipped by the VFE) */ 192 * skipped by the VFE) */ 207 * skipped by the VFE) */ 209 * skipped by the VFE) */
|
/openbmc/linux/Documentation/devicetree/bindings/pinctrl/ |
H A D | qcom,msm8660-pinctrl.yaml | 83 usb_fs2_oe_n, vfe, vsens_alarm, ebi2, ebi2cs ]
|
/openbmc/linux/Documentation/devicetree/bindings/media/ |
H A D | qcom,msm8916-camss.yaml | 65 - description: VFE GDSC - Video Front End, Global Distributed Switch Controller.
|
H A D | qcom,sdm660-camss.yaml | 92 - const: vfe-mem
|
/openbmc/linux/drivers/media/pci/cx23885/ |
H A D | cx23885-video.c | 1014 struct vb2_dvb_frontend *vfe; in cx23885_set_freq_via_ops() local 1038 vfe = vb2_dvb_get_frontend(&dev->ts2.frontends, 1); in cx23885_set_freq_via_ops() 1039 if (!vfe) { in cx23885_set_freq_via_ops() 1043 fe = vfe->dvb.frontend; in cx23885_set_freq_via_ops()
|