| /kernel/linux/linux-5.10/drivers/media/platform/exynos4-is/ |
| D | fimc-lite.c | 3 * Samsung EXYNOS FIMC-LITE (camera host interface) driver 31 #include <media/drv-intf/exynos-fimc.h> 34 #include "fimc-core.h" 35 #include "fimc-lite.h" 36 #include "fimc-lite-reg.h" 102 * fimc_lite_find_format - lookup fimc color format by fourcc or media bus code 133 static int fimc_lite_hw_init(struct fimc_lite *fimc, bool isp_output) in fimc_lite_hw_init() argument 138 if (fimc->sensor == NULL) in fimc_lite_hw_init() 141 if (fimc->inp_frame.fmt == NULL || fimc->out_frame.fmt == NULL) in fimc_lite_hw_init() 145 si = v4l2_get_subdev_hostdata(fimc->sensor); in fimc_lite_hw_init() [all …]
|
| D | Makefile | 2 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
|
| D | fimc-core.c | 3 * Samsung S5P/EXYNOS4 SoC series FIMC (CAMIF) driver 29 #include "fimc-core.h" 30 #include "fimc-reg.h" 34 "sclk_fimc", "fimc" 292 struct fimc_dev *fimc = priv; in fimc_irq_handler() local 295 fimc_hw_clear_irq(fimc); in fimc_irq_handler() 297 spin_lock(&fimc->slock); in fimc_irq_handler() 299 if (test_and_clear_bit(ST_M2M_PEND, &fimc->state)) { in fimc_irq_handler() 300 if (test_and_clear_bit(ST_M2M_SUSPENDING, &fimc->state)) { in fimc_irq_handler() 301 set_bit(ST_M2M_SUSPENDED, &fimc->state); in fimc_irq_handler() [all …]
|
| D | fimc-capture.c | 29 #include "fimc-core.h" 30 #include "fimc-reg.h" 33 static int fimc_capture_hw_init(struct fimc_dev *fimc) in fimc_capture_hw_init() argument 35 struct fimc_source_info *si = &fimc->vid_cap.source_config; in fimc_capture_hw_init() 36 struct fimc_ctx *ctx = fimc->vid_cap.ctx; in fimc_capture_hw_init() 44 ret = fimc_hw_camblk_cfg_writeback(fimc); in fimc_capture_hw_init() 49 spin_lock_irqsave(&fimc->slock, flags); in fimc_capture_hw_init() 53 fimc_hw_set_camera_polarity(fimc, si); in fimc_capture_hw_init() 54 fimc_hw_set_camera_type(fimc, si); in fimc_capture_hw_init() 55 fimc_hw_set_camera_source(fimc, si); in fimc_capture_hw_init() [all …]
|
| D | fimc-m2m.c | 3 * Samsung S5P/EXYNOS4 SoC series FIMC (video postprocessor) driver 27 #include "fimc-core.h" 28 #include "fimc-reg.h" 61 struct fimc_dev *fimc = ctx->fimc_dev; in fimc_m2m_shutdown() local 63 if (!fimc_m2m_pending(fimc)) in fimc_m2m_shutdown() 68 wait_event_timeout(fimc->irq_queue, in fimc_m2m_shutdown() 94 struct fimc_dev *fimc; in fimc_device_run() local 101 fimc = ctx->fimc_dev; in fimc_device_run() 102 spin_lock_irqsave(&fimc->slock, flags); in fimc_device_run() 104 set_bit(ST_M2M_PEND, &fimc->state); in fimc_device_run() [all …]
|
| D | Kconfig | 20 tristate "S5P/EXYNOS4 FIMC/CAMIF camera interface driver" 29 interface and video postprocessor (FIMC) devices. 32 module will be called s5p-fimc. 47 tristate "EXYNOS FIMC-LITE camera interface driver" 54 This is a V4L2 driver for Samsung EXYNOS4/5 SoC FIMC-LITE camera 58 module will be called exynos-fimc-lite. 61 tristate "EXYNOS4x12 FIMC-IS (Imaging Subsystem) driver" 69 FIMC-IS (Imaging Subsystem). 72 module will be called exynos4-fimc-is. 75 bool "EXYNOS4x12 FIMC-IS ISP Direct DMA capture support" [all …]
|
| D | media-dev.c | 31 #include <media/drv-intf/exynos-fimc.h> 34 #include "fimc-core.h" 35 #include "fimc-is.h" 36 #include "fimc-lite.h" 39 /* Set up image sensor subdev -> FIMC capture node notifications. */ 60 * @p: fimc pipeline 152 * @p: fimc device terminating the pipeline 190 * @fmd: fimc media device 200 /* Enable PXLASYNC clock if this pipeline includes FIMC-IS */ in __fimc_pipeline_enable() 220 * @ep: fimc device terminating the pipeline [all …]
|
| D | media-dev.h | 19 #include <media/drv-intf/exynos-fimc.h> 21 #include "fimc-core.h" 22 #include "fimc-lite.h" 25 #define FIMC_OF_NODE_NAME "fimc" 26 #define FIMC_LITE_OF_NODE_NAME "fimc-lite" 27 #define FIMC_IS_OF_NODE_NAME "fimc-is" 80 * @host: fimc device the sensor is currently linked to 98 * struct fimc_md - fimc media device information 103 * @fimc: array of registered fimc devices 104 * @fimc_is: fimc-is data structure [all …]
|
| D | fimc-core.h | 27 #include <media/drv-intf/exynos-fimc.h> 35 #define FIMC_DRIVER_NAME "exynos4-fimc" 170 * struct fimc_scaler - the configuration data for FIMC inetrnal scaler 205 * struct fimc_addr - the FIMC physical address set for DMA 244 * @fmt: fimc color format pointer 285 * @subdev: subdev exposing the FIMC processing block 287 * @vd_pad: fimc video capture node pad 288 * @sd_pads: fimc video processing block pads 289 * @ci_fmt: image format at the FIMC camera input (and the scaler output) 290 * @wb_fmt: image format at the FIMC ISP Writeback input [all …]
|
| D | fimc-lite.h | 23 #include <media/drv-intf/exynos-fimc.h> 25 #define FIMC_LITE_DRV_NAME "exynos-fimc-lite" 51 * struct flite_drvdata - FIMC-LITE IP variant data structure 60 * @num_instances: total number of FIMC-LITE IP instances available 107 * struct fimc_lite - fimc lite structure 108 * @pdev: pointer to FIMC-LITE platform device 113 * @subdev: FIMC-LITE subdev 116 * @sensor: sensor subdev attached to FIMC-LITE directly or through MIPI-CSIS 119 * @index: FIMC-LITE platform device index 124 * @clock: FIMC-LITE gate clock [all …]
|
| /kernel/linux/linux-6.6/drivers/media/platform/samsung/exynos4-is/ |
| D | fimc-lite.c | 3 * Samsung EXYNOS FIMC-LITE (camera host interface) driver 31 #include <media/drv-intf/exynos-fimc.h> 34 #include "fimc-core.h" 35 #include "fimc-lite.h" 36 #include "fimc-lite-reg.h" 102 * fimc_lite_find_format - lookup fimc color format by fourcc or media bus code 133 static int fimc_lite_hw_init(struct fimc_lite *fimc, bool isp_output) in fimc_lite_hw_init() argument 138 if (fimc->sensor == NULL) in fimc_lite_hw_init() 141 if (fimc->inp_frame.fmt == NULL || fimc->out_frame.fmt == NULL) in fimc_lite_hw_init() 145 si = v4l2_get_subdev_hostdata(fimc->sensor); in fimc_lite_hw_init() [all …]
|
| D | Makefile | 2 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
|
| D | fimc-core.c | 3 * Samsung S5P/EXYNOS4 SoC series FIMC (CAMIF) driver 28 #include "fimc-core.h" 29 #include "fimc-reg.h" 33 "sclk_fimc", "fimc" 293 struct fimc_dev *fimc = priv; in fimc_irq_handler() local 296 fimc_hw_clear_irq(fimc); in fimc_irq_handler() 298 spin_lock(&fimc->slock); in fimc_irq_handler() 300 if (test_and_clear_bit(ST_M2M_PEND, &fimc->state)) { in fimc_irq_handler() 301 if (test_and_clear_bit(ST_M2M_SUSPENDING, &fimc->state)) { in fimc_irq_handler() 302 set_bit(ST_M2M_SUSPENDED, &fimc->state); in fimc_irq_handler() [all …]
|
| D | fimc-capture.c | 29 #include "fimc-core.h" 30 #include "fimc-reg.h" 33 static int fimc_capture_hw_init(struct fimc_dev *fimc) in fimc_capture_hw_init() argument 35 struct fimc_source_info *si = &fimc->vid_cap.source_config; in fimc_capture_hw_init() 36 struct fimc_ctx *ctx = fimc->vid_cap.ctx; in fimc_capture_hw_init() 44 ret = fimc_hw_camblk_cfg_writeback(fimc); in fimc_capture_hw_init() 49 spin_lock_irqsave(&fimc->slock, flags); in fimc_capture_hw_init() 53 fimc_hw_set_camera_polarity(fimc, si); in fimc_capture_hw_init() 54 fimc_hw_set_camera_type(fimc, si); in fimc_capture_hw_init() 55 fimc_hw_set_camera_source(fimc, si); in fimc_capture_hw_init() [all …]
|
| D | fimc-m2m.c | 3 * Samsung S5P/EXYNOS4 SoC series FIMC (video postprocessor) driver 27 #include "fimc-core.h" 28 #include "fimc-reg.h" 61 struct fimc_dev *fimc = ctx->fimc_dev; in fimc_m2m_shutdown() local 63 if (!fimc_m2m_pending(fimc)) in fimc_m2m_shutdown() 68 wait_event_timeout(fimc->irq_queue, in fimc_m2m_shutdown() 94 struct fimc_dev *fimc; in fimc_device_run() local 101 fimc = ctx->fimc_dev; in fimc_device_run() 102 spin_lock_irqsave(&fimc->slock, flags); in fimc_device_run() 104 set_bit(ST_M2M_PEND, &fimc->state); in fimc_device_run() [all …]
|
| D | Kconfig | 21 tristate "S5P/EXYNOS4 FIMC/CAMIF camera interface driver" 30 interface and video postprocessor (FIMC) devices. 33 module will be called s5p-fimc. 48 tristate "EXYNOS FIMC-LITE camera interface driver" 55 This is a V4L2 driver for Samsung EXYNOS4/5 SoC FIMC-LITE camera 59 module will be called exynos-fimc-lite. 62 tristate "EXYNOS4x12 FIMC-IS (Imaging Subsystem) driver" 70 FIMC-IS (Imaging Subsystem). 73 module will be called exynos4-fimc-is. 76 bool "EXYNOS4x12 FIMC-IS ISP Direct DMA capture support" [all …]
|
| D | media-dev.c | 30 #include <media/drv-intf/exynos-fimc.h> 33 #include "fimc-core.h" 34 #include "fimc-is.h" 35 #include "fimc-lite.h" 38 /* Set up image sensor subdev -> FIMC capture node notifications. */ 59 * @p: fimc pipeline 151 * @p: fimc device terminating the pipeline 189 * @fmd: fimc media device 199 /* Enable PXLASYNC clock if this pipeline includes FIMC-IS */ in __fimc_pipeline_enable() 219 * @ep: fimc device terminating the pipeline [all …]
|
| D | media-dev.h | 18 #include <media/drv-intf/exynos-fimc.h> 20 #include "fimc-core.h" 21 #include "fimc-lite.h" 24 #define FIMC_OF_NODE_NAME "fimc" 25 #define FIMC_LITE_OF_NODE_NAME "fimc-lite" 26 #define FIMC_IS_OF_NODE_NAME "fimc-is" 79 * @host: fimc device the sensor is currently linked to 97 * struct fimc_md - fimc media device information 103 * @fimc_lite: array of registered fimc-lite devices 104 * @fimc: array of registered fimc devices [all …]
|
| D | fimc-lite.h | 23 #include <media/drv-intf/exynos-fimc.h> 25 #define FIMC_LITE_DRV_NAME "exynos-fimc-lite" 51 * struct flite_drvdata - FIMC-LITE IP variant data structure 60 * @num_instances: total number of FIMC-LITE IP instances available 107 * struct fimc_lite - fimc lite structure 108 * @pdev: pointer to FIMC-LITE platform device 113 * @subdev: FIMC-LITE subdev 116 * @sensor: sensor subdev attached to FIMC-LITE directly or through MIPI-CSIS 119 * @index: FIMC-LITE platform device index 124 * @clock: FIMC-LITE gate clock [all …]
|
| D | fimc-core.h | 27 #include <media/drv-intf/exynos-fimc.h> 35 #define FIMC_DRIVER_NAME "exynos4-fimc" 170 * struct fimc_scaler - the configuration data for FIMC inetrnal scaler 205 * struct fimc_addr - the FIMC address set for DMA 244 * @fmt: fimc color format pointer 286 * @subdev: subdev exposing the FIMC processing block 288 * @vd_pad: fimc video capture node pad 289 * @sd_pads: fimc video processing block pads 290 * @ci_fmt: image format at the FIMC camera input (and the scaler output) 291 * @wb_fmt: image format at the FIMC ISP Writeback input [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/media/ |
| D | samsung,fimc.yaml | 4 $id: http://devicetree.org/schemas/media/samsung,fimc.yaml# 7 title: Samsung S5P/Exynos SoC Camera Subsystem (FIMC) 16 Integrated Mobile Camera (FIMC, in the S5P SoCs series known as CAMIF), MIPI 17 CSIS, FIMC-LITE and FIMC-IS (ISP). 21 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# 91 description: Imaging Subsystem (FIMC-IS). [all …]
|
| D | samsung,exynos4210-fimc.yaml | 4 $id: http://devicetree.org/schemas/media/samsung,exynos4210-fimc.yaml# 14 Each FIMC device should have an alias in the aliases node, in the form of 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 37 Maximum FIMC local clock (LCLK) frequency. 51 The FIMC IP block includes the camera input interface. 56 The FIMC IP block has the ISP writeback input. [all …]
|
| /kernel/linux/linux-5.10/Documentation/admin-guide/media/ |
| D | fimc.rst | 5 The Samsung S5P/Exynos4 FIMC driver 10 The FIMC (Fully Interactive Mobile Camera) device available in Samsung 14 path. There are multiple FIMC instances in the SoCs (up to 4), having 31 - dynamic pipeline re-configuration at runtime (re-attachment of any FIMC 48 The media device driver name is "Samsung S5P FIMC". 50 The purpose of this interface is to allow changing assignment of FIMC instances 52 connections of the MIPI-CSIS device(s) to the FIMC entities. 55 data from the sensor through more than one FIMC instance (e.g. for simultaneous 67 capture video node operation on same FIMC instance is not allowed. The driver 83 Each FIMC instance exports a sub-device node (/dev/v4l-subdev?), a sub-device [all …]
|
| /kernel/linux/linux-6.6/Documentation/admin-guide/media/ |
| D | fimc.rst | 5 The Samsung S5P/Exynos4 FIMC driver 10 The FIMC (Fully Interactive Mobile Camera) device available in Samsung 14 path. There are multiple FIMC instances in the SoCs (up to 4), having 31 - dynamic pipeline re-configuration at runtime (re-attachment of any FIMC 48 The media device driver name is "Samsung S5P FIMC". 50 The purpose of this interface is to allow changing assignment of FIMC instances 52 connections of the MIPI-CSIS device(s) to the FIMC entities. 55 data from the sensor through more than one FIMC instance (e.g. for simultaneous 67 capture video node operation on same FIMC instance is not allowed. The driver 83 Each FIMC instance exports a sub-device node (/dev/v4l-subdev?), a sub-device [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/media/ |
| D | samsung-fimc.txt | 1 Samsung S5P/Exynos SoC Camera Subsystem (FIMC) 5 represented by separate device tree nodes. Currently this includes: FIMC (in 6 the S5P SoCs series known as CAMIF), MIPI CSIS, FIMC-LITE and FIMC-IS (ISP). 18 - 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; 54 - interrupts: should contain FIMC interrupt; 57 - clock-names: must contain "fimc", "sclk_fimc" entries. [all …]
|