Message ID | 1394122819-9582-4-git-send-email-s.nawrocki@samsung.com (mailing list archive) |
---|---|
State | RFC, archived |
Delegated to: | Sylwester Nawrocki |
Headers |
Received: from mail.tu-berlin.de ([130.149.7.33]) by www.linuxtv.org with esmtp (Exim 4.72) (envelope-from <linux-media-owner@vger.kernel.org>) id 1WLb3c-00026W-MT; Thu, 06 Mar 2014 17:22:04 +0100 X-tubIT-Incoming-IP: 209.132.180.67 Received: from vger.kernel.org ([209.132.180.67]) by mail.tu-berlin.de (exim-4.72/mailfrontend-6) with esmtp id 1WLb3a-0002o3-5I; Thu, 06 Mar 2014 17:22:04 +0100 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753384AbaCFQV7 (ORCPT <rfc822;mkrufky@linuxtv.org> + 1 other); Thu, 6 Mar 2014 11:21:59 -0500 Received: from mailout4.samsung.com ([203.254.224.34]:53698 "EHLO mailout4.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752619AbaCFQV6 (ORCPT <rfc822; linux-media@vger.kernel.org>); Thu, 6 Mar 2014 11:21:58 -0500 Received: from epcpsbgm1.samsung.com (epcpsbgm1 [203.254.230.26]) by mailout4.samsung.com (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0N20000XPW4L7Y20@mailout4.samsung.com>; Fri, 07 Mar 2014 01:21:57 +0900 (KST) X-AuditID: cbfee61a-b7fb26d00000724f-96-5318a0a59c24 Received: from epmmp1.local.host ( [203.254.227.16]) by epcpsbgm1.samsung.com (EPCPMTA) with SMTP id B6.CC.29263.5A0A8135; Fri, 07 Mar 2014 01:21:57 +0900 (KST) Received: from amdc1344.digital.local ([106.116.147.32]) by mmp1.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTPA id <0N2000GKMW21L980@mmp1.samsung.com>; Fri, 07 Mar 2014 01:21:56 +0900 (KST) From: Sylwester Nawrocki <s.nawrocki@samsung.com> To: linux-media@vger.kernel.org, devicetree@vger.kernel.org Cc: linux-samsung-soc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, robh+dt@kernel.org, mark.rutland@arm.com, galak@codeaurora.org, kyungmin.park@samsung.com, kgene.kim@samsung.com, a.hajda@samsung.com, Sylwester Nawrocki <s.nawrocki@samsung.com> Subject: [PATCH v6 03/10] Documentation: devicetree: Update Samsung FIMC DT binding Date: Thu, 06 Mar 2014 17:20:12 +0100 Message-id: <1394122819-9582-4-git-send-email-s.nawrocki@samsung.com> X-Mailer: git-send-email 1.7.9.5 In-reply-to: <1394122819-9582-1-git-send-email-s.nawrocki@samsung.com> References: <1394122819-9582-1-git-send-email-s.nawrocki@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrDLMWRmVeSWpSXmKPExsVy+t9jAd2lCySCDZ5c4ra4te4cq8X8I0Ci /81CVoveBVfZLM42vWG32PT4GqtFz4atrBYzzu9jslh6/SKTReveI+wWh9+0szpwe6yZt4bR 43JfL5PHplWdbB6bl9R79G1ZxejxeZNcAFsUl01Kak5mWWqRvl0CV8aE0+uYCt7LViw4/Jex gbFVoouRk0NCwETiwofDjBC2mMSFe+vZuhi5OIQEFjFKfLvUwgLhdDBJtE6axARSxSZgKNF7 tA+sQ0TAWuL4h2PsIEXMAq1MEp07brKBJIQFQiU2LHsLVsQioCpx68lPsGZeAVeJA1vvs3Yx cgCtU5CYM8kGJMwp4Cax7+R5sFYhoJL76z4yTWDkXcDIsIpRNLUguaA4KT3XUK84Mbe4NC9d Lzk/dxMjOAyfSe1gXNlgcYhRgINRiYd3g594sBBrYllxZe4hRgkOZiUR3sq5EsFCvCmJlVWp RfnxRaU5qcWHGKU5WJTEeQ+0WgcKCaQnlqRmp6YWpBbBZJk4OKUaGB1ZZfWy9ubOX7o6dUnK TW7tFxY+TF5rlnTnXrlbmfL2o8SmRKGulQXPs1dOEDrvFC2+iSWoNFr07msjMznv9pK5Wott Nv7LdxSMdN7wxMSUzYfvvVHs7yXhbKtnnXrClRBTnC1l9GrOxQxhlWuKT64tVNXzNuTheqUk ICqQxhr158d0sxOHlFiKMxINtZiLihMBfFLdlD8CAAA= Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: <linux-media.vger.kernel.org> X-Mailing-List: linux-media@vger.kernel.org X-PMX-Version: 6.0.0.2142326, Antispam-Engine: 2.7.2.2107409, Antispam-Data: 2014.3.6.161214 X-PMX-Spam: Gauge=IIIIIIII, Probability=8%, Report=' MULTIPLE_RCPTS 0.1, HTML_00_01 0.05, HTML_00_10 0.05, BODY_SIZE_3000_3999 0, BODY_SIZE_5000_LESS 0, BODY_SIZE_7000_LESS 0, CHILD_EX_X3 0, URI_ENDS_IN_HTML 0, __ANY_URI 0, __CP_MEDIA_BODY 0, __CP_NAME_BODY 0, __CP_URI_IN_BODY 0, __HAS_FROM 0, __HAS_MSGID 0, __HAS_X_MAILER 0, __HAS_X_MAILING_LIST 0, __IN_REP_TO 0, __MIME_TEXT_ONLY 0, __MULTIPLE_RCPTS_CC_X2 0, __SANE_MSGID 0, __SUBJ_ALPHA_END 0, __TO_MALFORMED_2 0, __TO_NO_NAME 0, __URI_NO_WWW 0, __URI_NS ' |
Commit Message
Sylwester Nawrocki
March 6, 2014, 4:20 p.m. UTC
This patch documents following updates of the Exynos4 SoC camera subsystem devicetree binding: - addition of #clock-cells property to 'camera' node - the #clock-cells property is needed when the sensor sub-devices use clock provided by the camera host interface, - addition of an optional clock-output-names property, - change of the clock-frequency at image sensor node from mandatory to an optional property - the sensor devices can now control their clock themselves and there should be no need to require this property by the camera host device binding, a default frequency value can often be used. Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Acked-by: Kyungmin Park <kyungmin.park@samsung.com> --- 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 | 34 +++++++++++++++----- 1 file changed, 26 insertions(+), 8 deletions(-)
Comments
Hi Sylwester, Thank you for the patch. On Thursday 06 March 2014 17:20:12 Sylwester Nawrocki wrote: > This patch documents following updates of the Exynos4 SoC camera subsystem > devicetree binding: > > - addition of #clock-cells property to 'camera' node - the #clock-cells > property is needed when the sensor sub-devices use clock provided by > the camera host interface, > - addition of an optional clock-output-names property, > - change of the clock-frequency at image sensor node from mandatory to > an optional property - the sensor devices can now control their clock > themselves and there should be no need to require this property by the > camera host device binding, a default frequency value can often be used. > > Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> > Acked-by: Kyungmin Park <kyungmin.park@samsung.com> > --- > 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 | 34 ++++++++++++----- > 1 file changed, 26 insertions(+), 8 deletions(-) > > diff --git a/Documentation/devicetree/bindings/media/samsung-fimc.txt > b/Documentation/devicetree/bindings/media/samsung-fimc.txt index > 96312f6..dbd4020 100644 > --- a/Documentation/devicetree/bindings/media/samsung-fimc.txt > +++ b/Documentation/devicetree/bindings/media/samsung-fimc.txt > @@ -32,6 +32,21 @@ way around. > > The 'camera' node must include at least one 'fimc' child node. > > +Optional properties: > + > +- #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. Wouldn't it be better to document the "cam_mclk_a" and "cam_mclk_b" names explicitly ? Or do you expect different names to be used in different DT files ? And as they correspond to the CAM_A_CLKOUT and CAM_B_CLKOUT pins, shouldn't they be named "cam_a_clkout" and "cam_b_clkout" ? > + > +Note: #clock-cells and clock-output-names are mandatory properties if > external > +image sensor devices reference 'camera' device node as a clock provider. > + What's the reason not to make them always mandatory ? Backward compatibility only ? If so wouldn't it make sense to document the properties as mandatory from now on, and treating them as optional in the driver for backward compatibility ? > 'fimc' device nodes > ------------------- > > @@ -97,8 +112,8 @@ 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. > +An optional clock-frequency property needs to be present in the sensor > device > +nodes. Default value when this property is not present is 24 MHz. This bothers me. Having the FIMC driver read the clock-frequence property from the sensor DT nodes feels like a layering violation. Shouldn't the sensor drivers call clk_set_rate() explicitly instead ? > Example: > > @@ -114,7 +129,7 @@ Example: > vddio-supply = <...>; > > clock-frequency = <24000000>; > - clocks = <...>; > + clocks = <&camera 1>; > clock-names = "mclk"; > > port { > @@ -135,7 +150,7 @@ Example: > vddio-supply = <...>; > > clock-frequency = <24000000>; > - clocks = <...>; > + clocks = <&camera 0>; > clock-names = "mclk"; > > port { > @@ -149,12 +164,15 @@ Example: > > camera { > compatible = "samsung,fimc", "simple-bus"; > - #address-cells = <1>; > - #size-cells = <1>; > - status = "okay"; > - > + clocks = <&clock 132>, <&clock 133>; > + clock-names = "sclk_cam0", "sclk_cam1"; The documentation mentions that clock-names must contain "sclk_cam0", "sclk_cam1", "pxl_async0", "pxl_async1". Are the last two optional ? If so I think you should clarify the description of the clock-names property. This can be done in a separate patch. > + #clock-cells = <1>; > + clock-output-names = "cam_mclk_a", "cam_mclk_b"; > pinctrl-names = "default"; > pinctrl-0 = <&cam_port_a_clk_active>; > + status = "okay"; > + #address-cells = <1>; > + #size-cells = <1>; > > /* parallel camera ports */ > parallel-ports {
Hi Laurent, Thanks for your review. On 11/03/14 13:30, Laurent Pinchart wrote: [...] >> --- >> .../devicetree/bindings/media/samsung-fimc.txt | 34 ++++++++++++----- >> 1 file changed, 26 insertions(+), 8 deletions(-) >> >> diff --git a/Documentation/devicetree/bindings/media/samsung-fimc.txt >> b/Documentation/devicetree/bindings/media/samsung-fimc.txt index >> 96312f6..dbd4020 100644 >> --- a/Documentation/devicetree/bindings/media/samsung-fimc.txt >> +++ b/Documentation/devicetree/bindings/media/samsung-fimc.txt >> @@ -32,6 +32,21 @@ way around. >> >> The 'camera' node must include at least one 'fimc' child node. >> >> +Optional properties: >> + >> +- #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. > > Wouldn't it be better to document the "cam_mclk_a" and "cam_mclk_b" names > explicitly ? Or do you expect different names to be used in different DT files > ? And as they correspond to the CAM_A_CLKOUT and CAM_B_CLKOUT pins, shouldn't > they be named "cam_a_clkout" and "cam_b_clkout" ? Basically I could use fixed names for these clocks, I just wanted to keep a possibility to override them in dts to avoid any possible clock name collisions, rather than keep a list of different names per SoC in the driver. Right now fixed names could also be used for all SoCs I'm aware of, nevertheless I would prefer to keep the clock-output-names property. "cam_a_clkout", "cam_b_clkout" may be indeed better names, I'll change that. >> +Note: #clock-cells and clock-output-names are mandatory properties if >> external >> +image sensor devices reference 'camera' device node as a clock provider. >> + > > What's the reason not to make them always mandatory ? Backward compatibility > only ? If so wouldn't it make sense to document the properties as mandatory > from now on, and treating them as optional in the driver for backward > compatibility ? Yes, it's for backwards compatibility only. It may be a good idea to just document them as required, since this is how the device is expected to be described in DT from now. I'll just make these a required properties, the driver already handles them as optional. >> 'fimc' device nodes >> ------------------- >> >> @@ -97,8 +112,8 @@ 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. >> +An optional clock-frequency property needs to be present in the sensor >> device >> +nodes. Default value when this property is not present is 24 MHz. > > This bothers me. Having the FIMC driver read the clock-frequence property from > the sensor DT nodes feels like a layering violation. Shouldn't the sensor > drivers call clk_set_rate() explicitly instead ? It is supposed to do so, after this whole patch series. So the camera controller driver will not need such properties. What do you think about removing this sentence altogether ? >> Example: >> >> @@ -114,7 +129,7 @@ Example: >> vddio-supply = <...>; >> >> clock-frequency = <24000000>; >> - clocks = <...>; >> + clocks = <&camera 1>; >> clock-names = "mclk"; >> >> port { >> @@ -135,7 +150,7 @@ Example: >> vddio-supply = <...>; >> >> clock-frequency = <24000000>; >> - clocks = <...>; >> + clocks = <&camera 0>; >> clock-names = "mclk"; >> >> port { >> @@ -149,12 +164,15 @@ Example: >> >> camera { >> compatible = "samsung,fimc", "simple-bus"; >> - #address-cells = <1>; >> - #size-cells = <1>; >> - status = "okay"; >> - >> + clocks = <&clock 132>, <&clock 133>; >> + clock-names = "sclk_cam0", "sclk_cam1"; > > The documentation mentions that clock-names must contain "sclk_cam0", > "sclk_cam1", "pxl_async0", "pxl_async1". Are the last two optional ? If so I > think you should clarify the description of the clock-names property. This can > be done in a separate patch. "pxl_async0", "pxl_async1" are mandatory, I'll add them also into this example dts. >> + #clock-cells = <1>; >> + clock-output-names = "cam_mclk_a", "cam_mclk_b"; >> pinctrl-names = "default"; >> pinctrl-0 = <&cam_port_a_clk_active>; >> + status = "okay"; >> + #address-cells = <1>; >> + #size-cells = <1>; >> >> /* parallel camera ports */ >> parallel-ports { -- Regards, Sylwester -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi Sylwester, On Tuesday 11 March 2014 14:38:37 Sylwester Nawrocki wrote: > Hi Laurent, > > Thanks for your review. You're welcome. > On 11/03/14 13:30, Laurent Pinchart wrote: > [...] > > >> --- > >> > >> .../devicetree/bindings/media/samsung-fimc.txt | 34 +++++++++----- > >> 1 file changed, 26 insertions(+), 8 deletions(-) > >> > >> diff --git a/Documentation/devicetree/bindings/media/samsung-fimc.txt > >> b/Documentation/devicetree/bindings/media/samsung-fimc.txt index > >> 96312f6..dbd4020 100644 > >> --- a/Documentation/devicetree/bindings/media/samsung-fimc.txt > >> +++ b/Documentation/devicetree/bindings/media/samsung-fimc.txt > >> @@ -32,6 +32,21 @@ way around. > >> > >> The 'camera' node must include at least one 'fimc' child node. > >> > >> +Optional properties: > >> + > >> +- #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. > > > > Wouldn't it be better to document the "cam_mclk_a" and "cam_mclk_b" names > > explicitly ? Or do you expect different names to be used in different DT > > files ? And as they correspond to the CAM_A_CLKOUT and CAM_B_CLKOUT pins, > > shouldn't they be named "cam_a_clkout" and "cam_b_clkout" ? > > Basically I could use fixed names for these clocks, I just wanted to keep > a possibility to override them in dts to avoid any possible clock name > collisions, rather than keep a list of different names per SoC in the > driver. Right now fixed names could also be used for all SoCs I'm aware of, > nevertheless I would prefer to keep the clock-output-names property. > "cam_a_clkout", "cam_b_clkout" may be indeed better names, I'll change > that. OK, variable names are fine with me. > >> +Note: #clock-cells and clock-output-names are mandatory properties if > >> external > >> +image sensor devices reference 'camera' device node as a clock provider. > >> + > > > > What's the reason not to make them always mandatory ? Backward > > compatibility only ? If so wouldn't it make sense to document the > > properties as mandatory from now on, and treating them as optional in the > > driver for backward compatibility ? > > Yes, it's for backwards compatibility only. It may be a good idea to just > document them as required, since this is how the device is expected to be > described in DT from now. I'll just make these a required properties, > the driver already handles them as optional. OK. > >> 'fimc' device nodes > >> ------------------- > >> > >> @@ -97,8 +112,8 @@ 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. > >> +An optional clock-frequency property needs to be present in the sensor > >> device > >> +nodes. Default value when this property is not present is 24 MHz. > > > > This bothers me. Having the FIMC driver read the clock-frequence property > > from the sensor DT nodes feels like a layering violation. Shouldn't the > > sensor drivers call clk_set_rate() explicitly instead ? > > It is supposed to do so, after this whole patch series. So the camera > controller driver will not need such properties. What do you think about > removing this sentence altogether ? Sure. As the FIMC won't access the clock-frequency property of the sensor anymore after this patch series, let's just drop the mention of clock- frequency. > >> Example: > >> @@ -114,7 +129,7 @@ Example: > >> vddio-supply = <...>; > >> > >> clock-frequency = <24000000>; > >> > >> - clocks = <...>; > >> + clocks = <&camera 1>; > >> > >> clock-names = "mclk"; > >> > >> port { > >> > >> @@ -135,7 +150,7 @@ Example: > >> vddio-supply = <...>; > >> > >> clock-frequency = <24000000>; > >> > >> - clocks = <...>; > >> + clocks = <&camera 0>; > >> > >> clock-names = "mclk"; > >> > >> port { > >> > >> @@ -149,12 +164,15 @@ Example: > >> camera { > >> > >> compatible = "samsung,fimc", "simple-bus"; > >> > >> - #address-cells = <1>; > >> - #size-cells = <1>; > >> - status = "okay"; > >> - > >> + clocks = <&clock 132>, <&clock 133>; > >> + clock-names = "sclk_cam0", "sclk_cam1"; > > > > The documentation mentions that clock-names must contain "sclk_cam0", > > "sclk_cam1", "pxl_async0", "pxl_async1". Are the last two optional ? If so > > I think you should clarify the description of the clock-names property. > > This can be done in a separate patch. > > "pxl_async0", "pxl_async1" are mandatory, I'll add them also into > this example dts. OK. > >> + #clock-cells = <1>; > >> + clock-output-names = "cam_mclk_a", "cam_mclk_b"; > >> > >> pinctrl-names = "default"; > >> pinctrl-0 = <&cam_port_a_clk_active>; > >> > >> + status = "okay"; > >> + #address-cells = <1>; > >> + #size-cells = <1>; > >> > >> /* parallel camera ports */ > >> parallel-ports {
diff --git a/Documentation/devicetree/bindings/media/samsung-fimc.txt b/Documentation/devicetree/bindings/media/samsung-fimc.txt index 96312f6..dbd4020 100644 --- a/Documentation/devicetree/bindings/media/samsung-fimc.txt +++ b/Documentation/devicetree/bindings/media/samsung-fimc.txt @@ -32,6 +32,21 @@ way around. The 'camera' node must include at least one 'fimc' child node. +Optional properties: + +- #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. + +Note: #clock-cells and clock-output-names are mandatory properties if external +image sensor devices reference 'camera' device node as a clock provider. + 'fimc' device nodes ------------------- @@ -97,8 +112,8 @@ 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. +An optional clock-frequency property needs to be present in the sensor device +nodes. Default value when this property is not present is 24 MHz. Example: @@ -114,7 +129,7 @@ Example: vddio-supply = <...>; clock-frequency = <24000000>; - clocks = <...>; + clocks = <&camera 1>; clock-names = "mclk"; port { @@ -135,7 +150,7 @@ Example: vddio-supply = <...>; clock-frequency = <24000000>; - clocks = <...>; + clocks = <&camera 0>; clock-names = "mclk"; port { @@ -149,12 +164,15 @@ Example: camera { compatible = "samsung,fimc", "simple-bus"; - #address-cells = <1>; - #size-cells = <1>; - status = "okay"; - + clocks = <&clock 132>, <&clock 133>; + clock-names = "sclk_cam0", "sclk_cam1"; + #clock-cells = <1>; + clock-output-names = "cam_mclk_a", "cam_mclk_b"; pinctrl-names = "default"; pinctrl-0 = <&cam_port_a_clk_active>; + status = "okay"; + #address-cells = <1>; + #size-cells = <1>; /* parallel camera ports */ parallel-ports {