From: Mark Rutland <mark.rutland@arm.com>
To: Sylwester Nawrocki <s.nawrocki@samsung.com>
Cc: "linux-media@vger.kernel.org" <linux-media@vger.kernel.org>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
"laurent.pinchart@ideasonboard.com"
<laurent.pinchart@ideasonboard.com>,
"robh+dt@kernel.org" <robh+dt@kernel.org>,
"galak@codeaurora.org" <galak@codeaurora.org>,
"kyungmin.park@samsung.com" <kyungmin.park@samsung.com>
Subject: Re: [PATCH v8 3/10] Documentation: devicetree: Update Samsung FIMC DT binding
Date: Tue, 18 Mar 2014 10:02:13 +0000 [thread overview]
Message-ID: <20140318100213.GC8043@e106331-lin.cambridge.arm.com> (raw)
In-Reply-To: <1394555670-14155-1-git-send-email-s.nawrocki@samsung.com>
On Tue, Mar 11, 2014 at 04:34:30PM +0000, Sylwester Nawrocki wrote:
> 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>
> ---
> Changes since v7:
> - dropped a note about clock-frequency property in sensor nodes.
>
> Changes since v6:
> - #clock-cells, clock-output-names documented as mandatory properties;
> - renamed "cam_mclk_{a,b}" to "cam_{a,b}_clkout in the example dts,
> this now matches changes in exynos4.dtsi further in the patch series;
> - marked "samsung,camclk-out" property as deprecated.
>
> Changes since v5:
> - none.
>
> Changes since v4:
> - dropped a requirement of specific order of values in clocks/
> clock-names properties (Mark) and reference to clock-names in
> clock-output-names property description (Mark).
> ---
> .../devicetree/bindings/media/samsung-fimc.txt | 44 +++++++++++++-------
> 1 file changed, 29 insertions(+), 15 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/media/samsung-fimc.txt b/Documentation/devicetree/bindings/media/samsung-fimc.txt
> index 96312f6..922d6f8 100644
> --- a/Documentation/devicetree/bindings/media/samsung-fimc.txt
> +++ b/Documentation/devicetree/bindings/media/samsung-fimc.txt
> @@ -15,11 +15,21 @@ Common 'camera' node
>
> Required properties:
>
> -- compatible : must be "samsung,fimc", "simple-bus"
While it was already the case, why is "samsung,fimc" also a simple bus?
If it has any properties which are required for the correct use of the
child nodes, it is _not_ a simple-bus.
> -- clocks : list of clock specifiers, corresponding to entries in
> - the clock-names property;
> -- clock-names : must contain "sclk_cam0", "sclk_cam1", "pxl_async0",
> - "pxl_async1" entries, matching entries in the clocks property.
> +- compatible: must be "samsung,fimc", "simple-bus"
> +- clocks: list of clock specifiers, corresponding to entries in
> + the clock-names property;
> +- clock-names : must contain "sclk_cam0", "sclk_cam1", "pxl_async0",
> + "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.
And if we're adding more stuff required by child nodes it's definitely
not a simple-bus.
Get rid of simple-bus. Get the driver for "samsung,fimc" to probe its
children once it has set up.
Apologies for the late reply, and sorry to have to be negative on this.
Thanks,
Mark.
>
> The pinctrl bindings defined in ../pinctrl/pinctrl-bindings.txt must be used
> 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.
>
> +
> 'fimc' device nodes
> -------------------
>
> @@ -88,8 +99,8 @@ port nodes specifies data input - 0, 1 indicates input A, B respectively.
>
> Optional properties
>
> -- samsung,camclk-out : specifies clock output for remote sensor,
> - 0 - CAM_A_CLKOUT, 1 - CAM_B_CLKOUT;
> +- samsung,camclk-out (deprecated) : specifies clock output for remote sensor,
> + 0 - CAM_A_CLKOUT, 1 - CAM_B_CLKOUT;
>
> Image sensor nodes
> ------------------
> @@ -97,8 +108,6 @@ 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.
> -The implementation of this bindings requires clock-frequency property to be
> -present in the sensor device nodes.
>
> Example:
>
> @@ -114,7 +123,7 @@ Example:
> vddio-supply = <...>;
>
> clock-frequency = <24000000>;
> - clocks = <...>;
> + clocks = <&camera 1>;
> clock-names = "mclk";
>
> port {
> @@ -135,7 +144,7 @@ Example:
> vddio-supply = <...>;
>
> clock-frequency = <24000000>;
> - clocks = <...>;
> + clocks = <&camera 0>;
> clock-names = "mclk";
>
> port {
> @@ -149,12 +158,17 @@ Example:
>
> camera {
> compatible = "samsung,fimc", "simple-bus";
> - #address-cells = <1>;
> - #size-cells = <1>;
> - status = "okay";
> -
> + clocks = <&clock 132>, <&clock 133>, <&clock 351>,
> + <&clock 352>;
> + 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-0 = <&cam_port_a_clk_active>;
> + status = "okay";
> + #address-cells = <1>;
> + #size-cells = <1>;
>
> /* parallel camera ports */
> parallel-ports {
> --
> 1.7.9.5
>
>
next prev parent reply other threads:[~2014-03-18 10:02 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-06 16:20 [PATCH v6 00/10] Add device tree support for Exynos4 camera interface Sylwester Nawrocki
2014-03-06 16:20 ` [PATCH v6 01/10] Documentation: dt: Add binding documentation for S5K6A3 image sensor Sylwester Nawrocki
2014-03-06 18:08 ` Philipp Zabel
2014-03-06 20:15 ` Sylwester Nawrocki
2014-03-06 16:20 ` [PATCH v6 02/10] Documentation: dt: Add binding documentation for S5C73M3 camera Sylwester Nawrocki
2014-03-06 16:20 ` [PATCH v6 03/10] Documentation: devicetree: Update Samsung FIMC DT binding Sylwester Nawrocki
2014-03-11 12:30 ` Laurent Pinchart
2014-03-11 13:38 ` Sylwester Nawrocki
2014-03-11 14:58 ` Laurent Pinchart
2014-03-11 16:00 ` [PATCH v7 3/10] " Sylwester Nawrocki
2014-03-11 16:20 ` Laurent Pinchart
2014-03-11 16:30 ` Sylwester Nawrocki
2014-03-11 16:34 ` [PATCH v8 " Sylwester Nawrocki
2014-03-11 16:38 ` Laurent Pinchart
2014-03-12 15:41 ` Mauro Carvalho Chehab
2014-03-18 10:02 ` Mark Rutland [this message]
2014-03-18 11:31 ` Sylwester Nawrocki
2014-03-06 16:20 ` [PATCH v6 04/10] V4L: Add driver for s5k6a3 image sensor Sylwester Nawrocki
2014-03-06 16:20 ` [PATCH v6 05/10] V4L: s5c73m3: Add device tree support Sylwester Nawrocki
2014-03-18 10:05 ` Arnd Bergmann
2014-03-18 11:07 ` Sylwester Nawrocki
2014-03-06 16:20 ` [PATCH v6 06/10] exynos4-is: Use external s5k6a3 sensor driver Sylwester Nawrocki
2014-03-06 16:20 ` [PATCH v6 07/10] exynos4-is: Add clock provider for the SCLK_CAM clock outputs Sylwester Nawrocki
2014-03-06 16:20 ` [PATCH v6 08/10] exynos4-is: Add support for asynchronous subdevices registration Sylwester Nawrocki
2014-03-06 16:20 ` [PATCH v6 09/10] ARM: dts: Add rear camera nodes for Exynos4412 TRATS2 board Sylwester Nawrocki
2014-03-07 10:07 ` Sylwester Nawrocki
2014-03-06 16:20 ` [PATCH v6 10/10] ARM: dts: exynos4: Update camera clk provider and s5k6a3 sensor node Sylwester Nawrocki
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140318100213.GC8043@e106331-lin.cambridge.arm.com \
--to=mark.rutland@arm.com \
--cc=devicetree@vger.kernel.org \
--cc=galak@codeaurora.org \
--cc=kyungmin.park@samsung.com \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-media@vger.kernel.org \
--cc=robh+dt@kernel.org \
--cc=s.nawrocki@samsung.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).