From: Sylwester Nawrocki <s.nawrocki@samsung.com> To: linux-media@vger.kernel.org Cc: kyungmin.park@samsung.com, kgene.kim@samsung.com, swarren@wwwdotorg.org, rob.herring@calxeda.com, prabhakar.lad@ti.com, devicetree-discuss@lists.ozlabs.org, linux-samsung-soc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Sylwester Nawrocki <s.nawrocki@samsung.com> Subject: [PATCH v4 06/10] s5p-fimc: Use pinctrl API for camera ports configuration Date: Fri, 01 Feb 2013 20:09:27 +0100 [thread overview] Message-ID: <1359745771-23684-7-git-send-email-s.nawrocki@samsung.com> (raw) In-Reply-To: <1359745771-23684-1-git-send-email-s.nawrocki@samsung.com> Before the camera ports can be used the pinmux needs to be configured properly. This patch adds a function to set the camera ports pinctrl to a default state within the media driver's probe(). The camera port(s) are then configured for the video bus operation. Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Changes since v3: - removed the "inactive" pinctrl state, it will be added later if required --- .../devicetree/bindings/media/soc/samsung-fimc.txt | 7 +++++++ drivers/media/platform/s5p-fimc/fimc-mdevice.c | 9 +++++++++ 2 files changed, 16 insertions(+) diff --git a/Documentation/devicetree/bindings/media/soc/samsung-fimc.txt b/Documentation/devicetree/bindings/media/soc/samsung-fimc.txt index 6b81ad1..3788305 100644 --- a/Documentation/devicetree/bindings/media/soc/samsung-fimc.txt +++ b/Documentation/devicetree/bindings/media/soc/samsung-fimc.txt @@ -18,6 +18,10 @@ Required properties: - compatible : must be "samsung,fimc", "simple-bus" +- pinctrl-names : pinctrl names for camera port pinmux control, at least + "default" needs to be specified. +- pinctrl-0...N : pinctrl properties corresponding to pinctrl-names + The 'camera' node must include at least one 'fimc' child node. @@ -133,6 +137,9 @@ Example: #size-cells = <1>; status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&cam_port_a_clk_active>; + /* parallel camera ports */ parallel-ports { /* camera A input */ diff --git a/drivers/media/platform/s5p-fimc/fimc-mdevice.c b/drivers/media/platform/s5p-fimc/fimc-mdevice.c index 2bb501f..6c2c9e3 100644 --- a/drivers/media/platform/s5p-fimc/fimc-mdevice.c +++ b/drivers/media/platform/s5p-fimc/fimc-mdevice.c @@ -21,6 +21,7 @@ #include <linux/of_platform.h> #include <linux/of_device.h> #include <linux/of_i2c.h> +#include <linux/pinctrl/consumer.h> #include <linux/platform_device.h> #include <linux/pm_runtime.h> #include <linux/types.h> @@ -1197,6 +1198,14 @@ static int fimc_md_probe(struct platform_device *pdev) /* Protect the media graph while we're registering entities */ mutex_lock(&fmd->media_dev.graph_mutex); + if (dev->of_node) { + struct pinctrl *pctl = devm_pinctrl_get_select_default(dev); + if (IS_ERR(pctl)) { + ret = PTR_ERR(pctl); + goto err_unlock; + } + } + if (fmd->pdev->dev.of_node) ret = fimc_md_register_of_platform_entities(fmd, dev->of_node); else -- 1.7.9.5
WARNING: multiple messages have this Message-ID (diff)
From: s.nawrocki@samsung.com (Sylwester Nawrocki) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH v4 06/10] s5p-fimc: Use pinctrl API for camera ports configuration Date: Fri, 01 Feb 2013 20:09:27 +0100 [thread overview] Message-ID: <1359745771-23684-7-git-send-email-s.nawrocki@samsung.com> (raw) In-Reply-To: <1359745771-23684-1-git-send-email-s.nawrocki@samsung.com> Before the camera ports can be used the pinmux needs to be configured properly. This patch adds a function to set the camera ports pinctrl to a default state within the media driver's probe(). The camera port(s) are then configured for the video bus operation. Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Changes since v3: - removed the "inactive" pinctrl state, it will be added later if required --- .../devicetree/bindings/media/soc/samsung-fimc.txt | 7 +++++++ drivers/media/platform/s5p-fimc/fimc-mdevice.c | 9 +++++++++ 2 files changed, 16 insertions(+) diff --git a/Documentation/devicetree/bindings/media/soc/samsung-fimc.txt b/Documentation/devicetree/bindings/media/soc/samsung-fimc.txt index 6b81ad1..3788305 100644 --- a/Documentation/devicetree/bindings/media/soc/samsung-fimc.txt +++ b/Documentation/devicetree/bindings/media/soc/samsung-fimc.txt @@ -18,6 +18,10 @@ Required properties: - compatible : must be "samsung,fimc", "simple-bus" +- pinctrl-names : pinctrl names for camera port pinmux control, at least + "default" needs to be specified. +- pinctrl-0...N : pinctrl properties corresponding to pinctrl-names + The 'camera' node must include at least one 'fimc' child node. @@ -133,6 +137,9 @@ Example: #size-cells = <1>; status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&cam_port_a_clk_active>; + /* parallel camera ports */ parallel-ports { /* camera A input */ diff --git a/drivers/media/platform/s5p-fimc/fimc-mdevice.c b/drivers/media/platform/s5p-fimc/fimc-mdevice.c index 2bb501f..6c2c9e3 100644 --- a/drivers/media/platform/s5p-fimc/fimc-mdevice.c +++ b/drivers/media/platform/s5p-fimc/fimc-mdevice.c @@ -21,6 +21,7 @@ #include <linux/of_platform.h> #include <linux/of_device.h> #include <linux/of_i2c.h> +#include <linux/pinctrl/consumer.h> #include <linux/platform_device.h> #include <linux/pm_runtime.h> #include <linux/types.h> @@ -1197,6 +1198,14 @@ static int fimc_md_probe(struct platform_device *pdev) /* Protect the media graph while we're registering entities */ mutex_lock(&fmd->media_dev.graph_mutex); + if (dev->of_node) { + struct pinctrl *pctl = devm_pinctrl_get_select_default(dev); + if (IS_ERR(pctl)) { + ret = PTR_ERR(pctl); + goto err_unlock; + } + } + if (fmd->pdev->dev.of_node) ret = fimc_md_register_of_platform_entities(fmd, dev->of_node); else -- 1.7.9.5
next prev parent reply other threads:[~2013-02-01 19:09 UTC|newest] Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top 2013-02-01 19:09 [PATCH v4 00/10] Device tree support for Exynos SoC camera subsystem Sylwester Nawrocki 2013-02-01 19:09 ` Sylwester Nawrocki 2013-02-01 19:09 ` [PATCH v4 01/10] s5p-csis: Add device tree support Sylwester Nawrocki 2013-02-01 19:09 ` Sylwester Nawrocki 2013-02-06 23:36 ` Stephen Warren 2013-02-06 23:36 ` Stephen Warren 2013-02-08 22:29 ` Sylwester Nawrocki 2013-02-08 22:29 ` Sylwester Nawrocki 2013-02-08 23:27 ` Stephen Warren 2013-02-08 23:27 ` Stephen Warren 2013-02-09 0:31 ` Sylwester Nawrocki 2013-02-09 0:31 ` Sylwester Nawrocki 2013-02-01 19:09 ` [PATCH v4 02/10] s5p-fimc: Add device tree support for FIMC devices Sylwester Nawrocki 2013-02-01 19:09 ` Sylwester Nawrocki 2013-02-06 23:40 ` Stephen Warren 2013-02-06 23:40 ` Stephen Warren 2013-02-08 23:16 ` Sylwester Nawrocki 2013-02-08 23:16 ` Sylwester Nawrocki 2013-02-08 23:21 ` Stephen Warren 2013-02-08 23:21 ` Stephen Warren 2013-02-09 0:05 ` Sylwester Nawrocki 2013-02-09 0:05 ` Sylwester Nawrocki 2013-02-09 0:32 ` Stephen Warren 2013-02-09 0:32 ` Stephen Warren 2013-02-09 22:29 ` Sylwester Nawrocki 2013-02-09 22:29 ` Sylwester Nawrocki 2013-02-09 22:52 ` Sylwester Nawrocki 2013-02-09 22:52 ` Sylwester Nawrocki 2013-02-11 21:50 ` Stephen Warren 2013-02-11 21:50 ` Stephen Warren 2013-02-12 22:39 ` Sylwester Nawrocki 2013-02-12 22:39 ` Sylwester Nawrocki 2013-02-13 20:42 ` Stephen Warren 2013-02-13 20:42 ` Stephen Warren 2013-02-14 23:03 ` Sylwester Nawrocki 2013-02-14 23:03 ` Sylwester Nawrocki 2013-02-01 19:09 ` [PATCH v4 03/10] s5p-fimc: Add device tree support for FIMC-LITE devices Sylwester Nawrocki 2013-02-01 19:09 ` Sylwester Nawrocki 2013-02-01 19:09 ` [PATCH v4 04/10] s5p-fimc: Add device tree support for the main media device driver Sylwester Nawrocki 2013-02-01 19:09 ` Sylwester Nawrocki 2013-02-01 19:09 ` [PATCH v4 05/10] s5p-fimc: Add device tree based sensors registration Sylwester Nawrocki 2013-02-01 19:09 ` Sylwester Nawrocki 2013-02-06 23:42 ` Stephen Warren 2013-02-06 23:42 ` Stephen Warren 2013-02-08 23:26 ` Sylwester Nawrocki 2013-02-08 23:26 ` Sylwester Nawrocki 2013-02-01 19:09 ` Sylwester Nawrocki [this message] 2013-02-01 19:09 ` [PATCH v4 06/10] s5p-fimc: Use pinctrl API for camera ports configuration Sylwester Nawrocki 2013-02-06 23:44 ` Stephen Warren 2013-02-06 23:44 ` Stephen Warren 2013-02-08 23:30 ` Sylwester Nawrocki 2013-02-08 23:30 ` Sylwester Nawrocki 2013-02-01 19:09 ` [PATCH v4 07/10] ARM: dts: Add camera to node exynos4.dtsi Sylwester Nawrocki 2013-02-01 19:09 ` Sylwester Nawrocki 2013-02-01 19:09 ` [PATCH v4 08/10] ARM: dts: Add ISP power domain node for Exynos4x12 Sylwester Nawrocki 2013-02-01 19:09 ` Sylwester Nawrocki 2013-02-01 19:09 ` [PATCH v4 09/10] ARM: dts: Add FIMC and MIPI CSIS device nodes " Sylwester Nawrocki 2013-02-01 19:09 ` Sylwester Nawrocki 2013-02-01 19:09 ` [PATCH v4 10/10] ARM: dts: Correct camera pinctrl nodes for Exynos4x12 SoCs Sylwester Nawrocki 2013-02-01 19:09 ` 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=1359745771-23684-7-git-send-email-s.nawrocki@samsung.com \ --to=s.nawrocki@samsung.com \ --cc=devicetree-discuss@lists.ozlabs.org \ --cc=kgene.kim@samsung.com \ --cc=kyungmin.park@samsung.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-media@vger.kernel.org \ --cc=linux-samsung-soc@vger.kernel.org \ --cc=prabhakar.lad@ti.com \ --cc=rob.herring@calxeda.com \ --cc=swarren@wwwdotorg.org \ /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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.