* [PATCH 0/2] media: i2c: ov5645: Switch to assigned-clock-rates @ 2020-03-09 11:46 Lad Prabhakar 2020-03-09 11:46 ` [PATCH 1/2] media: dt-bindings: media: i2c: " Lad Prabhakar 2020-03-09 11:46 ` [PATCH 2/2] media: i2c: ov5645: " Lad Prabhakar 0 siblings, 2 replies; 5+ messages in thread From: Lad Prabhakar @ 2020-03-09 11:46 UTC (permalink / raw) To: Mauro Carvalho Chehab, Rob Herring, Mark Rutland, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, NXP Linux Team, Sakari Ailus, Kieran Bingham Cc: linux-media, devicetree, linux-kernel, linux-arm-kernel, Lad Prabhakar, Lad Prabhakar This patch series adds support for using assigned-clock-rates for specifying clock rates for ov5645 driver Lad Prabhakar (2): media: dt-bindings: media: i2c: Switch to assigned-clock-rates media: i2c: ov5645: Switch to assigned-clock-rates Documentation/devicetree/bindings/media/i2c/ov5645.txt | 4 ++-- arch/arm/boot/dts/imx6qdl-wandboard.dtsi | 3 ++- drivers/media/i2c/ov5645.c | 9 ++------- 3 files changed, 6 insertions(+), 10 deletions(-) -- 2.7.4 ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 1/2] media: dt-bindings: media: i2c: Switch to assigned-clock-rates 2020-03-09 11:46 [PATCH 0/2] media: i2c: ov5645: Switch to assigned-clock-rates Lad Prabhakar @ 2020-03-09 11:46 ` Lad Prabhakar 2020-03-09 11:46 ` [PATCH 2/2] media: i2c: ov5645: " Lad Prabhakar 1 sibling, 0 replies; 5+ messages in thread From: Lad Prabhakar @ 2020-03-09 11:46 UTC (permalink / raw) To: Mauro Carvalho Chehab, Rob Herring, Mark Rutland, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, NXP Linux Team, Sakari Ailus, Kieran Bingham Cc: linux-media, devicetree, linux-kernel, linux-arm-kernel, Lad Prabhakar, Lad Prabhakar Use assigned-clock-rates to specify the clock rate. Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> --- Documentation/devicetree/bindings/media/i2c/ov5645.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Documentation/devicetree/bindings/media/i2c/ov5645.txt b/Documentation/devicetree/bindings/media/i2c/ov5645.txt index 72ad992..1c85c78 100644 --- a/Documentation/devicetree/bindings/media/i2c/ov5645.txt +++ b/Documentation/devicetree/bindings/media/i2c/ov5645.txt @@ -8,7 +8,6 @@ Required Properties: - compatible: Value should be "ovti,ov5645". - clocks: Reference to the xclk clock. - clock-names: Should be "xclk". -- clock-frequency: Frequency of the xclk clock. - enable-gpios: Chip enable GPIO. Polarity is GPIO_ACTIVE_HIGH. This corresponds to the hardware pin PWDNB which is physically active low. - reset-gpios: Chip reset GPIO. Polarity is GPIO_ACTIVE_LOW. This corresponds to @@ -37,7 +36,8 @@ Example: clocks = <&clks 200>; clock-names = "xclk"; - clock-frequency = <24000000>; + assigned-clocks = <&clks 200>; + assigned-clock-rates = <24000000>; vdddo-supply = <&camera_dovdd_1v8>; vdda-supply = <&camera_avdd_2v8>; -- 2.7.4 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 2/2] media: i2c: ov5645: Switch to assigned-clock-rates 2020-03-09 11:46 [PATCH 0/2] media: i2c: ov5645: Switch to assigned-clock-rates Lad Prabhakar 2020-03-09 11:46 ` [PATCH 1/2] media: dt-bindings: media: i2c: " Lad Prabhakar @ 2020-03-09 11:46 ` Lad Prabhakar 2020-03-10 8:50 ` Sakari Ailus 1 sibling, 1 reply; 5+ messages in thread From: Lad Prabhakar @ 2020-03-09 11:46 UTC (permalink / raw) To: Mauro Carvalho Chehab, Rob Herring, Mark Rutland, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, NXP Linux Team, Sakari Ailus, Kieran Bingham Cc: linux-media, devicetree, linux-kernel, linux-arm-kernel, Lad Prabhakar, Lad Prabhakar This patch switches to assigned-clock-rates for specifying the clock rate. The clk-conf.c internally handles setting the clock rate, as a result setting the clk rate from the driver is dropped. Correspondingly imx6qdl-wandboard.dtsi which references to ov5645 has been updated to use assigned-clock-rates in the same patch to avoid bisect failures. Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> --- arch/arm/boot/dts/imx6qdl-wandboard.dtsi | 3 ++- drivers/media/i2c/ov5645.c | 9 ++------- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/arch/arm/boot/dts/imx6qdl-wandboard.dtsi b/arch/arm/boot/dts/imx6qdl-wandboard.dtsi index c070893..71f5f75 100644 --- a/arch/arm/boot/dts/imx6qdl-wandboard.dtsi +++ b/arch/arm/boot/dts/imx6qdl-wandboard.dtsi @@ -126,7 +126,8 @@ reg = <0x3c>; clocks = <&clks IMX6QDL_CLK_CKO2>; clock-names = "xclk"; - clock-frequency = <24000000>; + assigned-clocks = <&clks IMX6QDL_CLK_CKO2>; + assigned-clock-rates = <24000000>; vdddo-supply = <®_1p8v>; vdda-supply = <®_2p8v>; vddd-supply = <®_1p5v>; diff --git a/drivers/media/i2c/ov5645.c b/drivers/media/i2c/ov5645.c index a6c17d1..2aa2677 100644 --- a/drivers/media/i2c/ov5645.c +++ b/drivers/media/i2c/ov5645.c @@ -1094,7 +1094,8 @@ static int ov5645_probe(struct i2c_client *client) return PTR_ERR(ov5645->xclk); } - ret = of_property_read_u32(dev->of_node, "clock-frequency", &xclk_freq); + ret = of_property_read_u32(dev->of_node, "assigned-clock-rates", + &xclk_freq); if (ret) { dev_err(dev, "could not get xclk frequency\n"); return ret; @@ -1107,12 +1108,6 @@ static int ov5645_probe(struct i2c_client *client) return -EINVAL; } - ret = clk_set_rate(ov5645->xclk, xclk_freq); - if (ret) { - dev_err(dev, "could not set xclk frequency\n"); - return ret; - } - for (i = 0; i < OV5645_NUM_SUPPLIES; i++) ov5645->supplies[i].supply = ov5645_supply_name[i]; -- 2.7.4 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 2/2] media: i2c: ov5645: Switch to assigned-clock-rates 2020-03-09 11:46 ` [PATCH 2/2] media: i2c: ov5645: " Lad Prabhakar @ 2020-03-10 8:50 ` Sakari Ailus 2020-03-10 8:57 ` Prabhakar Mahadev Lad 0 siblings, 1 reply; 5+ messages in thread From: Sakari Ailus @ 2020-03-10 8:50 UTC (permalink / raw) To: Lad Prabhakar Cc: Mauro Carvalho Chehab, Rob Herring, Mark Rutland, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, NXP Linux Team, Kieran Bingham, linux-media, devicetree, linux-kernel, linux-arm-kernel, Lad Prabhakar Hi Prabhakar, On Mon, Mar 09, 2020 at 11:46:13AM +0000, Lad Prabhakar wrote: > This patch switches to assigned-clock-rates for specifying the clock rate. > The clk-conf.c internally handles setting the clock rate, as a result > setting the clk rate from the driver is dropped. > > Correspondingly imx6qdl-wandboard.dtsi which references to ov5645 has been > updated to use assigned-clock-rates in the same patch to avoid bisect > failures. > > Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> > --- > arch/arm/boot/dts/imx6qdl-wandboard.dtsi | 3 ++- > drivers/media/i2c/ov5645.c | 9 ++------- > 2 files changed, 4 insertions(+), 8 deletions(-) > > diff --git a/arch/arm/boot/dts/imx6qdl-wandboard.dtsi b/arch/arm/boot/dts/imx6qdl-wandboard.dtsi > index c070893..71f5f75 100644 > --- a/arch/arm/boot/dts/imx6qdl-wandboard.dtsi > +++ b/arch/arm/boot/dts/imx6qdl-wandboard.dtsi > @@ -126,7 +126,8 @@ > reg = <0x3c>; > clocks = <&clks IMX6QDL_CLK_CKO2>; > clock-names = "xclk"; > - clock-frequency = <24000000>; > + assigned-clocks = <&clks IMX6QDL_CLK_CKO2>; > + assigned-clock-rates = <24000000>; > vdddo-supply = <®_1p8v>; > vdda-supply = <®_2p8v>; > vddd-supply = <®_1p5v>; Shouldn't this be a separate patch? > diff --git a/drivers/media/i2c/ov5645.c b/drivers/media/i2c/ov5645.c > index a6c17d1..2aa2677 100644 > --- a/drivers/media/i2c/ov5645.c > +++ b/drivers/media/i2c/ov5645.c > @@ -1094,7 +1094,8 @@ static int ov5645_probe(struct i2c_client *client) > return PTR_ERR(ov5645->xclk); > } > > - ret = of_property_read_u32(dev->of_node, "clock-frequency", &xclk_freq); > + ret = of_property_read_u32(dev->of_node, "assigned-clock-rates", > + &xclk_freq); I think you'd still need to check for clock-frequency to be compatible with existing DT binaries. > if (ret) { > dev_err(dev, "could not get xclk frequency\n"); > return ret; > @@ -1107,12 +1108,6 @@ static int ov5645_probe(struct i2c_client *client) > return -EINVAL; > } > > - ret = clk_set_rate(ov5645->xclk, xclk_freq); > - if (ret) { > - dev_err(dev, "could not set xclk frequency\n"); > - return ret; > - } > - > for (i = 0; i < OV5645_NUM_SUPPLIES; i++) > ov5645->supplies[i].supply = ov5645_supply_name[i]; > -- Regards, Sakari Ailus ^ permalink raw reply [flat|nested] 5+ messages in thread
* RE: [PATCH 2/2] media: i2c: ov5645: Switch to assigned-clock-rates 2020-03-10 8:50 ` Sakari Ailus @ 2020-03-10 8:57 ` Prabhakar Mahadev Lad 0 siblings, 0 replies; 5+ messages in thread From: Prabhakar Mahadev Lad @ 2020-03-10 8:57 UTC (permalink / raw) To: Sakari Ailus Cc: Mauro Carvalho Chehab, Rob Herring, Mark Rutland, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, NXP Linux Team, Kieran Bingham, linux-media@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Lad Prabhakar Hi Sakari, Thank you for the review. > -----Original Message----- > From: Sakari Ailus <sakari.ailus@linux.intel.com> > Sent: 10 March 2020 08:50 > To: Prabhakar Mahadev Lad <prabhakar.mahadev-lad.rj@bp.renesas.com> > Cc: Mauro Carvalho Chehab <mchehab@kernel.org>; Rob Herring > <robh+dt@kernel.org>; Mark Rutland <mark.rutland@arm.com>; Shawn > Guo <shawnguo@kernel.org>; Sascha Hauer <s.hauer@pengutronix.de>; > Pengutronix Kernel Team <kernel@pengutronix.de>; Fabio Estevam > <festevam@gmail.com>; NXP Linux Team <linux-imx@nxp.com>; Kieran > Bingham <kieran.bingham+renesas@ideasonboard.com>; linux- > media@vger.kernel.org; devicetree@vger.kernel.org; linux- > kernel@vger.kernel.org; linux-arm-kernel@lists.infradead.org; Lad > Prabhakar <prabhakar.csengg@gmail.com> > Subject: Re: [PATCH 2/2] media: i2c: ov5645: Switch to assigned-clock-rates > > Hi Prabhakar, > > On Mon, Mar 09, 2020 at 11:46:13AM +0000, Lad Prabhakar wrote: > > This patch switches to assigned-clock-rates for specifying the clock rate. > > The clk-conf.c internally handles setting the clock rate, as a result > > setting the clk rate from the driver is dropped. > > > > Correspondingly imx6qdl-wandboard.dtsi which references to ov5645 has > > been updated to use assigned-clock-rates in the same patch to avoid > > bisect failures. > > > > Signed-off-by: Lad Prabhakar <prabhakar.mahadev- > lad.rj@bp.renesas.com> > > --- > > arch/arm/boot/dts/imx6qdl-wandboard.dtsi | 3 ++- > > drivers/media/i2c/ov5645.c | 9 ++------- > > 2 files changed, 4 insertions(+), 8 deletions(-) > > > > diff --git a/arch/arm/boot/dts/imx6qdl-wandboard.dtsi > > b/arch/arm/boot/dts/imx6qdl-wandboard.dtsi > > index c070893..71f5f75 100644 > > --- a/arch/arm/boot/dts/imx6qdl-wandboard.dtsi > > +++ b/arch/arm/boot/dts/imx6qdl-wandboard.dtsi > > @@ -126,7 +126,8 @@ > > reg = <0x3c>; > > clocks = <&clks IMX6QDL_CLK_CKO2>; > > clock-names = "xclk"; > > -clock-frequency = <24000000>; > > +assigned-clocks = <&clks IMX6QDL_CLK_CKO2>; > > +assigned-clock-rates = <24000000>; > > vdddo-supply = <®_1p8v>; > > vdda-supply = <®_2p8v>; > > vddd-supply = <®_1p5v>; > > Shouldn't this be a separate patch? > I did think about it, but realized it might break bisect, but with below changes this can be a separate patch now. > > diff --git a/drivers/media/i2c/ov5645.c b/drivers/media/i2c/ov5645.c > > index a6c17d1..2aa2677 100644 > > --- a/drivers/media/i2c/ov5645.c > > +++ b/drivers/media/i2c/ov5645.c > > @@ -1094,7 +1094,8 @@ static int ov5645_probe(struct i2c_client *client) > > return PTR_ERR(ov5645->xclk); > > } > > > > -ret = of_property_read_u32(dev->of_node, "clock-frequency", > &xclk_freq); > > +ret = of_property_read_u32(dev->of_node, "assigned-clock-rates", > > + &xclk_freq); > > I think you'd still need to check for clock-frequency to be compatible with > existing DT binaries. > Makes sense, I will add the check for it and if clock-frequency is specified Ill let the driver set the clock. Cheers, --Prabhakar > > if (ret) { > > dev_err(dev, "could not get xclk frequency\n"); > > return ret; > > @@ -1107,12 +1108,6 @@ static int ov5645_probe(struct i2c_client *client) > > return -EINVAL; > > } > > > > -ret = clk_set_rate(ov5645->xclk, xclk_freq); > > -if (ret) { > > -dev_err(dev, "could not set xclk frequency\n"); > > -return ret; > > -} > > - > > for (i = 0; i < OV5645_NUM_SUPPLIES; i++) > > ov5645->supplies[i].supply = ov5645_supply_name[i]; > > > > -- > Regards, > > Sakari Ailus Renesas Electronics Europe GmbH, Geschaeftsfuehrer/President: Carsten Jauch, Sitz der Gesellschaft/Registered office: Duesseldorf, Arcadiastrasse 10, 40472 Duesseldorf, Germany, Handelsregister/Commercial Register: Duesseldorf, HRB 3708 USt-IDNr./Tax identification no.: DE 119353406 WEEE-Reg.-Nr./WEEE reg. no.: DE 14978647 ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2020-03-10 8:57 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2020-03-09 11:46 [PATCH 0/2] media: i2c: ov5645: Switch to assigned-clock-rates Lad Prabhakar 2020-03-09 11:46 ` [PATCH 1/2] media: dt-bindings: media: i2c: " Lad Prabhakar 2020-03-09 11:46 ` [PATCH 2/2] media: i2c: ov5645: " Lad Prabhakar 2020-03-10 8:50 ` Sakari Ailus 2020-03-10 8:57 ` Prabhakar Mahadev Lad
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).