Commit 53f8a899 authored by Sylwester Nawrocki's avatar Sylwester Nawrocki Committed by Mauro Carvalho Chehab

[media] Documentation: devicetree: Update Samsung FIMC DT binding

This patch documents following updates of the Exynos4 SoC camera subsystem
devicetree binding:

 - addition of #clock-cells and clock-output-names properties to 'camera'
   node - these are now needed so the image sensor sub-devices can reference
   clocks provided by the camera host interface,
 - dropped a note about required clock-frequency properties at the
   image sensor nodes; the sensor devices can now control their clock
   explicitly through the clk API and there is no need to require this
   property in the camera host interface binding.
Signed-off-by: default avatarSylwester Nawrocki <s.nawrocki@samsung.com>
Acked-by: default avatarKyungmin Park <kyungmin.park@samsung.com>
Acked-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: default avatarMauro Carvalho Chehab <m.chehab@samsung.com>
parent ae704bc3
...@@ -15,11 +15,21 @@ Common 'camera' node ...@@ -15,11 +15,21 @@ Common 'camera' node
Required properties: Required properties:
- compatible : must be "samsung,fimc", "simple-bus" - compatible: must be "samsung,fimc", "simple-bus"
- clocks : list of clock specifiers, corresponding to entries in - clocks: list of clock specifiers, corresponding to entries in
the clock-names property; the clock-names property;
- clock-names : must contain "sclk_cam0", "sclk_cam1", "pxl_async0", - clock-names : must contain "sclk_cam0", "sclk_cam1", "pxl_async0",
"pxl_async1" entries, matching entries in the clocks property. "pxl_async1" entries, matching entries in the clocks property.
- #clock-cells: from the common clock bindings (../clock/clock-bindings.txt),
must be 1. A clock provider is associated with the 'camera' node and it should
be referenced by external sensors that use clocks provided by the SoC on
CAM_*_CLKOUT pins. The clock specifier cell stores an index of a clock.
The indices are 0, 1 for CAM_A_CLKOUT, CAM_B_CLKOUT clocks respectively.
- clock-output-names: from the common clock bindings, should contain names of
clocks registered by the camera subsystem corresponding to CAM_A_CLKOUT,
CAM_B_CLKOUT output clocks respectively.
The pinctrl bindings defined in ../pinctrl/pinctrl-bindings.txt must be used The pinctrl bindings defined in ../pinctrl/pinctrl-bindings.txt must be used
to define a required pinctrl state named "default" and optional pinctrl states: to define a required pinctrl state named "default" and optional pinctrl states:
...@@ -32,6 +42,7 @@ way around. ...@@ -32,6 +42,7 @@ way around.
The 'camera' node must include at least one 'fimc' child node. The 'camera' node must include at least one 'fimc' child node.
'fimc' device nodes 'fimc' device nodes
------------------- -------------------
...@@ -88,8 +99,8 @@ port nodes specifies data input - 0, 1 indicates input A, B respectively. ...@@ -88,8 +99,8 @@ port nodes specifies data input - 0, 1 indicates input A, B respectively.
Optional properties Optional properties
- samsung,camclk-out : specifies clock output for remote sensor, - samsung,camclk-out (deprecated) : specifies clock output for remote sensor,
0 - CAM_A_CLKOUT, 1 - CAM_B_CLKOUT; 0 - CAM_A_CLKOUT, 1 - CAM_B_CLKOUT;
Image sensor nodes Image sensor nodes
------------------ ------------------
...@@ -97,8 +108,6 @@ Image sensor nodes ...@@ -97,8 +108,6 @@ Image sensor nodes
The sensor device nodes should be added to their control bus controller (e.g. 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, 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. using the common video interfaces bindings, defined in video-interfaces.txt.
The implementation of this bindings requires clock-frequency property to be
present in the sensor device nodes.
Example: Example:
...@@ -114,7 +123,7 @@ Example: ...@@ -114,7 +123,7 @@ Example:
vddio-supply = <...>; vddio-supply = <...>;
clock-frequency = <24000000>; clock-frequency = <24000000>;
clocks = <...>; clocks = <&camera 1>;
clock-names = "mclk"; clock-names = "mclk";
port { port {
...@@ -135,7 +144,7 @@ Example: ...@@ -135,7 +144,7 @@ Example:
vddio-supply = <...>; vddio-supply = <...>;
clock-frequency = <24000000>; clock-frequency = <24000000>;
clocks = <...>; clocks = <&camera 0>;
clock-names = "mclk"; clock-names = "mclk";
port { port {
...@@ -149,12 +158,17 @@ Example: ...@@ -149,12 +158,17 @@ Example:
camera { camera {
compatible = "samsung,fimc", "simple-bus"; compatible = "samsung,fimc", "simple-bus";
#address-cells = <1>; clocks = <&clock 132>, <&clock 133>, <&clock 351>,
#size-cells = <1>; <&clock 352>;
status = "okay"; clock-names = "sclk_cam0", "sclk_cam1", "pxl_async0",
"pxl_async1";
#clock-cells = <1>;
clock-output-names = "cam_a_clkout", "cam_b_clkout";
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&cam_port_a_clk_active>; pinctrl-0 = <&cam_port_a_clk_active>;
status = "okay";
#address-cells = <1>;
#size-cells = <1>;
/* parallel camera ports */ /* parallel camera ports */
parallel-ports { parallel-ports {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment