Re: [PATCH v6 01/13] [media] exynos5-is: Adding media device driver for exynos5

2013-08-20 Thread Sylwester Nawrocki
Cc: Pawel, Kumar

On 08/16/2013 11:20 AM, Arun Kumar K wrote:
 From: Shaik Ameer Basha shaik.am...@samsung.com
 
 This patch adds support for media device for EXYNOS5 SoCs.
 The current media device supports the following ips to connect
 through the media controller framework.
 
 * MIPI-CSIS
   Support interconnection(subdev interface) between devices
 
 * FIMC-LITE
   Support capture interface from device(Sensor, MIPI-CSIS) to memory
   Support interconnection(subdev interface) between devices
 
 * FIMC-IS
   Camera post-processing IP having multiple sub-nodes.
 
 G-Scaler will be added later to the current media device.
 
 The media device creates two kinds of pipelines for connecting
 the above mentioned IPs.
 The pipeline0 is uses Sensor, MIPI-CSIS and FIMC-LITE which captures
 image data and dumps to memory.
 Pipeline1 uses FIMC-IS components for doing post-processing
 operations on the captured image and give scaled YUV output.
 
 Pipeline0
   ++ +---+ +---+ ++
   | Sensor | -- | MIPI-CSIS | -- | FIMC-LITE | -- | Memory |
   ++ +---+ +---+ ++
 
 Pipeline1
  ++  ++ +---+ +---+
  | Memory | --  |  ISP   | -- |SCC| -- |SCP|
  ++  ++ +---+ +---+
 
 Signed-off-by: Shaik Ameer Basha shaik.am...@samsung.com
 Signed-off-by: Arun Kumar K arun...@samsung.com
 ---
  .../devicetree/bindings/media/exynos5-mdev.txt |  126 ++
  drivers/media/platform/exynos5-is/exynos5-mdev.c   | 1210 
 
  drivers/media/platform/exynos5-is/exynos5-mdev.h   |  126 ++
  3 files changed, 1462 insertions(+)
  create mode 100644 Documentation/devicetree/bindings/media/exynos5-mdev.txt
  create mode 100644 drivers/media/platform/exynos5-is/exynos5-mdev.c
  create mode 100644 drivers/media/platform/exynos5-is/exynos5-mdev.h
 
 diff --git a/Documentation/devicetree/bindings/media/exynos5-mdev.txt 
 b/Documentation/devicetree/bindings/media/exynos5-mdev.txt
 new file mode 100644
 index 000..b1299e2
 --- /dev/null
 +++ b/Documentation/devicetree/bindings/media/exynos5-mdev.txt

