Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1660076 > unrolled thread

[PATCH v8 00/34] i.MX Media Driver

Started bySteve Longerbeam <slongerbeam@gmail.com>
First post2017-06-07 20:40 +0200
Last post2017-06-11 00:00 +0200
Articles 13 on this page of 33 — 6 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH v8 00/34] i.MX Media Driver Steve Longerbeam <slongerbeam@gmail.com> - 2017-06-07 20:40 +0200
    [PATCH v8 28/34] media: imx: csi: add frame skipping support Steve Longerbeam <slongerbeam@gmail.com> - 2017-06-07 20:40 +0200
    [PATCH v8 11/34] ARM: dts: imx6-sabreauto: create i2cmux for i2c3 Steve Longerbeam <slongerbeam@gmail.com> - 2017-06-07 20:40 +0200
    [PATCH v8 26/34] media: imx: csi: add support for bayer formats Steve Longerbeam <slongerbeam@gmail.com> - 2017-06-07 20:40 +0200
    [PATCH v8 31/34] media: imx: capture: add frame sizes/interval enumeration Steve Longerbeam <slongerbeam@gmail.com> - 2017-06-07 20:40 +0200
    [PATCH v8 25/34] media: imx: Add MIPI CSI-2 Receiver subdev driver Steve Longerbeam <slongerbeam@gmail.com> - 2017-06-07 20:40 +0200
    [PATCH v8 32/34] media: imx: set and propagate default field, colorimetry Steve Longerbeam <slongerbeam@gmail.com> - 2017-06-07 20:40 +0200
    [PATCH v8 33/34] media: imx: Drop warning upon multiple S_STREAM disable calls Steve Longerbeam <slongerbeam@gmail.com> - 2017-06-07 20:40 +0200
    [PATCH v8 30/34] media: imx: csi: add frame size/interval enumeration Steve Longerbeam <slongerbeam@gmail.com> - 2017-06-07 20:40 +0200
    [PATCH v8 16/34] platform: add video-multiplexer subdevice driver Steve Longerbeam <slongerbeam@gmail.com> - 2017-06-07 20:40 +0200
    [PATCH v8 09/34] ARM: dts: imx6-sabrelite: add OV5642 and OV5640 camera sensors Steve Longerbeam <slongerbeam@gmail.com> - 2017-06-07 20:50 +0200
    [PATCH v8 18/34] media: Add userspace header file for i.MX Steve Longerbeam <slongerbeam@gmail.com> - 2017-06-07 20:50 +0200
    [PATCH v8 07/34] ARM: dts: imx6qdl: add capture-subsystem device Steve Longerbeam <slongerbeam@gmail.com> - 2017-06-07 20:50 +0200
    [PATCH v8 15/34] add mux and video interface bridge entity functions Steve Longerbeam <slongerbeam@gmail.com> - 2017-06-07 20:50 +0200
    [PATCH v8 23/34] media: imx: Add VDIC subdev driver Steve Longerbeam <slongerbeam@gmail.com> - 2017-06-07 20:50 +0200
    [PATCH v8 04/34] ARM: dts: imx6qdl: add multiplexer controls Steve Longerbeam <slongerbeam@gmail.com> - 2017-06-07 20:50 +0200
    [PATCH v8 21/34] media: imx: Add Capture Device Interface Steve Longerbeam <slongerbeam@gmail.com> - 2017-06-07 20:50 +0200
    [PATCH v8 13/34] ARM: dts: imx6-sabreauto: add pinctrl for gpt input capture Steve Longerbeam <slongerbeam@gmail.com> - 2017-06-07 20:50 +0200
    [PATCH v8 06/34] ARM: dts: imx6qdl: Add video multiplexers, mipi_csi, and their connections Steve Longerbeam <slongerbeam@gmail.com> - 2017-06-07 20:50 +0200
    [PATCH v8 12/34] ARM: dts: imx6-sabreauto: add reset-gpios property for max7310_b Steve Longerbeam <slongerbeam@gmail.com> - 2017-06-07 20:50 +0200
    [PATCH v8 03/34] [media] dt/bindings: Add bindings for OV5640 Steve Longerbeam <slongerbeam@gmail.com> - 2017-06-07 20:50 +0200
    [PATCH v8 01/34] dt-bindings: Add bindings for video-multiplexer device Steve Longerbeam <slongerbeam@gmail.com> - 2017-06-07 20:50 +0200
    Re: [PATCH v8 00/34] i.MX Media Driver Hans Verkuil <hverkuil@xs4all.nl> - 2017-06-07 21:10 +0200
      Re: [PATCH v8 00/34] i.MX Media Driver Steve Longerbeam <slongerbeam@gmail.com> - 2017-06-07 21:10 +0200
      Re: [PATCH v8 00/34] i.MX Media Driver Steve Longerbeam <slongerbeam@gmail.com> - 2017-06-10 01:20 +0200
      Re: [PATCH v8 00/34] i.MX Media Driver Steve Longerbeam <slongerbeam@gmail.com> - 2017-06-10 01:20 +0200
        Re: [PATCH v8 00/34] i.MX Media Driver Hans Verkuil <hverkuil@xs4all.nl> - 2017-06-10 01:30 +0200
          Re: [PATCH v8 00/34] i.MX Media Driver Pavel Machek <pavel@ucw.cz> - 2017-06-10 09:40 +0200
          Re: [PATCH v8 00/34] i.MX Media Driver Vladimir Zapolskiy <vladimir_zapolskiy@mentor.com> - 2017-06-11 22:10 +0200
            Re: [PATCH v8 00/34] i.MX Media Driver Steve Longerbeam <slongerbeam@gmail.com> - 2017-06-12 20:20 +0200
    Re: [PATCH v8 19/34] media: Add i.MX media core driver Philipp Zabel <p.zabel@pengutronix.de> - 2017-06-09 15:20 +0200
      Re: [PATCH v8 19/34] media: Add i.MX media core driver Steve Longerbeam <slongerbeam@gmail.com> - 2017-06-10 01:10 +0200
    Re: [PATCH v8 17/34] [media] add Omnivision OV5640 sensor driver Sakari Ailus <sakari.ailus@iki.fi> - 2017-06-11 00:00 +0200

