Home
last modified time | relevance | path

Searched refs:fimc (Results 1 – 25 of 29) sorted by relevance

12

/linux-6.15/drivers/media/platform/samsung/exynos4-is/
H A Dfimc-lite.c152 flite_hw_set_source_format(fimc, &fimc->inp_frame); in fimc_lite_hw_init()
153 flite_hw_set_window_offset(fimc, &fimc->inp_frame); in fimc_lite_hw_init()
155 flite_hw_set_output_dma(fimc, &fimc->out_frame, !isp_output); in fimc_lite_hw_init()
157 flite_hw_set_test_pattern(fimc, fimc->test_pattern->val); in fimc_lite_hw_init()
237 flite_hw_set_window_offset(fimc, &fimc->inp_frame); in fimc_lite_config_update()
238 flite_hw_set_dma_window(fimc, &fimc->out_frame); in fimc_lite_config_update()
239 flite_hw_set_test_pattern(fimc, fimc->test_pattern->val); in fimc_lite_config_update()
415 if (fimc->buf_index >= fimc->reqbufs_count) in buffer_queue()
453 memset(&fimc->events, 0, sizeof(fimc->events)); in fimc_lite_clear_event_counters()
1455 fimc = devm_kzalloc(dev, sizeof(*fimc), GFP_KERNEL); in fimc_lite_probe()
[all …]
H A DMakefile2 s5p-fimc-objs := fimc-core.o fimc-reg.o fimc-m2m.o fimc-capture.o media-dev.o
3 exynos-fimc-lite-objs += fimc-lite-reg.o fimc-lite.o
7 exynos-fimc-is-objs := fimc-is.o fimc-isp.o fimc-is-sensor.o fimc-is-regs.o
8 exynos-fimc-is-objs += fimc-is-param.o fimc-is-errno.o fimc-is-i2c.o
11 exynos-fimc-is-objs += fimc-isp-video.o
15 obj-$(CONFIG_VIDEO_EXYNOS_FIMC_LITE) += exynos-fimc-lite.o
16 obj-$(CONFIG_VIDEO_EXYNOS4_FIMC_IS) += exynos-fimc-is.o
17 obj-$(CONFIG_VIDEO_S5P_FIMC) += s5p-fimc.o
H A Dfimc-core.c801 fimc->clock[i] = clk_get(&fimc->pdev->dev, fimc_clocks[i]); in fimc_clk_get()
930 fimc = devm_kzalloc(dev, sizeof(*fimc), GFP_KERNEL); in fimc_probe()
931 if (!fimc) in fimc_probe()
944 if (!fimc->drv_data || fimc->id >= fimc->drv_data->num_entities || in fimc_probe()
947 fimc->id); in fimc_probe()
951 fimc->variant = fimc->drv_data->variant[fimc->id]; in fimc_probe()
1024 dbg("fimc%d: state: 0x%lx", fimc->id, fimc->state); in fimc_runtime_resume()
1049 dbg("fimc%d: state: 0x%lx", fimc->id, fimc->state); in fimc_runtime_suspend()
1060 dbg("fimc%d: state: 0x%lx", fimc->id, fimc->state); in fimc_resume()
1065 (!fimc_m2m_active(fimc) && !fimc_capture_busy(fimc))) { in fimc_resume()
[all …]
H A Dfimc-capture.c115 fimc_hw_reset(fimc); in fimc_capture_state_cleanup()
187 wake_up(&fimc->irq_queue); in fimc_capture_irq_handler()
473 mutex_lock(&fimc->lock); in fimc_capture_open()
522 mutex_lock(&fimc->lock); in fimc_capture_release()
1427 struct fimc_dev *fimc; in fimc_sensor_notify() local
1486 mutex_lock(&fimc->lock); in fimc_subdev_get_fmt()
1528 mutex_lock(&fimc->lock); in fimc_subdev_set_fmt()
1725 ctx->fimc_dev = fimc; in fimc_register_capture_device()
1761 q->lock = &fimc->lock; in fimc_register_capture_device()
1816 if (fimc == NULL) in fimc_capture_subdev_registered()
[all …]
H A Dfimc-m2m.c63 if (!fimc_m2m_pending(fimc)) in fimc_m2m_shutdown()
94 struct fimc_dev *fimc; in fimc_device_run() local
101 fimc = ctx->fimc_dev; in fimc_device_run()
132 fimc->m2m.ctx = ctx; in fimc_device_run()
452 fimc->variant->min_inp_pixsize : fimc->variant->min_out_pixsize; in fimc_m2m_try_selection()
625 ctx->fimc_dev = fimc; in fimc_m2m_open()
682 task_pid_nr(current), fimc->state, fimc->m2m.refcnt); in fimc_m2m_release()
684 mutex_lock(&fimc->lock); in fimc_m2m_release()
727 vfd->lock = &fimc->lock; in fimc_register_m2m_device()
762 if (!fimc) in fimc_unregister_m2m_device()
[all …]
H A Dfimc-reg.h291 void fimc_hw_reset(struct fimc_dev *fimc);
295 void fimc_hw_en_lastirq(struct fimc_dev *fimc, int enable);
296 void fimc_hw_en_irq(struct fimc_dev *fimc, int enable);
305 void fimc_hw_set_input_addr(struct fimc_dev *fimc, const struct fimc_addr *addr);
306 void fimc_hw_set_output_addr(struct fimc_dev *fimc, const struct fimc_addr *addr,
308 int fimc_hw_set_camera_source(struct fimc_dev *fimc,
310 void fimc_hw_set_camera_offset(struct fimc_dev *fimc, const struct fimc_frame *f);
311 int fimc_hw_set_camera_polarity(struct fimc_dev *fimc,
313 int fimc_hw_set_camera_type(struct fimc_dev *fimc,
321 int fimc_hw_camblk_cfg_writeback(struct fimc_dev *fimc);
[all …]
H A Dfimc-reg.c580 writel(cfg, fimc->regs + FIMC_REG_CIGCTRL); in fimc_hw_set_camera_polarity()
677 cfg = readl(fimc->regs + FIMC_REG_CIGCTRL); in fimc_hw_set_camera_type()
722 if (fimc->variant->has_isp_wb) in fimc_hw_set_camera_type()
733 writel(cfg, fimc->regs + FIMC_REG_CIGCTRL); in fimc_hw_set_camera_type()
802 fimc_hw_en_lastirq(fimc, true); in fimc_deactivate_capture()
803 fimc_hw_disable_capture(fimc); in fimc_deactivate_capture()
804 fimc_hw_enable_scaler(fimc, false); in fimc_deactivate_capture()
805 fimc_hw_en_lastirq(fimc, false); in fimc_deactivate_capture()
810 struct regmap *map = fimc->sysreg; in fimc_hw_camblk_cfg_writeback()
821 if (!WARN(fimc->id >= 3, "not supported id: %d\n", fimc->id)) in fimc_hw_camblk_cfg_writeback()
[all …]
H A Dfimc-core.h533 spin_lock_irqsave(&fimc->slock, flags); in fimc_capture_active()
534 ret = !!(fimc->state & (1 << ST_CAPT_RUN) || in fimc_capture_active()
535 fimc->state & (1 << ST_CAPT_PEND)); in fimc_capture_active()
536 spin_unlock_irqrestore(&fimc->slock, flags); in fimc_capture_active()
635 int fimc_register_m2m_device(struct fimc_dev *fimc,
637 void fimc_unregister_m2m_device(struct fimc_dev *fimc);
656 int fimc_initialize_capture_subdev(struct fimc_dev *fimc);
657 void fimc_unregister_capture_subdev(struct fimc_dev *fimc);
658 int fimc_capture_ctrls_create(struct fimc_dev *fimc);
661 int fimc_capture_suspend(struct fimc_dev *fimc);
[all …]
H A Dfimc-lite.h179 static inline bool fimc_lite_active(struct fimc_lite *fimc) in fimc_lite_active() argument
184 spin_lock_irqsave(&fimc->slock, flags); in fimc_lite_active()
185 ret = fimc->state & (1 << ST_FLITE_RUN) || in fimc_lite_active()
186 fimc->state & (1 << ST_FLITE_PENDING); in fimc_lite_active()
187 spin_unlock_irqrestore(&fimc->slock, flags); in fimc_lite_active()
H A Dmedia-dev.c614 if (WARN_ON(fimc->id >= FIMC_MAX_DEVS || fmd->fimc[fimc->id])) in register_fimc_entity()
617 sd = &fimc->vid_cap.subdev; in register_fimc_entity()
628 if (!fmd->pmf && fimc->pdev) in register_fimc_entity()
630 fmd->fimc[fimc->id] = fimc; in register_fimc_entity()
634 fimc->id, ret); in register_fimc_entity()
784 fmd->fimc[i] = NULL; in fimc_md_unregister_entities()
833 if (!fmd->fimc[i]) in __fimc_md_create_fimc_sink_links()
891 if (fimc == NULL) in __fimc_md_create_flite_source_links()
922 if (fmd->fimc[i] == NULL) in __fimc_md_create_fimc_is_links()
1037 if (!fmd->fimc[i]) in fimc_md_create_links()
[all …]
H A DKconfig33 module will be called s5p-fimc.
59 module will be called exynos-fimc-lite.
73 module will be called exynos4-fimc-is.
H A Dmedia-dev.h125 struct fimc_dev *fimc[FIMC_MAX_DEVS]; member
/linux-6.15/Documentation/devicetree/bindings/media/
H A Dsamsung,fimc.yaml21 const: samsung,fimc
83 "^fimc@[0-9a-f]+$":
85 $ref: samsung,exynos4210-fimc.yaml#
88 "^fimc-is@[0-9a-f]+$":
90 $ref: samsung,exynos4212-fimc-is.yaml#
93 "^fimc-lite@[0-9a-f]+$":
95 $ref: samsung,exynos4212-fimc-lite.yaml#
117 compatible = "samsung,fimc";
136 fimc@0 {
190 fimc-lite@b90000 {
[all …]
H A Dsamsung,exynos4212-fimc-lite.yaml4 $id: http://devicetree.org/schemas/media/samsung,exynos4212-fimc-lite.yaml#
15 fimc-lite<n>, where <n> is an integer specifying the IP block instance.
20 - samsung,exynos4212-fimc-lite
21 - samsung,exynos5250-fimc-lite
55 fimc-lite@12390000 {
56 compatible = "samsung,exynos4212-fimc-lite";
H A Dsamsung,exynos4210-fimc.yaml4 $id: http://devicetree.org/schemas/media/samsung,exynos4210-fimc.yaml#
15 fimc<n>, where <n> is an integer specifying the IP block instance.
20 - samsung,exynos4210-fimc
21 - samsung,exynos4212-fimc
22 - samsung,s5pv210-fimc
32 - const: fimc
132 fimc@11800000 {
133 compatible = "samsung,exynos4212-fimc";
137 clock-names = "fimc", "sclk_fimc";
H A Dsamsung,exynos4212-fimc-is.yaml4 $id: http://devicetree.org/schemas/media/samsung,exynos4212-fimc-is.yaml#
22 - samsung,exynos4212-fimc-is
152 fimc-is@12000000 {
153 compatible = "samsung,exynos4212-fimc-is";
/linux-6.15/Documentation/driver-api/media/drivers/
H A Dfimc-devel.rst19 drivers/media/platform/samsung/exynos4-is/fimc-capture.c
27 drivers/media/platform/samsung/exynos4-is/fimc-core.c
31 drivers/media/platform/samsung/exynos4-is/fimc-core.h
32 drivers/media/platform/samsung/exynos4-is/fimc-reg.h
33 drivers/media/platform/samsung/exynos4-is/regs-fimc.h
H A Dindex.rst18 fimc-devel
/linux-6.15/arch/arm/boot/dts/samsung/
H A Dexynos4x12.dtsi27 fimc-lite0 = &fimc_lite_0;
28 fimc-lite1 = &fimc_lite_1;
460 fimc_lite_0: fimc-lite@b90000 {
461 compatible = "samsung,exynos4212-fimc-lite";
471 fimc_lite_1: fimc-lite@ba0000 {
482 fimc_is: fimc-is@800000 {
483 compatible = "samsung,exynos4212-fimc-is";
543 compatible = "samsung,exynos4212-fimc";
551 compatible = "samsung,exynos4212-fimc";
559 compatible = "samsung,exynos4212-fimc";
[all …]
H A Ds5pv210.dtsi553 compatible = "samsung,fimc";
577 fimc0: fimc@c00000 {
578 compatible = "samsung,s5pv210-fimc";
584 clock-names = "fimc",
591 fimc1: fimc@d00000 {
592 compatible = "samsung,s5pv210-fimc";
598 clock-names = "fimc",
607 fimc2: fimc@e00000 {
608 compatible = "samsung,s5pv210-fimc";
614 clock-names = "fimc",
H A Dexynos4.dtsi205 compatible = "samsung,fimc";
213 fimc_0: fimc@0 {
214 compatible = "samsung,exynos4210-fimc";
219 clock-names = "fimc", "sclk_fimc";
226 fimc_1: fimc@10000 {
227 compatible = "samsung,exynos4210-fimc";
232 clock-names = "fimc", "sclk_fimc";
239 fimc_2: fimc@20000 {
245 clock-names = "fimc", "sclk_fimc";
252 fimc_3: fimc@30000 {
[all …]
/linux-6.15/Documentation/admin-guide/media/
H A Dfimc.rst91 API the driver creates a sysfs entry associated with "s5p-fimc-md" platform
92 device. The entry path is: /sys/platform/devices/s5p-fimc-md/subdev_conf_mode.
95 sensor subdev -> mipi-csi subdev -> fimc subdev -> video node
112 # echo "sub-dev" > /sys/platform/devices/s5p-fimc-md/subdev_conf_mode
119 # echo "vid-dev" > /sys/platform/devices/s5p-fimc-md/subdev_conf_mode
138 # dmesg | grep -i fimc
152 two modules are created (in addition to the core v4l2 modules): s5p-fimc.ko and
H A Dplatform-cardlist.rst29 exynos-fimc-is EXYNOS4x12 FIMC-IS (Imaging Subsystem)
30 exynos-fimc-lite EXYNOS FIMC-LITE camera interface
55 s5p-fimc S5P/EXYNOS4 FIMC/CAMIF camera interface
H A Dv4l-drivers.rst15 fimc
/linux-6.15/arch/arm64/boot/dts/exynos/
H A Dexynos5433-pinctrl.dtsi597 fimc_is_spi_pin0: fimc-is-spi-pin0-pins {
604 fimc_is_spi_pin1: fimc-is-spi-pin1-pins {
734 fimc_is_uart: fimc-is-uart-pins {
741 fimc_is_ch0_i2c: fimc-is-ch0-i2c-pins {
748 fimc_is_ch0_mclk: fimc-is-ch0-mclk-pins {
755 fimc_is_ch1_i2c: fimc-is-ch1-i2c-pins {
762 fimc_is_ch1_mclk: fimc-is-ch1-mclk-pins {
769 fimc_is_ch2_i2c: fimc-is-ch2-i2c-pins {
776 fimc_is_ch2_mclk: fimc-is-ch2-mclk-pins {

12