Sorry, I missed this previously. How about renaming this file to something
more specific to the subsystem it describes, e.g. exynos5250-camera.txt ?

 @@ -0,0 +1,126 @@
 +Samsung EXYNOS5 SoC Camera Subsystem
 +
 +
 +The Exynos5 SoC Camera subsystem comprises of multiple sub-devices
 +represented by separate device tree nodes. Currently this includes: 
 FIMC-LITE,
 +MIPI CSIS and FIMC-IS.
 +
 +The sub-device nodes are referenced using phandles in the common 'camera' 
 node
 +which also includes common properties of the whole subsystem not really
 +specific to any single sub-device, like common camera port pins or the common
 +camera bus clocks.
 +
 +Common 'camera' node
 +
 +
 +Required properties:
 +
 +- compatible : must be samsung,exynos5250-fimc
 +- clocks : list of clock specifiers, corresponding to entries in
 +  the clock-names property;
 +- clock-names: must contain sclk_bayer entry
 +- samsung,csis   : list of phandles to the mipi-csis device nodes
 +- samsung,fimc-lite  : list of phandles to the fimc-lite device nodes
 +- samsung,fimc-is: phandle to the fimc-is device node
 +
 +The pinctrl bindings defined in ../pinctrl/pinctrl-bindings.txt must be used
 +to define a required pinctrl state named default.
 +
 +'parallel-ports' node
 +-
 +
 +This node should contain child 'port' nodes specifying active parallel video
 +input ports. It includes camera A, camera B and RGB bay inputs.
 +'reg' property in the port nodes specifies the input type:
 + 1 - parallel camport A
 + 2 - parallel camport B
 + 5 - RGB camera bay
 +
 +3, 4 are for MIPI CSI-2 bus and are already described in 
 samsung-mipi-csis.txt
 +
 +Image sensor nodes
 +--
 +
 +The sensor device nodes should be added to their control bus controller (e.g.
 +I2C0) nodes and linked to a port node in the csis or the parallel-ports node,
 +using the common video interfaces bindings, defined in video-interfaces.txt.
 +
 +Example:
 +
 + aliases {
 + fimc-lite0 = fimc_lite_0
 + };
 +
 + /* Parallel bus IF sensor */
 + i2c_0: i2c@1386 {
 + s5k6aa: sensor@3c {
 + compatible = samsung,s5k6aafx;
 + reg = 0x3c;
 + vddio-supply = ...;
 +
 + clock-frequency = 2400;
 + clocks = ...;
 + clock-names = mclk;
 +
 + port {
 + s5k6aa_ep: endpoint {
 + remote-endpoint = fimc0_ep;
 + bus-width = 8;
 + hsync-active = 0;
 +   

Re: [PATCH v6 01/13] [media] exynos5-is: Adding media device driver for exynos5

2013-08-20 Thread Arun Kumar K
Hi Sylwester,

On Tue, Aug 20, 2013 at 5:29 PM, Sylwester Nawrocki
s.nawro...@samsung.com wrote:
 Cc: Pawel, Kumar

 On 08/16/2013 11:20 AM, Arun Kumar K wrote:
 From: Shaik Ameer Basha shaik.am...@samsung.com

 This patch adds support for media device for EXYNOS5 SoCs.
 The current media device supports the following ips to connect
 through the media controller framework.

 * MIPI-CSIS
   Support interconnection(subdev interface) between devices

 * FIMC-LITE
   Support capture interface from device(Sensor, MIPI-CSIS) to memory
   Support interconnection(subdev interface) between devices

 * FIMC-IS
   Camera post-processing IP having multiple sub-nodes.

 G-Scaler will be added later to the current media device.

 The media device creates two kinds of pipelines for connecting
 the above mentioned IPs.
 The pipeline0 is uses Sensor, MIPI-CSIS and FIMC-LITE which captures
 image data and dumps to memory.
 Pipeline1 uses FIMC-IS components for doing post-processing
 operations on the captured image and give scaled YUV output.

 Pipeline0
   ++ +---+ +---+ ++
   | Sensor | -- | MIPI-CSIS | -- | FIMC-LITE | -- | Memory |
   ++ +---+ +---+ ++

 Pipeline1
  ++  ++ +---+ +---+
  | Memory | --  |  ISP   | -- |SCC| -- |SCP|
  ++  ++ +---+ +---+

 Signed-off-by: Shaik Ameer Basha shaik.am...@samsung.com
 Signed-off-by: Arun Kumar K arun...@samsung.com
 ---
  .../devicetree/bindings/media/exynos5-mdev.txt |  126 ++
  drivers/media/platform/exynos5-is/exynos5-mdev.c   | 1210 
 
  drivers/media/platform/exynos5-is/exynos5-mdev.h   |  126 ++
  3 files changed, 1462 insertions(+)
  create mode 100644 Documentation/devicetree/bindings/media/exynos5-mdev.txt
  create mode 100644 drivers/media/platform/exynos5-is/exynos5-mdev.c
  create mode 100644 drivers/media/platform/exynos5-is/exynos5-mdev.h

 diff --git a/Documentation/devicetree/bindings/media/exynos5-mdev.txt 
 b/Documentation/devicetree/bindings/media/exynos5-mdev.txt
 new file mode 100644
 index 000..b1299e2
 --- /dev/null
 +++ b/Documentation/devicetree/bindings/media/exynos5-mdev.txt

 Sorry, I missed this previously. How about renaming this file to something
 more specific to the subsystem it describes, e.g. exynos5250-camera.txt ?

 @@ -0,0 +1,126 @@
 +Samsung EXYNOS5 SoC Camera Subsystem
 +
 +
 +The Exynos5 SoC Camera subsystem comprises of multiple sub-devices
 +represented by separate device tree nodes. Currently this includes: 
 FIMC-LITE,
 +MIPI CSIS and FIMC-IS.
 +
 +The sub-device nodes are referenced using phandles in the common 'camera' 
 node
 +which also includes common properties of the whole subsystem not really
 +specific to any single sub-device, like common camera port pins or the 
 common
 +camera bus clocks.
 +
 +Common 'camera' node
 +
 +
 +Required properties:
 +
 +- compatible : must be samsung,exynos5250-fimc
 +- clocks : list of clock specifiers, corresponding to entries in
 +  the clock-names property;
 +- clock-names: must contain sclk_bayer entry
 +- samsung,csis   : list of phandles to the mipi-csis device 
 nodes
 +- samsung,fimc-lite  : list of phandles to the fimc-lite device nodes
 +- samsung,fimc-is: phandle to the fimc-is device node
 +
 +The pinctrl bindings defined in ../pinctrl/pinctrl-bindings.txt must be used
 +to define a required pinctrl state named default.
 +
 +'parallel-ports' node
 +-
 +
 +This node should contain child 'port' nodes specifying active parallel video
 +input ports. It includes camera A, camera B and RGB bay inputs.
 +'reg' property in the port nodes specifies the input type:
 + 1 - parallel camport A
 + 2 - parallel camport B
 + 5 - RGB camera bay
 +
 +3, 4 are for MIPI CSI-2 bus and are already described in 
 samsung-mipi-csis.txt
 +
 +Image sensor nodes
 +--
 +
 +The sensor device nodes should be added to their control bus controller 
 (e.g.
 +I2C0) nodes and linked to a port node in the csis or the parallel-ports 
 node,
 +using the common video interfaces bindings, defined in video-interfaces.txt.
 +
 +Example:
 +
 + aliases {
 + fimc-lite0 = fimc_lite_0
 + };
 +
 + /* Parallel bus IF sensor */
 + i2c_0: i2c@1386 {
 + s5k6aa: sensor@3c {
 + compatible = samsung,s5k6aafx;
 + reg = 0x3c;
 + vddio-supply = ...;
 +
 + clock-frequency = 2400;
 + clocks = ...;
 + clock-names = mclk;
 +
 + port {
 + s5k6aa_ep: endpoint {
 + remote-endpoint = fimc0_ep;
 +   

[PATCH v6 01/13] [media] exynos5-is: Adding media device driver for exynos5

2013-08-16 Thread Arun Kumar K
From: Shaik Ameer Basha shaik.am...@samsung.com

This patch adds support for media device for EXYNOS5 SoCs.
The current media device supports the following ips to connect
through the media controller framework.

* MIPI-CSIS
  Support interconnection(subdev interface) between devices

* FIMC-LITE
  Support capture interface from device(Sensor, MIPI-CSIS) to memory
  Support interconnection(subdev interface) between devices

* FIMC-IS
  Camera post-processing IP having multiple sub-nodes.

G-Scaler will be added later to the current media device.

The media device creates two kinds of pipelines for connecting
the above mentioned IPs.
The pipeline0 is uses Sensor, MIPI-CSIS and FIMC-LITE which captures
image data and dumps to memory.
Pipeline1 uses FIMC-IS components for doing post-processing
operations on the captured image and give scaled YUV output.

Pipeline0
  ++ +---+ +---+ ++
  | Sensor | -- | MIPI-CSIS | -- | FIMC-LITE | -- | Memory |
  ++ +---+ +---+ ++

Pipeline1
 ++  ++ +---+ +---+
 | Memory | --  |  ISP   | -- |SCC| -- |SCP|
 ++  ++ +---+ +---+

Signed-off-by: Shaik Ameer Basha shaik.am...@samsung.com
Signed-off-by: Arun Kumar K arun...@samsung.com
---
 .../devicetree/bindings/media/exynos5-mdev.txt |  126 ++
 drivers/media/platform/exynos5-is/exynos5-mdev.c   | 1210 
 drivers/media/platform/exynos5-is/exynos5-mdev.h   |  126 ++
 3 files changed, 1462 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/media/exynos5-mdev.txt
 create mode 100644 drivers/media/platform/exynos5-is/exynos5-mdev.c
 create mode 100644 drivers/media/platform/exynos5-is/exynos5-mdev.h

diff --git a/Documentation/devicetree/bindings/media/exynos5-mdev.txt 
b/Documentation/devicetree/bindings/media/exynos5-mdev.txt
new file mode 100644
index 000..b1299e2
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/exynos5-mdev.txt
@@ -0,0 +1,126 @@
+Samsung EXYNOS5 SoC Camera Subsystem
+
+
+The Exynos5 SoC Camera subsystem comprises of multiple sub-devices
+represented by separate device tree nodes. Currently this includes: FIMC-LITE,
+MIPI CSIS and FIMC-IS.
+
+The sub-device nodes are referenced using phandles in the common 'camera' node
+which also includes common properties of the whole subsystem not really
+specific to any single sub-device, like common camera port pins or the common
+camera bus clocks.
+
+Common 'camera' node
+
+
+Required properties:
+
+- compatible   : must be samsung,exynos5250-fimc
+- clocks   : list of clock specifiers, corresponding to entries in
+  the clock-names property;
+- clock-names  : must contain sclk_bayer entry
+- samsung,csis : list of phandles to the mipi-csis device nodes
+- samsung,fimc-lite: list of phandles to the fimc-lite device nodes
+- samsung,fimc-is  : phandle to the fimc-is device node
+
+The pinctrl bindings defined in ../pinctrl/pinctrl-bindings.txt must be used
+to define a required pinctrl state named default.
+
+'parallel-ports' node
+-
+
+This node should contain child 'port' nodes specifying active parallel video
+input ports. It includes camera A, camera B and RGB bay inputs.
+'reg' property in the port nodes specifies the input type:
+ 1 - parallel camport A
+ 2 - parallel camport B
+ 5 - RGB camera bay
+
+3, 4 are for MIPI CSI-2 bus and are already described in samsung-mipi-csis.txt
+
+Image sensor nodes
+--
+
+The sensor device nodes should be added to their control bus controller (e.g.
+I2C0) nodes and linked to a port node in the csis or the parallel-ports node,
+using the common video interfaces bindings, defined in video-interfaces.txt.
+
+Example:
+
+   aliases {
+   fimc-lite0 = fimc_lite_0
+   };
+
+   /* Parallel bus IF sensor */
+   i2c_0: i2c@1386 {
+   s5k6aa: sensor@3c {
+   compatible = samsung,s5k6aafx;
+   reg = 0x3c;
+   vddio-supply = ...;
+
+   clock-frequency = 2400;
+   clocks = ...;
+   clock-names = mclk;
+
+   port {
+   s5k6aa_ep: endpoint {
+   remote-endpoint = fimc0_ep;
+   bus-width = 8;
+   hsync-active = 0;
+   vsync-active = 1;
+   pclk-sample = 1;
+   };
+   };
+   };
+   };
+
+   /* MIPI CSI-2 bus IF sensor */
+   s5c73m3: sensor@1a {
+   compatible = samsung,s5c73m3;
+