Page 2 of 2 — ← Prev page 1 [2]


#1660103 — [PATCH v8 03/34] [media] dt/bindings: Add bindings for OV5640

FromSteve Longerbeam <slongerbeam@gmail.com>
Date2017-06-07 20:50 +0200
Subject[PATCH v8 03/34] [media] dt/bindings: Add bindings for OV5640
Message-ID<tPObN-1TW-37@gated-at.bofh.it>
In reply to#1660076
Add device tree binding documentation for the OV5640 camera sensor.

Signed-off-by: Steve Longerbeam <steve_longerbeam@mentor.com>
Acked-by: Rob Herring <robh@kernel.org>
---
 .../devicetree/bindings/media/i2c/ov5640.txt       | 45 ++++++++++++++++++++++
 1 file changed, 45 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/media/i2c/ov5640.txt

diff --git a/Documentation/devicetree/bindings/media/i2c/ov5640.txt b/Documentation/devicetree/bindings/media/i2c/ov5640.txt
new file mode 100644
index 0000000..540b36c
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/i2c/ov5640.txt
@@ -0,0 +1,45 @@
+* Omnivision OV5640 MIPI CSI-2 sensor
+
+Required Properties:
+- compatible: should be "ovti,ov5640"
+- clocks: reference to the xclk input clock.
+- clock-names: should be "xclk".
+- DOVDD-supply: Digital I/O voltage supply, 1.8 volts
+- AVDD-supply: Analog voltage supply, 2.8 volts
+- DVDD-supply: Digital core voltage supply, 1.5 volts
+
+Optional Properties:
+- reset-gpios: reference to the GPIO connected to the reset pin, if any.
+	       This is an active low signal to the OV5640.
+- powerdown-gpios: reference to the GPIO connected to the powerdown pin,
+		   if any. This is an active high signal to the OV5640.
+
+The device node must contain one 'port' child node for its digital output
+video port, in accordance with the video interface bindings defined in
+Documentation/devicetree/bindings/media/video-interfaces.txt.
+
+Example:
+
+&i2c1 {
+	ov5640: camera@3c {
+		compatible = "ovti,ov5640";
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_ov5640>;
+		reg = <0x3c>;
+		clocks = <&clks IMX6QDL_CLK_CKO>;
+		clock-names = "xclk";
+		DOVDD-supply = <&vgen4_reg>; /* 1.8v */
+		AVDD-supply = <&vgen3_reg>;  /* 2.8v */
+		DVDD-supply = <&vgen2_reg>;  /* 1.5v */
+		powerdown-gpios = <&gpio1 19 GPIO_ACTIVE_HIGH>;
+		reset-gpios = <&gpio1 20 GPIO_ACTIVE_LOW>;
+
+		port {
+			ov5640_to_mipi_csi2: endpoint {
+				remote-endpoint = <&mipi_csi2_from_ov5640>;
+				clock-lanes = <0>;
+				data-lanes = <1 2>;
+			};
+		};
+	};
+};
-- 
2.7.4

[toc] | [prev] | [next] | [standalone]


#1660104 — [PATCH v8 01/34] dt-bindings: Add bindings for video-multiplexer device

FromSteve Longerbeam <slongerbeam@gmail.com>
Date2017-06-07 20:50 +0200
Subject[PATCH v8 01/34] dt-bindings: Add bindings for video-multiplexer device
Message-ID<tPObN-1TW-41@gated-at.bofh.it>
In reply to#1660076
From: Philipp Zabel <p.zabel@pengutronix.de>

Add bindings documentation for the video multiplexer device.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Steve Longerbeam <steve_longerbeam@mentor.com>
Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
Acked-by: Rob Herring <robh@kernel.org>
Acked-by: Pavel Machek <pavel@ucw.cz>
---
 .../devicetree/bindings/media/video-mux.txt        | 60 ++++++++++++++++++++++
 1 file changed, 60 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/media/video-mux.txt

diff --git a/Documentation/devicetree/bindings/media/video-mux.txt b/Documentation/devicetree/bindings/media/video-mux.txt
new file mode 100644
index 0000000..63b9dc9
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/video-mux.txt
@@ -0,0 +1,60 @@
+Video Multiplexer
+=================
+
+Video multiplexers allow to select between multiple input ports. Video received
+on the active input port is passed through to the output port. Muxes described
+by this binding are controlled by a multiplexer controller that is described by
+the bindings in Documentation/devicetree/bindings/mux/mux-controller.txt
+
+Required properties:
+- compatible : should be "video-mux"
+- mux-controls : mux controller node to use for operating the mux
+- #address-cells: should be <1>
+- #size-cells: should be <0>
+- port@*: at least three port nodes containing endpoints connecting to the
+  source and sink devices according to of_graph bindings. The last port is
+  the output port, all others are inputs.
+
+Optionally, #address-cells, #size-cells, and port nodes can be grouped under a
+ports node as described in Documentation/devicetree/bindings/graph.txt.
+
+Example:
+
+	mux: mux-controller {
+		compatible = "gpio-mux";
+		#mux-control-cells = <0>;
+
+		mux-gpios = <&gpio1 15 GPIO_ACTIVE_HIGH>;
+	};
+
+	video-mux {
+		compatible = "video-mux";
+		mux-controls = <&mux>;
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		port@0 {
+			reg = <0>;
+
+			mux_in0: endpoint {
+				remote-endpoint = <&video_source0_out>;
+			};
+		};
+
+		port@1 {
+			reg = <1>;
+
+			mux_in1: endpoint {
+				remote-endpoint = <&video_source1_out>;
+			};
+		};
+
+		port@2 {
+			reg = <2>;
+
+			mux_out: endpoint {
+				remote-endpoint = <&capture_interface_in>;
+			};
+		};
+	};
+};
-- 
2.7.4

