Home
last modified time | relevance | path

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

/Linux-v4.19/drivers/media/platform/exynos4-is/
Dfimc-lite.c142 static int fimc_lite_hw_init(struct fimc_lite *fimc, bool isp_output) in fimc_lite_hw_init() argument
147 if (fimc->sensor == NULL) in fimc_lite_hw_init()
150 if (fimc->inp_frame.fmt == NULL || fimc->out_frame.fmt == NULL) in fimc_lite_hw_init()
154 si = v4l2_get_subdev_hostdata(fimc->sensor); in fimc_lite_hw_init()
158 spin_lock_irqsave(&fimc->slock, flags); in fimc_lite_hw_init()
160 flite_hw_set_camera_bus(fimc, si); in fimc_lite_hw_init()
161 flite_hw_set_source_format(fimc, &fimc->inp_frame); in fimc_lite_hw_init()
162 flite_hw_set_window_offset(fimc, &fimc->inp_frame); in fimc_lite_hw_init()
163 flite_hw_set_dma_buf_mask(fimc, 0); in fimc_lite_hw_init()
164 flite_hw_set_output_dma(fimc, &fimc->out_frame, !isp_output); in fimc_lite_hw_init()
[all …]
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
Dfimc-core.c316 struct fimc_dev *fimc = priv; in fimc_irq_handler() local
319 fimc_hw_clear_irq(fimc); in fimc_irq_handler()
321 spin_lock(&fimc->slock); in fimc_irq_handler()
323 if (test_and_clear_bit(ST_M2M_PEND, &fimc->state)) { in fimc_irq_handler()
324 if (test_and_clear_bit(ST_M2M_SUSPENDING, &fimc->state)) { in fimc_irq_handler()
325 set_bit(ST_M2M_SUSPENDED, &fimc->state); in fimc_irq_handler()
326 wake_up(&fimc->irq_queue); in fimc_irq_handler()
329 ctx = v4l2_m2m_get_curr_priv(fimc->m2m.m2m_dev); in fimc_irq_handler()
331 spin_unlock(&fimc->slock); in fimc_irq_handler()
336 wake_up(&fimc->irq_queue); in fimc_irq_handler()
[all …]
Dfimc-capture.c35 static int fimc_capture_hw_init(struct fimc_dev *fimc) in fimc_capture_hw_init() argument
37 struct fimc_source_info *si = &fimc->vid_cap.source_config; in fimc_capture_hw_init()
38 struct fimc_ctx *ctx = fimc->vid_cap.ctx; in fimc_capture_hw_init()
46 ret = fimc_hw_camblk_cfg_writeback(fimc); in fimc_capture_hw_init()
51 spin_lock_irqsave(&fimc->slock, flags); in fimc_capture_hw_init()
55 fimc_hw_set_camera_polarity(fimc, si); in fimc_capture_hw_init()
56 fimc_hw_set_camera_type(fimc, si); in fimc_capture_hw_init()
57 fimc_hw_set_camera_source(fimc, si); in fimc_capture_hw_init()
58 fimc_hw_set_camera_offset(fimc, &ctx->s_frame); in fimc_capture_hw_init()
70 if (fimc->drv_data->alpha_color) in fimc_capture_hw_init()
[all …]
Dfimc-m2m.c65 struct fimc_dev *fimc = ctx->fimc_dev; in fimc_m2m_shutdown() local
67 if (!fimc_m2m_pending(fimc)) in fimc_m2m_shutdown()
72 wait_event_timeout(fimc->irq_queue, in fimc_m2m_shutdown()
101 struct fimc_dev *fimc; in fimc_device_run() local
108 fimc = ctx->fimc_dev; in fimc_device_run()
109 spin_lock_irqsave(&fimc->slock, flags); in fimc_device_run()
111 set_bit(ST_M2M_PEND, &fimc->state); in fimc_device_run()
137 if (fimc->m2m.ctx != ctx) { in fimc_device_run()
139 fimc->m2m.ctx = ctx; in fimc_device_run()
155 if (fimc->drv_data->alpha_color) in fimc_device_run()
[all …]
Dfimc-reg.h292 void fimc_hw_reset(struct fimc_dev *fimc);
296 void fimc_hw_en_lastirq(struct fimc_dev *fimc, int enable);
297 void fimc_hw_en_irq(struct fimc_dev *fimc, int enable);
306 void fimc_hw_set_input_addr(struct fimc_dev *fimc, struct fimc_addr *paddr);
307 void fimc_hw_set_output_addr(struct fimc_dev *fimc, struct fimc_addr *paddr,
309 int fimc_hw_set_camera_source(struct fimc_dev *fimc,
311 void fimc_hw_set_camera_offset(struct fimc_dev *fimc, struct fimc_frame *f);
312 int fimc_hw_set_camera_polarity(struct fimc_dev *fimc,
314 int fimc_hw_set_camera_type(struct fimc_dev *fimc,
322 int fimc_hw_camblk_cfg_writeback(struct fimc_dev *fimc);
[all …]
Dfimc-reg.c559 int fimc_hw_set_camera_polarity(struct fimc_dev *fimc, in fimc_hw_set_camera_polarity() argument
562 u32 cfg = readl(fimc->regs + FIMC_REG_CIGCTRL); in fimc_hw_set_camera_polarity()
583 writel(cfg, fimc->regs + FIMC_REG_CIGCTRL); in fimc_hw_set_camera_polarity()
601 int fimc_hw_set_camera_source(struct fimc_dev *fimc, in fimc_hw_set_camera_source() argument
604 struct fimc_vid_cap *vc = &fimc->vid_cap; in fimc_hw_set_camera_source()
645 writel(cfg, fimc->regs + FIMC_REG_CISRCFMT); in fimc_hw_set_camera_source()
649 void fimc_hw_set_camera_offset(struct fimc_dev *fimc, struct fimc_frame *f) in fimc_hw_set_camera_offset() argument
653 u32 cfg = readl(fimc->regs + FIMC_REG_CIWDOFST); in fimc_hw_set_camera_offset()
659 writel(cfg, fimc->regs + FIMC_REG_CIWDOFST); in fimc_hw_set_camera_offset()
665 writel(cfg, fimc->regs + FIMC_REG_CIWDOFST2); in fimc_hw_set_camera_offset()
[all …]
Dfimc-core.h534 static inline bool fimc_capture_active(struct fimc_dev *fimc) in fimc_capture_active() argument
539 spin_lock_irqsave(&fimc->slock, flags); in fimc_capture_active()
540 ret = !!(fimc->state & (1 << ST_CAPT_RUN) || in fimc_capture_active()
541 fimc->state & (1 << ST_CAPT_PEND)); in fimc_capture_active()
542 spin_unlock_irqrestore(&fimc->slock, flags); in fimc_capture_active()
638 void fimc_capture_irq_handler(struct fimc_dev *fimc, int deq_buf);
640 int fimc_register_m2m_device(struct fimc_dev *fimc,
642 void fimc_unregister_m2m_device(struct fimc_dev *fimc);
661 int fimc_initialize_capture_subdev(struct fimc_dev *fimc);
662 void fimc_unregister_capture_subdev(struct fimc_dev *fimc);
[all …]
Dfimc-lite.h183 static inline bool fimc_lite_active(struct fimc_lite *fimc) in fimc_lite_active() argument
188 spin_lock_irqsave(&fimc->slock, flags); in fimc_lite_active()
189 ret = fimc->state & (1 << ST_FLITE_RUN) || in fimc_lite_active()
190 fimc->state & (1 << ST_FLITE_PENDING); in fimc_lite_active()
191 spin_unlock_irqrestore(&fimc->slock, flags); in fimc_lite_active()
Dmedia-dev.c569 static int register_fimc_entity(struct fimc_md *fmd, struct fimc_dev *fimc) in register_fimc_entity() argument
575 if (WARN_ON(fimc->id >= FIMC_MAX_DEVS || fmd->fimc[fimc->id])) in register_fimc_entity()
578 sd = &fimc->vid_cap.subdev; in register_fimc_entity()
589 if (!fmd->pmf && fimc->pdev) in register_fimc_entity()
590 fmd->pmf = &fimc->pdev->dev; in register_fimc_entity()
591 fmd->fimc[fimc->id] = fimc; in register_fimc_entity()
592 fimc->vid_cap.user_subdev_api = fmd->user_subdev_api; in register_fimc_entity()
595 fimc->id, ret); in register_fimc_entity()
740 struct fimc_dev *dev = fmd->fimc[i]; in fimc_md_unregister_entities()
745 fmd->fimc[i] = NULL; in fimc_md_unregister_entities()
[all …]
DKconfig30 module will be called s5p-fimc.
56 module will be called exynos-fimc-lite.
70 module will be called exynos4-fimc-is.
Dmedia-dev.h129 struct fimc_dev *fimc[FIMC_MAX_DEVS]; member
/Linux-v4.19/Documentation/media/v4l-drivers/
Dfimc.rst46 drivers/media/platform/exynos4-is/fimc-capture.c
52 drivers/media/platform/exynos4-is/fimc-core.c
55 drivers/media/platform/exynos4-is/fimc-core.h
56 drivers/media/platform/exynos4-is/fimc-reg.h
57 drivers/media/platform/exynos4-is/regs-fimc.h
108 API the driver creates a sysfs entry associated with "s5p-fimc-md" platform
109 device. The entry path is: /sys/platform/devices/s5p-fimc-md/subdev_conf_mode.
112 sensor subdev -> mipi-csi subdev -> fimc subdev -> video node
128 # echo "sub-dev" > /sys/platform/devices/s5p-fimc-md/subdev_conf_mode
135 # echo "vid-dev" > /sys/platform/devices/s5p-fimc-md/subdev_conf_mode
[all …]
Dindex.rst45 fimc
/Linux-v4.19/Documentation/devicetree/bindings/media/
Dexynos-fimc-lite.txt6 "samsung,exynos4212-fimc-lite" for Exynos4212/4412 SoCs,
7 "samsung,exynos5250-fimc-lite" for Exynos5250 compatible
16 fimc-lite<n>, where <n> is an integer specifying the IP block instance.
Dsamsung-fimc.txt18 - compatible: must be "samsung,fimc", "simple-bus"
43 The 'camera' node must include at least one 'fimc' child node.
46 'fimc' device nodes
51 - compatible: "samsung,s5pv210-fimc" for S5PV210, "samsung,exynos4210-fimc"
52 for Exynos4210 and "samsung,exynos4212-fimc" for Exynos4x12 SoCs;
57 - clock-names: must contain "fimc", "sclk_fimc" entries.
68 fimc<n>, where <n> is an integer specifying the IP block instance.
160 compatible = "samsung,fimc", "simple-bus";
187 fimc_0: fimc@11800000 {
188 compatible = "samsung,exynos4210-fimc";
Dexynos4-fimc-is.txt8 fimc-is node
12 - compatible : should be "samsung,exynos4212-fimc-is" for Exynos4212 and
31 either standalone or as the fimc-is node child nodes.
/Linux-v4.19/arch/arm/boot/dts/
Dexynos4412.dtsi29 fimc-lite0 = &fimc_lite_0;
30 fimc-lite1 = &fimc_lite_1;
594 fimc_lite_0: fimc-lite@12390000 {
595 compatible = "samsung,exynos4212-fimc-lite";
605 fimc_lite_1: fimc-lite@123a0000 {
606 compatible = "samsung,exynos4212-fimc-lite";
616 fimc_is: fimc-is@12000000 {
617 compatible = "samsung,exynos4212-fimc-is";
680 compatible = "samsung,exynos4212-fimc";
688 compatible = "samsung,exynos4212-fimc";
[all …]
Ds5pv210.dtsi560 compatible = "samsung,fimc", "simple-bus";
588 fimc0: fimc@fb200000 {
589 compatible = "samsung,s5pv210-fimc";
595 clock-names = "fimc",
602 fimc1: fimc@fb300000 {
603 compatible = "samsung,s5pv210-fimc";
609 clock-names = "fimc",
616 fimc2: fimc@fb400000 {
617 compatible = "samsung,s5pv210-fimc";
623 clock-names = "fimc",
Dexynos4.dtsi206 compatible = "samsung,fimc", "simple-bus";
214 fimc_0: fimc@11800000 {
215 compatible = "samsung,exynos4210-fimc";
220 clock-names = "fimc", "sclk_fimc";
227 fimc_1: fimc@11810000 {
228 compatible = "samsung,exynos4210-fimc";
233 clock-names = "fimc", "sclk_fimc";
240 fimc_2: fimc@11820000 {
241 compatible = "samsung,exynos4210-fimc";
246 clock-names = "fimc", "sclk_fimc";
[all …]
Dexynos3250-pinctrl.dtsi548 fimc_is_i2c0: fimc-is-i2c0 {
555 fimc_is_i2c1: fimc-is-i2c1 {
562 fimc_is_uart: fimc-is-uart {
Dexynos4412-pinctrl.dtsi869 fimc_is_i2c0: fimc-is-i2c0 {
876 fimc_is_i2c1: fimc-is-i2c1 {
883 fimc_is_uart: fimc-is-uart {
/Linux-v4.19/arch/arm64/boot/dts/exynos/
Dexynos5433-pinctrl.dtsi588 fimc_is_spi_pin0: fimc-is-spi-pin0 {
595 fimc_is_spi_pin1: fimc-is-spi-pin1 {
725 fimc_is_uart: fimc-is-uart {
732 fimc_is_ch0_i2c: fimc-is-ch0_i2c {
739 fimc_is_ch0_mclk: fimc-is-ch0_mclk {
746 fimc_is_ch1_i2c: fimc-is-ch1-i2c {
753 fimc_is_ch1_mclk: fimc-is-ch1-mclk {
760 fimc_is_ch2_i2c: fimc-is-ch2-i2c {
767 fimc_is_ch2_mclk: fimc-is-ch2-mclk {
/Linux-v4.19/drivers/devfreq/event/
Dexynos-ppmu.c79 PPMU_EVENT(fimc),