diff options
author | Sylwester Nawrocki <s.nawrocki@samsung.com> | 2013-12-20 16:56:05 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <m.chehab@samsung.com> | 2014-03-14 09:31:37 -0400 |
commit | 53f8a899a38d8e8a02ce390d400327f6abd66074 (patch) | |
tree | 726a549c42bba134ed2e094af441cbdecdb0ed2c | |
parent | ae704bc3bd1b7208c6061151f9b56e13664778ad (diff) |
[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>
-rw-r--r-- | Documentation/devicetree/bindings/media/samsung-fimc.txt | 44 |
1 files changed, 29 insertions, 15 deletions
diff --git a/Documentation/devicetree/bindings/media/samsung-fimc.txt b/Documentation/devicetree/bindings/media/samsung-fimc.txt index 96312f6c4c26..922d6f8e74be 100644 --- a/Documentation/devicetree/bindings/media/samsung-fimc.txt +++ b/Documentation/devicetree/bindings/media/samsung-fimc.txt | |||
@@ -15,11 +15,21 @@ Common 'camera' node | |||
15 | 15 | ||
16 | Required properties: | 16 | Required properties: |
17 | 17 | ||
18 | - compatible : must be "samsung,fimc", "simple-bus" | 18 | - compatible: must be "samsung,fimc", "simple-bus" |
19 | - clocks : list of clock specifiers, corresponding to entries in | 19 | - clocks: list of clock specifiers, corresponding to entries in |
20 | the clock-names property; | 20 | the clock-names property; |
21 | - clock-names : must contain "sclk_cam0", "sclk_cam1", "pxl_async0", | 21 | - clock-names : must contain "sclk_cam0", "sclk_cam1", "pxl_async0", |
22 | "pxl_async1" entries, matching entries in the clocks property. | 22 | "pxl_async1" entries, matching entries in the clocks property. |
23 | |||
24 | - #clock-cells: from the common clock bindings (../clock/clock-bindings.txt), | ||
25 | must be 1. A clock provider is associated with the 'camera' node and it should | ||
26 | be referenced by external sensors that use clocks provided by the SoC on | ||
27 | CAM_*_CLKOUT pins. The clock specifier cell stores an index of a clock. | ||
28 | The indices are 0, 1 for CAM_A_CLKOUT, CAM_B_CLKOUT clocks respectively. | ||
29 | |||
30 | - clock-output-names: from the common clock bindings, should contain names of | ||
31 | clocks registered by the camera subsystem corresponding to CAM_A_CLKOUT, | ||
32 | CAM_B_CLKOUT output clocks respectively. | ||
23 | 33 | ||
24 | The pinctrl bindings defined in ../pinctrl/pinctrl-bindings.txt must be used | 34 | The pinctrl bindings defined in ../pinctrl/pinctrl-bindings.txt must be used |
25 | to define a required pinctrl state named "default" and optional pinctrl states: | 35 | to define a required pinctrl state named "default" and optional pinctrl states: |
@@ -32,6 +42,7 @@ way around. | |||
32 | 42 | ||
33 | The 'camera' node must include at least one 'fimc' child node. | 43 | The 'camera' node must include at least one 'fimc' child node. |
34 | 44 | ||
45 | |||
35 | 'fimc' device nodes | 46 | 'fimc' device nodes |
36 | ------------------- | 47 | ------------------- |
37 | 48 | ||
@@ -88,8 +99,8 @@ port nodes specifies data input - 0, 1 indicates input A, B respectively. | |||
88 | 99 | ||
89 | Optional properties | 100 | Optional properties |
90 | 101 | ||
91 | - samsung,camclk-out : specifies clock output for remote sensor, | 102 | - samsung,camclk-out (deprecated) : specifies clock output for remote sensor, |
92 | 0 - CAM_A_CLKOUT, 1 - CAM_B_CLKOUT; | 103 | 0 - CAM_A_CLKOUT, 1 - CAM_B_CLKOUT; |
93 | 104 | ||
94 | Image sensor nodes | 105 | Image sensor nodes |
95 | ------------------ | 106 | ------------------ |
@@ -97,8 +108,6 @@ Image sensor nodes | |||
97 | The sensor device nodes should be added to their control bus controller (e.g. | 108 | The sensor device nodes should be added to their control bus controller (e.g. |
98 | I2C0) nodes and linked to a port node in the csis or the parallel-ports node, | 109 | I2C0) nodes and linked to a port node in the csis or the parallel-ports node, |
99 | using the common video interfaces bindings, defined in video-interfaces.txt. | 110 | using the common video interfaces bindings, defined in video-interfaces.txt. |
100 | The implementation of this bindings requires clock-frequency property to be | ||
101 | present in the sensor device nodes. | ||
102 | 111 | ||
103 | Example: | 112 | Example: |
104 | 113 | ||
@@ -114,7 +123,7 @@ Example: | |||
114 | vddio-supply = <...>; | 123 | vddio-supply = <...>; |
115 | 124 | ||
116 | clock-frequency = <24000000>; | 125 | clock-frequency = <24000000>; |
117 | clocks = <...>; | 126 | clocks = <&camera 1>; |
118 | clock-names = "mclk"; | 127 | clock-names = "mclk"; |
119 | 128 | ||
120 | port { | 129 | port { |
@@ -135,7 +144,7 @@ Example: | |||
135 | vddio-supply = <...>; | 144 | vddio-supply = <...>; |
136 | 145 | ||
137 | clock-frequency = <24000000>; | 146 | clock-frequency = <24000000>; |
138 | clocks = <...>; | 147 | clocks = <&camera 0>; |
139 | clock-names = "mclk"; | 148 | clock-names = "mclk"; |
140 | 149 | ||
141 | port { | 150 | port { |
@@ -149,12 +158,17 @@ Example: | |||
149 | 158 | ||
150 | camera { | 159 | camera { |
151 | compatible = "samsung,fimc", "simple-bus"; | 160 | compatible = "samsung,fimc", "simple-bus"; |
152 | #address-cells = <1>; | 161 | clocks = <&clock 132>, <&clock 133>, <&clock 351>, |
153 | #size-cells = <1>; | 162 | <&clock 352>; |
154 | status = "okay"; | 163 | clock-names = "sclk_cam0", "sclk_cam1", "pxl_async0", |
155 | 164 | "pxl_async1"; | |
165 | #clock-cells = <1>; | ||
166 | clock-output-names = "cam_a_clkout", "cam_b_clkout"; | ||
156 | pinctrl-names = "default"; | 167 | pinctrl-names = "default"; |
157 | pinctrl-0 = <&cam_port_a_clk_active>; | 168 | pinctrl-0 = <&cam_port_a_clk_active>; |
169 | status = "okay"; | ||
170 | #address-cells = <1>; | ||
171 | #size-cells = <1>; | ||
158 | 172 | ||
159 | /* parallel camera ports */ | 173 | /* parallel camera ports */ |
160 | parallel-ports { | 174 | parallel-ports { |