[toc] | [prev] | [next] | [standalone]


#1660118

FromHans Verkuil <hverkuil@xs4all.nl>
Date2017-06-07 21:10 +0200
Message-ID<tPOv8-2fF-13@gated-at.bofh.it>
In reply to#1660076
We're still waiting for an Ack for patch 02/34, right?

Other than that everything is ready AFAICT.

Regards,

	Hans

On 07/06/17 20:33, Steve Longerbeam wrote:
> In version 8:
> 
> - Switched to v4l2_fwnode APIs.
> 
> - Always pass a valid CSI id to ipu_set_ic_src_mux() in imx-ic-prp, even
>   if the IC is receiving from the VDIC. The reason is due to a bug in the
>   i.MX6 reference manual: from experiment it is determined that the CSI id
>   select bit in IPU_CONF register selects which CSI is routed to either
>   the VDIC or the IC, and is independent of whether the IC is set to
>   receive from a CSI or the VDIC. Sugested by Marek Vasut <marex@denx.de>.
> 
> - ov5640: propagate error codes from all i2c register accesses.
>   Sugested by Sakari Ailus <sakari.ailus@iki.fi>.
> 
> - ov5640: drop the entity stream count check in ov5640_s_stream().
>   Sugested by Sakari Ailus <sakari.ailus@iki.fi>.
> 
> - ov5640: Fix manual exposure control. The manual exposure setting
>   (in line periods) cannot exceed the max exposure value in registers
>   {0x380E, 0x380F} + {0x350C,0x350D}, however the max eposure value was
>   not being calcualted correctly.
> 
> - ov5640: the video mode register tables require auto gain/exposure be
>   disabled before programming the register set. However auto gain/exp was
>   being disabled by direct register write. This caused the auto gain/exp
>   control values to be inconsistent with the actual hardware setting. Fixed
>   by going through v4l2-ctrl when disabling auto gain/exp.
> 
> - ov5640: converted virtual channel macro to a module parameter, default
>   to channel 0.
> 
> - ov5640: override the v4l2-ctl lock to use the ov5640 subdev driver's
>   lock. Sugested by Sakari Ailus <sakari.ailus@iki.fi>.
> 
> - ov5640: switch to unit-less V4L2_CID_EXPOSURE. Using
>   V4L2_CID_EXPOSURE_ABSOLUTE will require converting from 100-usec units
>   to line periods and vice-versa. Sugested by Sakari Ailus and
>   Pavel Machek <pavel@ucw.cz>.
> 
> - ov5640: drop dangling regulator_bulk_disable() from probe/remove.
>   Sugested by Sakari Ailus <sakari.ailus@iki.fi>.
> 
> - FIM: move input capture channel selection out of the device-tree and
>   make this a V4L2 control. In order to support attaching a FIM to prpencvf,
>   the FIM cannot have any device-tree configuration, because prpencvf has
>   no device node. The FIM now is completely configurable via its V4L2
>   controls.
> 
> - FIM: drop imx_media_fim_set_power(), and move the input capture channel
>   request to imx_media_fim_set_stream(). This allows to drop csi_s_power()
>   as well, since the latter only called imx_media_fim_set_power().
> 
> - FIM: add a spinlock to protect the frame_interval_monitor() from the
>   setting of new control values. The frame_interval_monitor() is called
>   from interrupt context so a spinlock must be used.
> 
> - Updated to version 8 video-mux patchset from Philipp Zabel
>   <p.zabel@pengutronix.de>.
> 
> 
> Marek Vasut (1):
>   media: imx: Drop warning upon multiple S_STREAM disable calls
> 
> Philipp Zabel (8):
>   dt-bindings: Add bindings for video-multiplexer device
>   ARM: dts: imx6qdl: add multiplexer controls
>   ARM: dts: imx6qdl: Add video multiplexers, mipi_csi, and their
>     connections
>   add mux and video interface bridge entity functions
>   platform: add video-multiplexer subdevice driver
>   media: imx: csi: increase burst size for YUV formats
>   media: imx: csi: add frame skipping support
>   media: imx: csi: add sink selection rectangles
> 
> Russell King (3):
>   media: imx: csi: add support for bayer formats
>   media: imx: csi: add frame size/interval enumeration
>   media: imx: capture: add frame sizes/interval enumeration
> 
> Steve Longerbeam (22):
>   [media] dt-bindings: Add bindings for i.MX media driver
>   [media] dt/bindings: Add bindings for OV5640
>   ARM: dts: imx6qdl: Add compatible, clocks, irqs to MIPI CSI-2 node
>   ARM: dts: imx6qdl: add capture-subsystem device
>   ARM: dts: imx6qdl-sabrelite: remove erratum ERR006687 workaround
>   ARM: dts: imx6-sabrelite: add OV5642 and OV5640 camera sensors
>   ARM: dts: imx6-sabresd: add OV5642 and OV5640 camera sensors
>   ARM: dts: imx6-sabreauto: create i2cmux for i2c3
>   ARM: dts: imx6-sabreauto: add reset-gpios property for max7310_b
>   ARM: dts: imx6-sabreauto: add pinctrl for gpt input capture
>   ARM: dts: imx6-sabreauto: add the ADV7180 video decoder
>   [media] add Omnivision OV5640 sensor driver
>   media: Add userspace header file for i.MX
>   media: Add i.MX media core driver
>   media: imx: Add a TODO file
>   media: imx: Add Capture Device Interface
>   media: imx: Add CSI subdev driver
>   media: imx: Add VDIC subdev driver
>   media: imx: Add IC subdev drivers
>   media: imx: Add MIPI CSI-2 Receiver subdev driver
>   media: imx: set and propagate default field, colorimetry
>   ARM: imx_v6_v7_defconfig: Enable staging video4linux drivers
> 
>  .../devicetree/bindings/media/i2c/ov5640.txt       |   45 +
>  Documentation/devicetree/bindings/media/imx.txt    |   47 +
>  .../devicetree/bindings/media/video-mux.txt        |   60 +
>  Documentation/media/uapi/mediactl/media-types.rst  |   21 +
>  Documentation/media/v4l-drivers/imx.rst            |  614 +++++
>  arch/arm/boot/dts/imx6dl-sabrelite.dts             |    5 +
>  arch/arm/boot/dts/imx6dl-sabresd.dts               |    5 +
>  arch/arm/boot/dts/imx6dl.dtsi                      |  189 ++
>  arch/arm/boot/dts/imx6q-sabrelite.dts              |    5 +
>  arch/arm/boot/dts/imx6q-sabresd.dts                |    5 +
>  arch/arm/boot/dts/imx6q.dtsi                       |  125 ++
>  arch/arm/boot/dts/imx6qdl-sabreauto.dtsi           |  136 +-
>  arch/arm/boot/dts/imx6qdl-sabrelite.dtsi           |  152 +-
>  arch/arm/boot/dts/imx6qdl-sabresd.dtsi             |  114 +-
>  arch/arm/boot/dts/imx6qdl.dtsi                     |   20 +-
>  arch/arm/configs/imx_v6_v7_defconfig               |   11 +
>  drivers/media/i2c/Kconfig                          |   10 +
>  drivers/media/i2c/Makefile                         |    1 +
>  drivers/media/i2c/ov5640.c                         | 2344 ++++++++++++++++++++
>  drivers/media/platform/Kconfig                     |    6 +
>  drivers/media/platform/Makefile                    |    2 +
>  drivers/media/platform/video-mux.c                 |  334 +++
>  drivers/staging/media/Kconfig                      |    2 +
>  drivers/staging/media/Makefile                     |    1 +
>  drivers/staging/media/imx/Kconfig                  |   21 +
>  drivers/staging/media/imx/Makefile                 |   12 +
>  drivers/staging/media/imx/TODO                     |   23 +
>  drivers/staging/media/imx/imx-ic-common.c          |  113 +
>  drivers/staging/media/imx/imx-ic-prp.c             |  518 +++++
>  drivers/staging/media/imx/imx-ic-prpencvf.c        | 1309 +++++++++++
>  drivers/staging/media/imx/imx-ic.h                 |   38 +
>  drivers/staging/media/imx/imx-media-capture.c      |  775 +++++++
>  drivers/staging/media/imx/imx-media-csi.c          | 1816 +++++++++++++++
>  drivers/staging/media/imx/imx-media-dev.c          |  666 ++++++
>  drivers/staging/media/imx/imx-media-fim.c          |  494 +++++
>  drivers/staging/media/imx/imx-media-internal-sd.c  |  349 +++
>  drivers/staging/media/imx/imx-media-of.c           |  270 +++
>  drivers/staging/media/imx/imx-media-utils.c        |  896 ++++++++
>  drivers/staging/media/imx/imx-media-vdic.c         | 1009 +++++++++
>  drivers/staging/media/imx/imx-media.h              |  325 +++
>  drivers/staging/media/imx/imx6-mipi-csi2.c         |  698 ++++++
>  include/linux/imx-media.h                          |   29 +
>  include/media/imx.h                                |   15 +
>  include/uapi/linux/media.h                         |    6 +
>  include/uapi/linux/v4l2-controls.h                 |    4 +
>  45 files changed, 13613 insertions(+), 27 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/media/i2c/ov5640.txt
>  create mode 100644 Documentation/devicetree/bindings/media/imx.txt
>  create mode 100644 Documentation/devicetree/bindings/media/video-mux.txt
>  create mode 100644 Documentation/media/v4l-drivers/imx.rst
>  create mode 100644 drivers/media/i2c/ov5640.c
>  create mode 100644 drivers/media/platform/video-mux.c
>  create mode 100644 drivers/staging/media/imx/Kconfig
>  create mode 100644 drivers/staging/media/imx/Makefile
>  create mode 100644 drivers/staging/media/imx/TODO
>  create mode 100644 drivers/staging/media/imx/imx-ic-common.c
>  create mode 100644 drivers/staging/media/imx/imx-ic-prp.c
>  create mode 100644 drivers/staging/media/imx/imx-ic-prpencvf.c
>  create mode 100644 drivers/staging/media/imx/imx-ic.h
>  create mode 100644 drivers/staging/media/imx/imx-media-capture.c
>  create mode 100644 drivers/staging/media/imx/imx-media-csi.c
>  create mode 100644 drivers/staging/media/imx/imx-media-dev.c
>  create mode 100644 drivers/staging/media/imx/imx-media-fim.c
>  create mode 100644 drivers/staging/media/imx/imx-media-internal-sd.c
>  create mode 100644 drivers/staging/media/imx/imx-media-of.c
>  create mode 100644 drivers/staging/media/imx/imx-media-utils.c
>  create mode 100644 drivers/staging/media/imx/imx-media-vdic.c
>  create mode 100644 drivers/staging/media/imx/imx-media.h
>  create mode 100644 drivers/staging/media/imx/imx6-mipi-csi2.c
>  create mode 100644 include/linux/imx-media.h
>  create mode 100644 include/media/imx.h
> 

