[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: Sylwester Nawrocki <s.nawrocki@samsung.com> Acked-by: Kyungmin Park <kyungmin.park@samsung.com> Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
This commit is contained in:
parent
ae704bc3bd
commit
53f8a899a3
|
@ -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.
|
||||||
|
|
||||||
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.
|
||||||
|
|
||||||
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
|
||||||
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:
|
||||||
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:
|
||||||
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:
|
||||||
|
|
||||||
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 {
|
||||||
|
|
Loading…
Reference in New Issue