devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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
> 
> 

  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).