[toc] | [prev] | [next] | [standalone]


#1660119

FromSteve Longerbeam <slongerbeam@gmail.com>
Date2017-06-07 21:10 +0200
Message-ID<tPOv8-2fF-15@gated-at.bofh.it>
In reply to#1660118

On 06/07/2017 12:02 PM, Hans Verkuil wrote:
> We're still waiting for an Ack for patch 02/34, right?
> 

Hi Hans, Yes still waiting for an ack for the imx-media bindings.


> Other than that everything is ready AFAICT.

Agreed.

Steve

> 
> Regards,
> 
> 	Hans
> 
> On 07/06/17 20:33, Steve Longerbeam wrote:
>> In version 8:
>>
>> - Switched to v4l2_fwnode APIs.
>>
>> - Always pass a valid CSI id to ipu_set_ic_src_mux() in imx-ic-prp, even
>>    if the IC is receiving from the VDIC. The reason is due to a bug in the
>>    i.MX6 reference manual: from experiment it is determined that the CSI id
>>    select bit in IPU_CONF register selects which CSI is routed to either
>>    the VDIC or the IC, and is independent of whether the IC is set to
>>    receive from a CSI or the VDIC. Sugested by Marek Vasut <marex@denx.de>.
>>
>> - ov5640: propagate error codes from all i2c register accesses.
>>    Sugested by Sakari Ailus <sakari.ailus@iki.fi>.
>>
>> - ov5640: drop the entity stream count check in ov5640_s_stream().
>>    Sugested by Sakari Ailus <sakari.ailus@iki.fi>.
>>
>> - ov5640: Fix manual exposure control. The manual exposure setting
>>    (in line periods) cannot exceed the max exposure value in registers
>>    {0x380E, 0x380F} + {0x350C,0x350D}, however the max eposure value was
>>    not being calcualted correctly.
>>
>> - ov5640: the video mode register tables require auto gain/exposure be
>>    disabled before programming the register set. However auto gain/exp was
>>    being disabled by direct register write. This caused the auto gain/exp
>>    control values to be inconsistent with the actual hardware setting. Fixed
>>    by going through v4l2-ctrl when disabling auto gain/exp.
>>
>> - ov5640: converted virtual channel macro to a module parameter, default
>>    to channel 0.
>>
>> - ov5640: override the v4l2-ctl lock to use the ov5640 subdev driver's
>>    lock. Sugested by Sakari Ailus <sakari.ailus@iki.fi>.
>>
>> - ov5640: switch to unit-less V4L2_CID_EXPOSURE. Using
>>    V4L2_CID_EXPOSURE_ABSOLUTE will require converting from 100-usec units
>>    to line periods and vice-versa. Sugested by Sakari Ailus and
>>    Pavel Machek <pavel@ucw.cz>.
>>
>> - ov5640: drop dangling regulator_bulk_disable() from probe/remove.
>>    Sugested by Sakari Ailus <sakari.ailus@iki.fi>.
>>
>> - FIM: move input capture channel selection out of the device-tree and
>>    make this a V4L2 control. In order to support attaching a FIM to prpencvf,
>>    the FIM cannot have any device-tree configuration, because prpencvf has
>>    no device node. The FIM now is completely configurable via its V4L2
>>    controls.
>>
>> - FIM: drop imx_media_fim_set_power(), and move the input capture channel
>>    request to imx_media_fim_set_stream(). This allows to drop csi_s_power()
>>    as well, since the latter only called imx_media_fim_set_power().
>>
>> - FIM: add a spinlock to protect the frame_interval_monitor() from the
>>    setting of new control values. The frame_interval_monitor() is called
>>    from interrupt context so a spinlock must be used.
>>
>> - Updated to version 8 video-mux patchset from Philipp Zabel
>>    <p.zabel@pengutronix.de>.
>>
>>
>> Marek Vasut (1):
>>    media: imx: Drop warning upon multiple S_STREAM disable calls
>>
>> Philipp Zabel (8):
>>    dt-bindings: Add bindings for video-multiplexer device
>>    ARM: dts: imx6qdl: add multiplexer controls
>>    ARM: dts: imx6qdl: Add video multiplexers, mipi_csi, and their
>>      connections
>>    add mux and video interface bridge entity functions
>>    platform: add video-multiplexer subdevice driver
>>    media: imx: csi: increase burst size for YUV formats
>>    media: imx: csi: add frame skipping support
>>    media: imx: csi: add sink selection rectangles
>>
>> Russell King (3):
>>    media: imx: csi: add support for bayer formats
>>    media: imx: csi: add frame size/interval enumeration
>>    media: imx: capture: add frame sizes/interval enumeration
>>
>> Steve Longerbeam (22):
>>    [media] dt-bindings: Add bindings for i.MX media driver
>>    [media] dt/bindings: Add bindings for OV5640
>>    ARM: dts: imx6qdl: Add compatible, clocks, irqs to MIPI CSI-2 node
>>    ARM: dts: imx6qdl: add capture-subsystem device
>>    ARM: dts: imx6qdl-sabrelite: remove erratum ERR006687 workaround
>>    ARM: dts: imx6-sabrelite: add OV5642 and OV5640 camera sensors
>>    ARM: dts: imx6-sabresd: add OV5642 and OV5640 camera sensors
>>    ARM: dts: imx6-sabreauto: create i2cmux for i2c3
>>    ARM: dts: imx6-sabreauto: add reset-gpios property for max7310_b
>>    ARM: dts: imx6-sabreauto: add pinctrl for gpt input capture
>>    ARM: dts: imx6-sabreauto: add the ADV7180 video decoder
>>    [media] add Omnivision OV5640 sensor driver
>>    media: Add userspace header file for i.MX
>>    media: Add i.MX media core driver
>>    media: imx: Add a TODO file
>>    media: imx: Add Capture Device Interface
>>    media: imx: Add CSI subdev driver
>>    media: imx: Add VDIC subdev driver
>>    media: imx: Add IC subdev drivers
>>    media: imx: Add MIPI CSI-2 Receiver subdev driver
>>    media: imx: set and propagate default field, colorimetry
>>    ARM: imx_v6_v7_defconfig: Enable staging video4linux drivers
>>
>>   .../devicetree/bindings/media/i2c/ov5640.txt       |   45 +
>>   Documentation/devicetree/bindings/media/imx.txt    |   47 +
>>   .../devicetree/bindings/media/video-mux.txt        |   60 +
>>   Documentation/media/uapi/mediactl/media-types.rst  |   21 +
>>   Documentation/media/v4l-drivers/imx.rst            |  614 +++++
>>   arch/arm/boot/dts/imx6dl-sabrelite.dts             |    5 +
>>   arch/arm/boot/dts/imx6dl-sabresd.dts               |    5 +
>>   arch/arm/boot/dts/imx6dl.dtsi                      |  189 ++
>>   arch/arm/boot/dts/imx6q-sabrelite.dts              |    5 +
>>   arch/arm/boot/dts/imx6q-sabresd.dts                |    5 +
>>   arch/arm/boot/dts/imx6q.dtsi                       |  125 ++
>>   arch/arm/boot/dts/imx6qdl-sabreauto.dtsi           |  136 +-
>>   arch/arm/boot/dts/imx6qdl-sabrelite.dtsi           |  152 +-
>>   arch/arm/boot/dts/imx6qdl-sabresd.dtsi             |  114 +-
>>   arch/arm/boot/dts/imx6qdl.dtsi                     |   20 +-
>>   arch/arm/configs/imx_v6_v7_defconfig               |   11 +
>>   drivers/media/i2c/Kconfig                          |   10 +
>>   drivers/media/i2c/Makefile                         |    1 +
>>   drivers/media/i2c/ov5640.c                         | 2344 ++++++++++++++++++++
>>   drivers/media/platform/Kconfig                     |    6 +
>>   drivers/media/platform/Makefile                    |    2 +
>>   drivers/media/platform/video-mux.c                 |  334 +++
>>   drivers/staging/media/Kconfig                      |    2 +
>>   drivers/staging/media/Makefile                     |    1 +
>>   drivers/staging/media/imx/Kconfig                  |   21 +
>>   drivers/staging/media/imx/Makefile                 |   12 +
>>   drivers/staging/media/imx/TODO                     |   23 +
>>   drivers/staging/media/imx/imx-ic-common.c          |  113 +
>>   drivers/staging/media/imx/imx-ic-prp.c             |  518 +++++
>>   drivers/staging/media/imx/imx-ic-prpencvf.c        | 1309 +++++++++++
>>   drivers/staging/media/imx/imx-ic.h                 |   38 +
>>   drivers/staging/media/imx/imx-media-capture.c      |  775 +++++++
>>   drivers/staging/media/imx/imx-media-csi.c          | 1816 +++++++++++++++
>>   drivers/staging/media/imx/imx-media-dev.c          |  666 ++++++
>>   drivers/staging/media/imx/imx-media-fim.c          |  494 +++++
>>   drivers/staging/media/imx/imx-media-internal-sd.c  |  349 +++
>>   drivers/staging/media/imx/imx-media-of.c           |  270 +++
>>   drivers/staging/media/imx/imx-media-utils.c        |  896 ++++++++
>>   drivers/staging/media/imx/imx-media-vdic.c         | 1009 +++++++++
>>   drivers/staging/media/imx/imx-media.h              |  325 +++
>>   drivers/staging/media/imx/imx6-mipi-csi2.c         |  698 ++++++
>>   include/linux/imx-media.h                          |   29 +
>>   include/media/imx.h                                |   15 +
>>   include/uapi/linux/media.h                         |    6 +
>>   include/uapi/linux/v4l2-controls.h                 |    4 +
>>   45 files changed, 13613 insertions(+), 27 deletions(-)
>>   create mode 100644 Documentation/devicetree/bindings/media/i2c/ov5640.txt
>>   create mode 100644 Documentation/devicetree/bindings/media/imx.txt
>>   create mode 100644 Documentation/devicetree/bindings/media/video-mux.txt
>>   create mode 100644 Documentation/media/v4l-drivers/imx.rst
>>   create mode 100644 drivers/media/i2c/ov5640.c
>>   create mode 100644 drivers/media/platform/video-mux.c
>>   create mode 100644 drivers/staging/media/imx/Kconfig
>>   create mode 100644 drivers/staging/media/imx/Makefile
>>   create mode 100644 drivers/staging/media/imx/TODO
>>   create mode 100644 drivers/staging/media/imx/imx-ic-common.c
>>   create mode 100644 drivers/staging/media/imx/imx-ic-prp.c
>>   create mode 100644 drivers/staging/media/imx/imx-ic-prpencvf.c
>>   create mode 100644 drivers/staging/media/imx/imx-ic.h
>>   create mode 100644 drivers/staging/media/imx/imx-media-capture.c
>>   create mode 100644 drivers/staging/media/imx/imx-media-csi.c
>>   create mode 100644 drivers/staging/media/imx/imx-media-dev.c
>>   create mode 100644 drivers/staging/media/imx/imx-media-fim.c
>>   create mode 100644 drivers/staging/media/imx/imx-media-internal-sd.c
>>   create mode 100644 drivers/staging/media/imx/imx-media-of.c
>>   create mode 100644 drivers/staging/media/imx/imx-media-utils.c
>>   create mode 100644 drivers/staging/media/imx/imx-media-vdic.c
>>   create mode 100644 drivers/staging/media/imx/imx-media.h
>>   create mode 100644 drivers/staging/media/imx/imx6-mipi-csi2.c
>>   create mode 100644 include/linux/imx-media.h
>>   create mode 100644 include/media/imx.h
>>
> 

[toc] | [prev] | [next] | [standalone]


#1662815

FromSteve Longerbeam <slongerbeam@gmail.com>
Date2017-06-10 01:20 +0200
Message-ID<tQBma-7M4-15@gated-at.bofh.it>
In reply to#1660118

On 06/09/2017 04:16 PM, Steve Longerbeam wrote:
> 
> 
> On 06/07/2017 12:02 PM, Hans Verkuil wrote:
>> We're still waiting for an Ack for patch 02/34, right?
>>
> 
> Hi Hans, Rub 

damn, I really need to proof-read before hitting send.
"Rob" (sorry Rob!).

Steve

[toc] | [prev] | [next] | [standalone]


#1662817

FromSteve Longerbeam <slongerbeam@gmail.com>
Date2017-06-10 01:20 +0200
Message-ID<tQBma-7M4-17@gated-at.bofh.it>
In reply to#1660118

On 06/07/2017 12:02 PM, Hans Verkuil wrote:
> We're still waiting for an Ack for patch 02/34, right?
> 

Hi Hans, Rub has provided an Ack for patch 2.

> Other than that everything is ready AFAICT.
> 

But as Pavel pointed out, in fact we are missing many
Acks still, for all of the dts source changes (patches
4-14), as well as really everything else (imx-media staging
driver patches).

Steve

[toc] | [prev] | [next] | [standalone]


#1662820

FromHans Verkuil <hverkuil@xs4all.nl>
Date2017-06-10 01:30 +0200
Message-ID<tQBvQ-7Pk-11@gated-at.bofh.it>
In reply to#1662817
On 10/06/17 01:16, Steve Longerbeam wrote:
> 
> 
> On 06/07/2017 12:02 PM, Hans Verkuil wrote:
>> We're still waiting for an Ack for patch 02/34, right?
>>
> 
> Hi Hans, Rub has provided an Ack for patch 2.
> 
>> Other than that everything is ready AFAICT.
>>
> 
> But as Pavel pointed out, in fact we are missing many
> Acks still, for all of the dts source changes (patches
> 4-14), as well as really everything else (imx-media staging
> driver patches).

No Acks needed for the staging part. It's staging, so not held
to the same standards as non-staging parts. That doesn't mean
Acks aren't welcome, of course.

You don't need Greg's Ack for staging/media either, patches there
go in via us (generally at least) and we handle those, not Greg.

Regards,

	Hans

[toc] | [prev] | [next] | [standalone]


#1662895

FromPavel Machek <pavel@ucw.cz>
Date2017-06-10 09:40 +0200
Message-ID<tQJa1-4ao-5@gated-at.bofh.it>
In reply to#1662820

[Multipart message — attachments visible in raw view] — view raw

Hi!

> >> Other than that everything is ready AFAICT.
> >>
> > 
> > But as Pavel pointed out, in fact we are missing many
> > Acks still, for all of the dts source changes (patches
> > 4-14), as well as really everything else (imx-media staging
> > driver patches).
> 
> No Acks needed for the staging part. It's staging, so not held
> to the same standards as non-staging parts. That doesn't mean
> Acks aren't welcome, of course.
> 
> You don't need Greg's Ack for staging/media either, patches there
> go in via us (generally at least) and we handle those, not Greg.

Ok, good.

Can you just apply the patches? This is staging, they can be
reviewed/fixed there -- as expected for staging. They are already way
beyond staging quality, we don't want to get to "series v17"
here, and repeatedly sending them over the email does not really do
them any good.

Thanks,
								Pavel
-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

[toc] | [prev] | [next] | [standalone]


#1663143

FromVladimir Zapolskiy <vladimir_zapolskiy@mentor.com>
Date2017-06-11 22:10 +0200
Message-ID<tRhln-YR-7@gated-at.bofh.it>
In reply to#1662820
On 06/10/2017 02:26 AM, Hans Verkuil wrote:
> On 10/06/17 01:16, Steve Longerbeam wrote:
>>
>>
>> On 06/07/2017 12:02 PM, Hans Verkuil wrote:
>>> We're still waiting for an Ack for patch 02/34, right?
>>>
>>
>> Hi Hans, Rub has provided an Ack for patch 2.
>>
>>> Other than that everything is ready AFAICT.
>>>
>>
>> But as Pavel pointed out, in fact we are missing many
>> Acks still, for all of the dts source changes (patches
>> 4-14), as well as really everything else (imx-media staging
>> driver patches).
> 
> No Acks needed for the staging part. It's staging, so not held
> to the same standards as non-staging parts. That doesn't mean
> Acks aren't welcome, of course.

Acks are wanted for particular i.MX DTS changes including device
tree binding descriptions.

Shawn, please bless the series.

> 
> You don't need Greg's Ack for staging/media either, patches there
> go in via us (generally at least) and we handle those, not Greg.
> 

--
With best wishes,
Vladimir

[toc] | [prev] | [next] | [standalone]


#1664149

FromSteve Longerbeam <slongerbeam@gmail.com>
Date2017-06-12 20:20 +0200
Message-ID<tRC6v-5IS-43@gated-at.bofh.it>
In reply to#1663143

On 06/11/2017 01:05 PM, Vladimir Zapolskiy wrote:
> On 06/10/2017 02:26 AM, Hans Verkuil wrote:
>> On 10/06/17 01:16, Steve Longerbeam wrote:
>>>
>>> On 06/07/2017 12:02 PM, Hans Verkuil wrote:
>>>> We're still waiting for an Ack for patch 02/34, right?
>>>>
>>> Hi Hans, Rub has provided an Ack for patch 2.
>>>
>>>> Other than that everything is ready AFAICT.
>>>>
>>> But as Pavel pointed out, in fact we are missing many
>>> Acks still, for all of the dts source changes (patches
>>> 4-14), as well as really everything else (imx-media staging
>>> driver patches).
>> No Acks needed for the staging part. It's staging, so not held
>> to the same standards as non-staging parts. That doesn't mean
>> Acks aren't welcome, of course.
> Acks are wanted for particular i.MX DTS changes including device
> tree binding descriptions.
>
> Shawn, please bless the series.
>

I second that request!

There are a couple minor update to the ARM dts patches for imx6,
I will post a new series for them. But there should not be anything of
much controversy in these ARM dts patches.

Steve

[toc] | [prev] | [next] | [standalone]


#1662404 — Re: [PATCH v8 19/34] media: Add i.MX media core driver

FromPhilipp Zabel <p.zabel@pengutronix.de>
Date2017-06-09 15:20 +0200
SubjectRe: [PATCH v8 19/34] media: Add i.MX media core driver
Message-ID<tQrZw-1Zf-13@gated-at.bofh.it>
In reply to#1660076
On Wed, 2017-06-07 at 11:33 -0700, Steve Longerbeam wrote:
> Add the core media driver for i.MX SOC.
> 
> Signed-off-by: Steve Longerbeam <steve_longerbeam@mentor.com>
> 
> Switch from the v4l2_of_ APIs to the v4l2_fwnode_ APIs.
> 
> Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
> 
> Add the bayer formats to imx-media's list of supported pixel and bus
> formats.
> 
> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
> ---
[...]
> diff --git a/drivers/staging/media/imx/imx-media-dev.c b/drivers/staging/media/imx/imx-media-dev.c
> new file mode 100644
> index 0000000..da694f6
> --- /dev/null
> +++ b/drivers/staging/media/imx/imx-media-dev.c
> @@ -0,0 +1,666 @@
[...]
> +/*
> + * adds given video device to given imx-media source pad vdev list.
> + * Continues upstream from the pad entity's sink pads.
> + */
> +static int imx_media_add_vdev_to_pad(struct imx_media_dev *imxmd,
> +				     struct imx_media_video_dev *vdev,
> +				     struct media_pad *srcpad)
> +{
> +	struct media_entity *entity = srcpad->entity;
> +	struct imx_media_subdev *imxsd;
> +	struct imx_media_pad *imxpad;
> +	struct media_link *link;
> +	struct v4l2_subdev *sd;
> +	int i, vdev_idx, ret;
> +
> +	if (!is_media_entity_v4l2_subdev(entity))
> +		return -EINVAL;

Could we make this return 0, to just skip non-v4l2_subdev entities?
Currently, imx_media_probe_complete silently fails with this -EINVAL if
there is a tvp5150 connected due to the separate media entities that the
tvp5150 driver creates for the input connectors (Composite0, for
example).

regards
Philipp

[toc] | [prev] | [next] | [standalone]


#1662808 — Re: [PATCH v8 19/34] media: Add i.MX media core driver

FromSteve Longerbeam <slongerbeam@gmail.com>
Date2017-06-10 01:10 +0200
SubjectRe: [PATCH v8 19/34] media: Add i.MX media core driver
Message-ID<tQBcu-7IV-11@gated-at.bofh.it>
In reply to#1662404

On 06/09/2017 06:15 AM, Philipp Zabel wrote:
> On Wed, 2017-06-07 at 11:33 -0700, Steve Longerbeam wrote:
>> Add the core media driver for i.MX SOC.
>>
>> Signed-off-by: Steve Longerbeam <steve_longerbeam@mentor.com>
>>
>> Switch from the v4l2_of_ APIs to the v4l2_fwnode_ APIs.
>>
>> Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
>>
>> Add the bayer formats to imx-media's list of supported pixel and bus
>> formats.
>>
>> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
>> ---
> [...]
>> diff --git a/drivers/staging/media/imx/imx-media-dev.c b/drivers/staging/media/imx/imx-media-dev.c
>> new file mode 100644
>> index 0000000..da694f6
>> --- /dev/null
>> +++ b/drivers/staging/media/imx/imx-media-dev.c
>> @@ -0,0 +1,666 @@
> [...]
>> +/*
>> + * adds given video device to given imx-media source pad vdev list.
>> + * Continues upstream from the pad entity's sink pads.
>> + */
>> +static int imx_media_add_vdev_to_pad(struct imx_media_dev *imxmd,
>> +				     struct imx_media_video_dev *vdev,
>> +				     struct media_pad *srcpad)
>> +{
>> +	struct media_entity *entity = srcpad->entity;
>> +	struct imx_media_subdev *imxsd;
>> +	struct imx_media_pad *imxpad;
>> +	struct media_link *link;
>> +	struct v4l2_subdev *sd;
>> +	int i, vdev_idx, ret;
>> +
>> +	if (!is_media_entity_v4l2_subdev(entity))
>> +		return -EINVAL;
> 
> Could we make this return 0, to just skip non-v4l2_subdev entities?
> Currently, imx_media_probe_complete silently fails with this -EINVAL if
> there is a tvp5150 connected due to the separate media entities that the
> tvp5150 driver creates for the input connectors (Composite0, for
> example).
> 

Right, I've made that change.

Steve

[toc] | [prev] | [next] | [standalone]


#1663013 — Re: [PATCH v8 17/34] [media] add Omnivision OV5640 sensor driver

FromSakari Ailus <sakari.ailus@iki.fi>
Date2017-06-11 00:00 +0200
SubjectRe: [PATCH v8 17/34] [media] add Omnivision OV5640 sensor driver
Message-ID<tQWAh-4xQ-5@gated-at.bofh.it>
In reply to#1660076
Hi Steve,

On Wed, Jun 07, 2017 at 11:33:56AM -0700, Steve Longerbeam wrote:
...
> +/*
> + * FIXME: remove this when a subdev API becomes available
> + * to set the MIPI CSI-2 virtual channel.
> + */
> +static unsigned int virtual_channel;
> +module_param(virtual_channel, int, 0);
> +MODULE_PARM_DESC(virtual_channel,
> +		 "MIPI CSI-2 virtual channel (0..3), default 0");

If this works for you it's a good workaround. I hope we can address the
matter properly soon --- it's related to data types, embedded data etc.

For the patch:

Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>

-- 
Regards,

Sakari Ailus
e-mail: sakari.ailus@iki.fi	XMPP: sailus@retiisi.org.uk

[toc] | [prev] | [standalone]


Page 2 of 2 — ← Prev page 1 [2]

Back to top | Article view | linux.kernel


csiph-web