linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [RESEND] clk: ppc-corenet: Add Freescale ARM-based platforms CLK_OF_DECLARE support
@ 2014-08-22  9:34 Jingchang Lu
  2014-08-26 22:51 ` Scott Wood
  0 siblings, 1 reply; 8+ messages in thread
From: Jingchang Lu @ 2014-08-22  9:34 UTC (permalink / raw)
  To: mturquette; +Cc: linuxppc-dev, linux-kernel, linux-arm-kernel, Jingchang Lu

Signed-off-by: Jingchang Lu <jingchang.lu@freescale.com>
---
 drivers/clk/Kconfig           | 7 ++++---
 drivers/clk/clk-ppc-corenet.c | 5 +++++
 2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/drivers/clk/Kconfig b/drivers/clk/Kconfig
index cfd3af7..8784704 100644
--- a/drivers/clk/Kconfig
+++ b/drivers/clk/Kconfig
@@ -82,11 +82,12 @@ config COMMON_CLK_AXI_CLKGEN
 	  FPGAs. It is commonly used in Analog Devices' reference designs.
 
 config CLK_PPC_CORENET
-	bool "Clock driver for PowerPC corenet platforms"
-	depends on PPC_E500MC && OF
+	bool "Clock driver for PowerPC corenet and compatible ARM-based platforms"
+	depends on (PPC_E500MC || ARM) && OF
 	---help---
 	  This adds the clock driver support for Freescale PowerPC corenet
-	  platforms using common clock framework.
+	  platforms and compatible Freescale ARM based platforms using common
+	  clock framework.
 
 config COMMON_CLK_XGENE
 	bool "Clock driver for APM XGene SoC"
diff --git a/drivers/clk/clk-ppc-corenet.c b/drivers/clk/clk-ppc-corenet.c
index 8e58edf..7692cac 100644
--- a/drivers/clk/clk-ppc-corenet.c
+++ b/drivers/clk/clk-ppc-corenet.c
@@ -305,3 +305,8 @@ static int __init ppc_corenet_clk_init(void)
 	return platform_driver_register(&ppc_corenet_clk_driver);
 }
 subsys_initcall(ppc_corenet_clk_init);
+
+CLK_OF_DECLARE(ppc_core_pll_v1, "fsl,qoriq-core-pll-1.0", core_pll_init);
+CLK_OF_DECLARE(ppc_core_pll_v2, "fsl,qoriq-core-pll-2.0", core_pll_init);
+CLK_OF_DECLARE(ppc_core_mux_v1, "fsl,qoriq-core-mux-1.0", core_mux_init);
+CLK_OF_DECLARE(ppc_core_mux_v2, "fsl,qoriq-core-mux-2.0", core_mux_init);
-- 
1.8.0

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [RESEND] clk: ppc-corenet: Add Freescale ARM-based platforms CLK_OF_DECLARE support
  2014-08-22  9:34 [RESEND] clk: ppc-corenet: Add Freescale ARM-based platforms CLK_OF_DECLARE support Jingchang Lu
@ 2014-08-26 22:51 ` Scott Wood
  2014-08-27  2:19   ` Jingchang Lu
  0 siblings, 1 reply; 8+ messages in thread
From: Scott Wood @ 2014-08-26 22:51 UTC (permalink / raw)
  To: Jingchang Lu; +Cc: linuxppc-dev, mturquette, linux-kernel, linux-arm-kernel

On Fri, 2014-08-22 at 17:34 +0800, Jingchang Lu wrote:
> Signed-off-by: Jingchang Lu <jingchang.lu@freescale.com>
> ---
>  drivers/clk/Kconfig           | 7 ++++---
>  drivers/clk/clk-ppc-corenet.c | 5 +++++
>  2 files changed, 9 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/clk/Kconfig b/drivers/clk/Kconfig
> index cfd3af7..8784704 100644
> --- a/drivers/clk/Kconfig
> +++ b/drivers/clk/Kconfig
> @@ -82,11 +82,12 @@ config COMMON_CLK_AXI_CLKGEN
>  	  FPGAs. It is commonly used in Analog Devices' reference designs.
>  
>  config CLK_PPC_CORENET
> -	bool "Clock driver for PowerPC corenet platforms"
> -	depends on PPC_E500MC && OF
> +	bool "Clock driver for PowerPC corenet and compatible ARM-based platforms"
> +	depends on (PPC_E500MC || ARM) && OF

Should the symbol and driver be renamed to something like CLK_FSL_QORIQ?

> diff --git a/drivers/clk/clk-ppc-corenet.c b/drivers/clk/clk-ppc-corenet.c
> index 8e58edf..7692cac 100644
> --- a/drivers/clk/clk-ppc-corenet.c
> +++ b/drivers/clk/clk-ppc-corenet.c
> @@ -305,3 +305,8 @@ static int __init ppc_corenet_clk_init(void)
>  	return platform_driver_register(&ppc_corenet_clk_driver);
>  }
>  subsys_initcall(ppc_corenet_clk_init);
> +
> +CLK_OF_DECLARE(ppc_core_pll_v1, "fsl,qoriq-core-pll-1.0", core_pll_init);
> +CLK_OF_DECLARE(ppc_core_pll_v2, "fsl,qoriq-core-pll-2.0", core_pll_init);
> +CLK_OF_DECLARE(ppc_core_mux_v1, "fsl,qoriq-core-mux-1.0", core_mux_init);
> +CLK_OF_DECLARE(ppc_core_mux_v2, "fsl,qoriq-core-mux-2.0", core_mux_init);

What does this do that the existing platform driver and match table
don't?  Why is it needed for ARM when PPC didn't need it?

-Scott

^ permalink raw reply	[flat|nested] 8+ messages in thread

* RE: [RESEND] clk: ppc-corenet: Add Freescale ARM-based platforms CLK_OF_DECLARE support
  2014-08-26 22:51 ` Scott Wood
@ 2014-08-27  2:19   ` Jingchang Lu
  2014-08-27 23:33     ` Scott Wood
  0 siblings, 1 reply; 8+ messages in thread
From: Jingchang Lu @ 2014-08-27  2:19 UTC (permalink / raw)
  To: Scott Wood
  Cc: linuxppc-dev@lists.ozlabs.org, mturquette@linaro.org,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org

Pi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+RnJvbTogV29vZCBTY290dC1CMDc0MjENCj5T
ZW50OiBXZWRuZXNkYXksIEF1Z3VzdCAyNywgMjAxNCA2OjUxIEFNDQo+VG86IEx1IEppbmdjaGFu
Zy1CMzUwODMNCj5DYzogbXR1cnF1ZXR0ZUBsaW5hcm8ub3JnOyBsaW51eHBwYy1kZXZAbGlzdHMu
b3psYWJzLm9yZzsgbGludXgtDQo+a2VybmVsQHZnZXIua2VybmVsLm9yZzsgbGludXgtYXJtLWtl
cm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnDQo+U3ViamVjdDogUmU6IFtSRVNFTkRdIGNsazogcHBj
LWNvcmVuZXQ6IEFkZCBGcmVlc2NhbGUgQVJNLWJhc2VkIHBsYXRmb3Jtcw0KPkNMS19PRl9ERUNM
QVJFIHN1cHBvcnQNCj4NCj5PbiBGcmksIDIwMTQtMDgtMjIgYXQgMTc6MzQgKzA4MDAsIEppbmdj
aGFuZyBMdSB3cm90ZToNCj4+IFNpZ25lZC1vZmYtYnk6IEppbmdjaGFuZyBMdSA8amluZ2NoYW5n
Lmx1QGZyZWVzY2FsZS5jb20+DQo+PiAtLS0NCj4+ICBkcml2ZXJzL2Nsay9LY29uZmlnICAgICAg
ICAgICB8IDcgKysrKy0tLQ0KPj4gIGRyaXZlcnMvY2xrL2Nsay1wcGMtY29yZW5ldC5jIHwgNSAr
KysrKw0KPj4gIDIgZmlsZXMgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygt
KQ0KPj4NCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2Nsay9LY29uZmlnIGIvZHJpdmVycy9jbGsv
S2NvbmZpZw0KPj4gaW5kZXggY2ZkM2FmNy4uODc4NDcwNCAxMDA2NDQNCj4+IC0tLSBhL2RyaXZl
cnMvY2xrL0tjb25maWcNCj4+ICsrKyBiL2RyaXZlcnMvY2xrL0tjb25maWcNCj4+IEBAIC04Miwx
MSArODIsMTIgQEAgY29uZmlnIENPTU1PTl9DTEtfQVhJX0NMS0dFTg0KPj4gIAkgIEZQR0FzLiBJ
dCBpcyBjb21tb25seSB1c2VkIGluIEFuYWxvZyBEZXZpY2VzJyByZWZlcmVuY2UgZGVzaWducy4N
Cj4+DQo+PiAgY29uZmlnIENMS19QUENfQ09SRU5FVA0KPj4gLQlib29sICJDbG9jayBkcml2ZXIg
Zm9yIFBvd2VyUEMgY29yZW5ldCBwbGF0Zm9ybXMiDQo+PiAtCWRlcGVuZHMgb24gUFBDX0U1MDBN
QyAmJiBPRg0KPj4gKwlib29sICJDbG9jayBkcml2ZXIgZm9yIFBvd2VyUEMgY29yZW5ldCBhbmQg
Y29tcGF0aWJsZSBBUk0tYmFzZWQNCj5wbGF0Zm9ybXMiDQo+PiArCWRlcGVuZHMgb24gKFBQQ19F
NTAwTUMgfHwgQVJNKSAmJiBPRg0KPg0KPlNob3VsZCB0aGUgc3ltYm9sIGFuZCBkcml2ZXIgYmUg
cmVuYW1lZCB0byBzb21ldGhpbmcgbGlrZSBDTEtfRlNMX1FPUklRPw0KPg0KVGhpcyBuYW1lIGlz
IGJldHRlciBmb3Igc2hhcmluZyBvbiBBUk0gYW5kIFBvd2VyUEMsIEkgd2lsbCByZW5hbWUgdGhl
bS4gVGhhbmtzLg0KDQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9jbGsvY2xrLXBwYy1jb3JlbmV0
LmMgYi9kcml2ZXJzL2Nsay9jbGstcHBjLQ0KPmNvcmVuZXQuYw0KPj4gaW5kZXggOGU1OGVkZi4u
NzY5MmNhYyAxMDA2NDQNCj4+IC0tLSBhL2RyaXZlcnMvY2xrL2Nsay1wcGMtY29yZW5ldC5jDQo+
PiArKysgYi9kcml2ZXJzL2Nsay9jbGstcHBjLWNvcmVuZXQuYw0KPj4gQEAgLTMwNSwzICszMDUs
OCBAQCBzdGF0aWMgaW50IF9faW5pdCBwcGNfY29yZW5ldF9jbGtfaW5pdCh2b2lkKQ0KPj4gIAly
ZXR1cm4gcGxhdGZvcm1fZHJpdmVyX3JlZ2lzdGVyKCZwcGNfY29yZW5ldF9jbGtfZHJpdmVyKTsN
Cj4+ICB9DQo+PiAgc3Vic3lzX2luaXRjYWxsKHBwY19jb3JlbmV0X2Nsa19pbml0KTsNCj4+ICsN
Cj4+ICtDTEtfT0ZfREVDTEFSRShwcGNfY29yZV9wbGxfdjEsICJmc2wscW9yaXEtY29yZS1wbGwt
MS4wIiwNCj5jb3JlX3BsbF9pbml0KTsNCj4+ICtDTEtfT0ZfREVDTEFSRShwcGNfY29yZV9wbGxf
djIsICJmc2wscW9yaXEtY29yZS1wbGwtMi4wIiwNCj5jb3JlX3BsbF9pbml0KTsNCj4+ICtDTEtf
T0ZfREVDTEFSRShwcGNfY29yZV9tdXhfdjEsICJmc2wscW9yaXEtY29yZS1tdXgtMS4wIiwNCj5j
b3JlX211eF9pbml0KTsNCj4+ICtDTEtfT0ZfREVDTEFSRShwcGNfY29yZV9tdXhfdjIsICJmc2ws
cW9yaXEtY29yZS1tdXgtMi4wIiwNCj5jb3JlX211eF9pbml0KTsNCj4NCj5XaGF0IGRvZXMgdGhp
cyBkbyB0aGF0IHRoZSBleGlzdGluZyBwbGF0Zm9ybSBkcml2ZXIgYW5kIG1hdGNoIHRhYmxlDQo+
ZG9uJ3Q/ICBXaHkgaXMgaXQgbmVlZGVkIGZvciBBUk0gd2hlbiBQUEMgZGlkbid0IG5lZWQgaXQ/
DQo+DQo+LVNjb3R0DQo+DQpDb21tb24gY2xrIGluaXQgb24gQVJNIHBsYXRmb3JtIGlzIGluaXRp
YWxpemVkIGVhcmxpZXIgdmlhIG9mX2Nsa19pbml0KCkgaW5zdGVhZCBvZg0KZHJpdmVyIHByb2Jl
IG1ldGhvZCwgdGhlIG9mX2Nsa19pbml0IHdpbGwgd2FsayBhIF9fY2xrX29mX3RhYmxlIHRvIGlu
aXQgZWFjaCBjbGsgcHJvdmlkZXINCmluIHRoZSB0YWJsZSwgdGhlIENMS19PRl9ERUNMQVJFKCkg
bWFjcm8gcHV0cyBhIHN1cHBvcnRlZCBjbGsgaW4gdGhlIF9fY2xrX29mX3RhYmxlIGZvcg0KaXQg
aW5pdGlhbGl6aW5nIG9uIHN0YXJ1cCwgYW5kIHRoZSBjbGsgc3lzdGVtIGhhcyBhZGRlZCBzb21l
IGNvbW1vbiBjbGsgc3VjaCBhcyAiZml4ZWQtY2xrIg0KdG8gdGhpcyB0YWJsZSBhbHJlYWR5Lg0K
U28gaGVyZSBJIGFkZCBvdXIgc3BlY2lmaWMgY2xrIGluaXQgZGVjbGFyYXRpb24gdG8gY29uc2lz
dCB0aGlzIGZyYW1ld29yaywgYW5kIHRoZSBkcml2ZXINCnByb2JlIGZ1bmN0aW9uIHdpbGwgbm90
IGJlIG5lZWRlZCBvbiBBUk0uDQoNCg0KDQpCZXN0IFJlZ2FyZHMsDQpKaW5nY2hhbmcNCg0KDQoN
Cg==

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [RESEND] clk: ppc-corenet: Add Freescale ARM-based platforms CLK_OF_DECLARE support
  2014-08-27  2:19   ` Jingchang Lu
@ 2014-08-27 23:33     ` Scott Wood
  2014-08-28 10:05       ` Jingchang Lu
  0 siblings, 1 reply; 8+ messages in thread
From: Scott Wood @ 2014-08-27 23:33 UTC (permalink / raw)
  To: Lu Jingchang-B35083
  Cc: linuxppc-dev@lists.ozlabs.org, mturquette@linaro.org,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org

On Tue, 2014-08-26 at 21:19 -0500, Lu Jingchang-B35083 wrote:
> >-----Original Message-----
> >From: Wood Scott-B07421
> >Sent: Wednesday, August 27, 2014 6:51 AM
> >To: Lu Jingchang-B35083
> >Cc: mturquette@linaro.org; linuxppc-dev@lists.ozlabs.org; linux-
> >kernel@vger.kernel.org; linux-arm-kernel@lists.infradead.org
> >Subject: Re: [RESEND] clk: ppc-corenet: Add Freescale ARM-based platforms
> >CLK_OF_DECLARE support
> >
> >On Fri, 2014-08-22 at 17:34 +0800, Jingchang Lu wrote:
> >> +CLK_OF_DECLARE(ppc_core_pll_v1, "fsl,qoriq-core-pll-1.0",
> >core_pll_init);
> >> +CLK_OF_DECLARE(ppc_core_pll_v2, "fsl,qoriq-core-pll-2.0",
> >core_pll_init);
> >> +CLK_OF_DECLARE(ppc_core_mux_v1, "fsl,qoriq-core-mux-1.0",
> >core_mux_init);
> >> +CLK_OF_DECLARE(ppc_core_mux_v2, "fsl,qoriq-core-mux-2.0",
> >core_mux_init);
> >
> >What does this do that the existing platform driver and match table
> >don't?  Why is it needed for ARM when PPC didn't need it?
> >
> >-Scott
> >
> Common clk init on ARM platform is initialized earlier via of_clk_init() instead of
> driver probe method, the of_clk_init will walk a __clk_of_table to init each clk provider
> in the table, the CLK_OF_DECLARE() macro puts a supported clk in the __clk_of_table for
> it initializing on starup, and the clk system has added some common clk such as "fixed-clk"
> to this table already.
> So here I add our specific clk init declaration to consist this framework, and the driver
> probe function will not be needed on ARM.

OK... Is there any reason why the new method won't work on PPC?

-Scott

^ permalink raw reply	[flat|nested] 8+ messages in thread

* RE: [RESEND] clk: ppc-corenet: Add Freescale ARM-based platforms CLK_OF_DECLARE support
  2014-08-27 23:33     ` Scott Wood
@ 2014-08-28 10:05       ` Jingchang Lu
  2014-08-28 16:25         ` Scott Wood
  0 siblings, 1 reply; 8+ messages in thread
From: Jingchang Lu @ 2014-08-28 10:05 UTC (permalink / raw)
  To: Scott Wood
  Cc: linuxppc-dev@lists.ozlabs.org, mturquette@linaro.org,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org

Pi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+RnJvbTogV29vZCBTY290dC1CMDc0MjENCj5T
ZW50OiBUaHVyc2RheSwgQXVndXN0IDI4LCAyMDE0IDc6MzQgQU0NCj5UbzogTHUgSmluZ2NoYW5n
LUIzNTA4Mw0KPkNjOiBtdHVycXVldHRlQGxpbmFyby5vcmc7IGxpbnV4cHBjLWRldkBsaXN0cy5v
emxhYnMub3JnOyBsaW51eC0NCj5rZXJuZWxAdmdlci5rZXJuZWwub3JnOyBsaW51eC1hcm0ta2Vy
bmVsQGxpc3RzLmluZnJhZGVhZC5vcmcNCj5TdWJqZWN0OiBSZTogW1JFU0VORF0gY2xrOiBwcGMt
Y29yZW5ldDogQWRkIEZyZWVzY2FsZSBBUk0tYmFzZWQgcGxhdGZvcm1zDQo+Q0xLX09GX0RFQ0xB
UkUgc3VwcG9ydA0KPg0KPk9uIFR1ZSwgMjAxNC0wOC0yNiBhdCAyMToxOSAtMDUwMCwgTHUgSmlu
Z2NoYW5nLUIzNTA4MyB3cm90ZToNCj4+ID4tLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPj4g
PkZyb206IFdvb2QgU2NvdHQtQjA3NDIxDQo+PiA+U2VudDogV2VkbmVzZGF5LCBBdWd1c3QgMjcs
IDIwMTQgNjo1MSBBTQ0KPj4gPlRvOiBMdSBKaW5nY2hhbmctQjM1MDgzDQo+PiA+Q2M6IG10dXJx
dWV0dGVAbGluYXJvLm9yZzsgbGludXhwcGMtZGV2QGxpc3RzLm96bGFicy5vcmc7IGxpbnV4LQ0K
Pj4gPmtlcm5lbEB2Z2VyLmtlcm5lbC5vcmc7IGxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFk
ZWFkLm9yZw0KPj4gPlN1YmplY3Q6IFJlOiBbUkVTRU5EXSBjbGs6IHBwYy1jb3JlbmV0OiBBZGQg
RnJlZXNjYWxlIEFSTS1iYXNlZA0KPj4gPnBsYXRmb3JtcyBDTEtfT0ZfREVDTEFSRSBzdXBwb3J0
DQo+PiA+DQo+PiA+T24gRnJpLCAyMDE0LTA4LTIyIGF0IDE3OjM0ICswODAwLCBKaW5nY2hhbmcg
THUgd3JvdGU6DQo+PiA+PiArQ0xLX09GX0RFQ0xBUkUocHBjX2NvcmVfcGxsX3YxLCAiZnNsLHFv
cmlxLWNvcmUtcGxsLTEuMCIsDQo+PiA+Y29yZV9wbGxfaW5pdCk7DQo+PiA+PiArQ0xLX09GX0RF
Q0xBUkUocHBjX2NvcmVfcGxsX3YyLCAiZnNsLHFvcmlxLWNvcmUtcGxsLTIuMCIsDQo+PiA+Y29y
ZV9wbGxfaW5pdCk7DQo+PiA+PiArQ0xLX09GX0RFQ0xBUkUocHBjX2NvcmVfbXV4X3YxLCAiZnNs
LHFvcmlxLWNvcmUtbXV4LTEuMCIsDQo+PiA+Y29yZV9tdXhfaW5pdCk7DQo+PiA+PiArQ0xLX09G
X0RFQ0xBUkUocHBjX2NvcmVfbXV4X3YyLCAiZnNsLHFvcmlxLWNvcmUtbXV4LTIuMCIsDQo+PiA+
Y29yZV9tdXhfaW5pdCk7DQo+PiA+DQo+PiA+V2hhdCBkb2VzIHRoaXMgZG8gdGhhdCB0aGUgZXhp
c3RpbmcgcGxhdGZvcm0gZHJpdmVyIGFuZCBtYXRjaCB0YWJsZQ0KPj4gPmRvbid0PyAgV2h5IGlz
IGl0IG5lZWRlZCBmb3IgQVJNIHdoZW4gUFBDIGRpZG4ndCBuZWVkIGl0Pw0KPj4gPg0KPj4gPi1T
Y290dA0KPj4gPg0KPj4gQ29tbW9uIGNsayBpbml0IG9uIEFSTSBwbGF0Zm9ybSBpcyBpbml0aWFs
aXplZCBlYXJsaWVyIHZpYQ0KPj4gb2ZfY2xrX2luaXQoKSBpbnN0ZWFkIG9mIGRyaXZlciBwcm9i
ZSBtZXRob2QsIHRoZSBvZl9jbGtfaW5pdCB3aWxsDQo+PiB3YWxrIGEgX19jbGtfb2ZfdGFibGUg
dG8gaW5pdCBlYWNoIGNsayBwcm92aWRlciBpbiB0aGUgdGFibGUsIHRoZQ0KPj4gQ0xLX09GX0RF
Q0xBUkUoKSBtYWNybyBwdXRzIGEgc3VwcG9ydGVkIGNsayBpbiB0aGUgX19jbGtfb2ZfdGFibGUg
Zm9yIGl0DQo+aW5pdGlhbGl6aW5nIG9uIHN0YXJ1cCwgYW5kIHRoZSBjbGsgc3lzdGVtIGhhcyBh
ZGRlZCBzb21lIGNvbW1vbiBjbGsgc3VjaA0KPmFzICJmaXhlZC1jbGsiDQo+PiB0byB0aGlzIHRh
YmxlIGFscmVhZHkuDQo+PiBTbyBoZXJlIEkgYWRkIG91ciBzcGVjaWZpYyBjbGsgaW5pdCBkZWNs
YXJhdGlvbiB0byBjb25zaXN0IHRoaXMNCj4+IGZyYW1ld29yaywgYW5kIHRoZSBkcml2ZXIgcHJv
YmUgZnVuY3Rpb24gd2lsbCBub3QgYmUgbmVlZGVkIG9uIEFSTS4NCj4NCj5PSy4uLiBJcyB0aGVy
ZSBhbnkgcmVhc29uIHdoeSB0aGUgbmV3IG1ldGhvZCB3b24ndCB3b3JrIG9uIFBQQz8NCj4NClBQ
QyBoYXMgbGl0dGxlIGRlcGVuZGVuY2Ugb24gdGhlIGNsb2NrIHRyZWUgYnV0IGZyZXF1ZW5jeSwg
aXQgd2lsbCB3b3JrIHdlbGwNCmlmIGFkb3B0ZWQgSSB0aGluay4NCg0KDQoNCkJlc3QgUmVnYXJk
cywNCkppbmdjaGFuZw0KDQoNCg0K

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [RESEND] clk: ppc-corenet: Add Freescale ARM-based platforms CLK_OF_DECLARE support
  2014-08-28 10:05       ` Jingchang Lu
@ 2014-08-28 16:25         ` Scott Wood
  2014-08-29  7:17           ` Jingchang Lu
  0 siblings, 1 reply; 8+ messages in thread
From: Scott Wood @ 2014-08-28 16:25 UTC (permalink / raw)
  To: Lu Jingchang-B35083
  Cc: linuxppc-dev@lists.ozlabs.org, mturquette@linaro.org,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org

On Thu, 2014-08-28 at 05:05 -0500, Lu Jingchang-B35083 wrote:
> >-----Original Message-----
> >From: Wood Scott-B07421
> >Sent: Thursday, August 28, 2014 7:34 AM
> >To: Lu Jingchang-B35083
> >Cc: mturquette@linaro.org; linuxppc-dev@lists.ozlabs.org; linux-
> >kernel@vger.kernel.org; linux-arm-kernel@lists.infradead.org
> >Subject: Re: [RESEND] clk: ppc-corenet: Add Freescale ARM-based platforms
> >CLK_OF_DECLARE support
> >
> >On Tue, 2014-08-26 at 21:19 -0500, Lu Jingchang-B35083 wrote:
> >> >-----Original Message-----
> >> >From: Wood Scott-B07421
> >> >Sent: Wednesday, August 27, 2014 6:51 AM
> >> >To: Lu Jingchang-B35083
> >> >Cc: mturquette@linaro.org; linuxppc-dev@lists.ozlabs.org; linux-
> >> >kernel@vger.kernel.org; linux-arm-kernel@lists.infradead.org
> >> >Subject: Re: [RESEND] clk: ppc-corenet: Add Freescale ARM-based
> >> >platforms CLK_OF_DECLARE support
> >> >
> >> >On Fri, 2014-08-22 at 17:34 +0800, Jingchang Lu wrote:
> >> >> +CLK_OF_DECLARE(ppc_core_pll_v1, "fsl,qoriq-core-pll-1.0",
> >> >core_pll_init);
> >> >> +CLK_OF_DECLARE(ppc_core_pll_v2, "fsl,qoriq-core-pll-2.0",
> >> >core_pll_init);
> >> >> +CLK_OF_DECLARE(ppc_core_mux_v1, "fsl,qoriq-core-mux-1.0",
> >> >core_mux_init);
> >> >> +CLK_OF_DECLARE(ppc_core_mux_v2, "fsl,qoriq-core-mux-2.0",
> >> >core_mux_init);
> >> >
> >> >What does this do that the existing platform driver and match table
> >> >don't?  Why is it needed for ARM when PPC didn't need it?
> >> >
> >> >-Scott
> >> >
> >> Common clk init on ARM platform is initialized earlier via
> >> of_clk_init() instead of driver probe method, the of_clk_init will
> >> walk a __clk_of_table to init each clk provider in the table, the
> >> CLK_OF_DECLARE() macro puts a supported clk in the __clk_of_table for it
> >initializing on starup, and the clk system has added some common clk such
> >as "fixed-clk"
> >> to this table already.
> >> So here I add our specific clk init declaration to consist this
> >> framework, and the driver probe function will not be needed on ARM.
> >
> >OK... Is there any reason why the new method won't work on PPC?
> >
> PPC has little dependence on the clock tree but frequency, it will work well
> if adopted I think.

I'm just saying it seems redundant to have both.  Even on ARM, won't
this result in the clock getting registered twice (albeit with one of
those times being too late)?

Regardless of what dependence PPC has on the clock tree, what stops this
method of enumeration from working on PPC?  Is there anything required
other than inserting a call to of_clk_init(NULL) in the arch init code?

-Scott

^ permalink raw reply	[flat|nested] 8+ messages in thread

* RE: [RESEND] clk: ppc-corenet: Add Freescale ARM-based platforms CLK_OF_DECLARE support
  2014-08-28 16:25         ` Scott Wood
@ 2014-08-29  7:17           ` Jingchang Lu
  2014-08-30  1:00             ` Scott Wood
  0 siblings, 1 reply; 8+ messages in thread
From: Jingchang Lu @ 2014-08-29  7:17 UTC (permalink / raw)
  To: Scott Wood
  Cc: linuxppc-dev@lists.ozlabs.org, mturquette@linaro.org,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org

Pi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+RnJvbTogV29vZCBTY290dC1CMDc0MjENCj5T
ZW50OiBGcmlkYXksIEF1Z3VzdCAyOSwgMjAxNCAxMjoyNiBBTQ0KPlRvOiBMdSBKaW5nY2hhbmct
QjM1MDgzDQo+Q2M6IG10dXJxdWV0dGVAbGluYXJvLm9yZzsgbGludXhwcGMtZGV2QGxpc3RzLm96
bGFicy5vcmc7IGxpbnV4LQ0KPmtlcm5lbEB2Z2VyLmtlcm5lbC5vcmc7IGxpbnV4LWFybS1rZXJu
ZWxAbGlzdHMuaW5mcmFkZWFkLm9yZw0KPlN1YmplY3Q6IFJlOiBbUkVTRU5EXSBjbGs6IHBwYy1j
b3JlbmV0OiBBZGQgRnJlZXNjYWxlIEFSTS1iYXNlZCBwbGF0Zm9ybXMNCj5DTEtfT0ZfREVDTEFS
RSBzdXBwb3J0DQo+DQo+T24gVGh1LCAyMDE0LTA4LTI4IGF0IDA1OjA1IC0wNTAwLCBMdSBKaW5n
Y2hhbmctQjM1MDgzIHdyb3RlOg0KPj4gPi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+PiA+
RnJvbTogV29vZCBTY290dC1CMDc0MjENCj4+ID5TZW50OiBUaHVyc2RheSwgQXVndXN0IDI4LCAy
MDE0IDc6MzQgQU0NCj4+ID5UbzogTHUgSmluZ2NoYW5nLUIzNTA4Mw0KPj4gPkNjOiBtdHVycXVl
dHRlQGxpbmFyby5vcmc7IGxpbnV4cHBjLWRldkBsaXN0cy5vemxhYnMub3JnOyBsaW51eC0NCj4+
ID5rZXJuZWxAdmdlci5rZXJuZWwub3JnOyBsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVh
ZC5vcmcNCj4+ID5TdWJqZWN0OiBSZTogW1JFU0VORF0gY2xrOiBwcGMtY29yZW5ldDogQWRkIEZy
ZWVzY2FsZSBBUk0tYmFzZWQNCj4+ID5wbGF0Zm9ybXMgQ0xLX09GX0RFQ0xBUkUgc3VwcG9ydA0K
Pj4gPg0KPj4gPk9uIFR1ZSwgMjAxNC0wOC0yNiBhdCAyMToxOSAtMDUwMCwgTHUgSmluZ2NoYW5n
LUIzNTA4MyB3cm90ZToNCj4+ID4+ID4tLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPj4gPj4g
PkZyb206IFdvb2QgU2NvdHQtQjA3NDIxDQo+PiA+PiA+U2VudDogV2VkbmVzZGF5LCBBdWd1c3Qg
MjcsIDIwMTQgNjo1MSBBTQ0KPj4gPj4gPlRvOiBMdSBKaW5nY2hhbmctQjM1MDgzDQo+PiA+PiA+
Q2M6IG10dXJxdWV0dGVAbGluYXJvLm9yZzsgbGludXhwcGMtZGV2QGxpc3RzLm96bGFicy5vcmc7
IGxpbnV4LQ0KPj4gPj4gPmtlcm5lbEB2Z2VyLmtlcm5lbC5vcmc7IGxpbnV4LWFybS1rZXJuZWxA
bGlzdHMuaW5mcmFkZWFkLm9yZw0KPj4gPj4gPlN1YmplY3Q6IFJlOiBbUkVTRU5EXSBjbGs6IHBw
Yy1jb3JlbmV0OiBBZGQgRnJlZXNjYWxlIEFSTS1iYXNlZA0KPj4gPj4gPnBsYXRmb3JtcyBDTEtf
T0ZfREVDTEFSRSBzdXBwb3J0DQo+PiA+PiA+DQo+PiA+PiA+T24gRnJpLCAyMDE0LTA4LTIyIGF0
IDE3OjM0ICswODAwLCBKaW5nY2hhbmcgTHUgd3JvdGU6DQo+PiA+PiA+PiArQ0xLX09GX0RFQ0xB
UkUocHBjX2NvcmVfcGxsX3YxLCAiZnNsLHFvcmlxLWNvcmUtcGxsLTEuMCIsDQo+PiA+PiA+Y29y
ZV9wbGxfaW5pdCk7DQo+PiA+PiA+PiArQ0xLX09GX0RFQ0xBUkUocHBjX2NvcmVfcGxsX3YyLCAi
ZnNsLHFvcmlxLWNvcmUtcGxsLTIuMCIsDQo+PiA+PiA+Y29yZV9wbGxfaW5pdCk7DQo+PiA+PiA+
PiArQ0xLX09GX0RFQ0xBUkUocHBjX2NvcmVfbXV4X3YxLCAiZnNsLHFvcmlxLWNvcmUtbXV4LTEu
MCIsDQo+PiA+PiA+Y29yZV9tdXhfaW5pdCk7DQo+PiA+PiA+PiArQ0xLX09GX0RFQ0xBUkUocHBj
X2NvcmVfbXV4X3YyLCAiZnNsLHFvcmlxLWNvcmUtbXV4LTIuMCIsDQo+PiA+PiA+Y29yZV9tdXhf
aW5pdCk7DQo+PiA+PiA+DQo+PiA+PiA+V2hhdCBkb2VzIHRoaXMgZG8gdGhhdCB0aGUgZXhpc3Rp
bmcgcGxhdGZvcm0gZHJpdmVyIGFuZCBtYXRjaA0KPj4gPj4gPnRhYmxlIGRvbid0PyAgV2h5IGlz
IGl0IG5lZWRlZCBmb3IgQVJNIHdoZW4gUFBDIGRpZG4ndCBuZWVkIGl0Pw0KPj4gPj4gPg0KPj4g
Pj4gPi1TY290dA0KPj4gPj4gPg0KPj4gPj4gQ29tbW9uIGNsayBpbml0IG9uIEFSTSBwbGF0Zm9y
bSBpcyBpbml0aWFsaXplZCBlYXJsaWVyIHZpYQ0KPj4gPj4gb2ZfY2xrX2luaXQoKSBpbnN0ZWFk
IG9mIGRyaXZlciBwcm9iZSBtZXRob2QsIHRoZSBvZl9jbGtfaW5pdCB3aWxsDQo+PiA+PiB3YWxr
IGEgX19jbGtfb2ZfdGFibGUgdG8gaW5pdCBlYWNoIGNsayBwcm92aWRlciBpbiB0aGUgdGFibGUs
IHRoZQ0KPj4gPj4gQ0xLX09GX0RFQ0xBUkUoKSBtYWNybyBwdXRzIGEgc3VwcG9ydGVkIGNsayBp
biB0aGUgX19jbGtfb2ZfdGFibGUNCj4+ID4+IGZvciBpdA0KPj4gPmluaXRpYWxpemluZyBvbiBz
dGFydXAsIGFuZCB0aGUgY2xrIHN5c3RlbSBoYXMgYWRkZWQgc29tZSBjb21tb24gY2xrDQo+PiA+
c3VjaCBhcyAiZml4ZWQtY2xrIg0KPj4gPj4gdG8gdGhpcyB0YWJsZSBhbHJlYWR5Lg0KPj4gPj4g
U28gaGVyZSBJIGFkZCBvdXIgc3BlY2lmaWMgY2xrIGluaXQgZGVjbGFyYXRpb24gdG8gY29uc2lz
dCB0aGlzDQo+PiA+PiBmcmFtZXdvcmssIGFuZCB0aGUgZHJpdmVyIHByb2JlIGZ1bmN0aW9uIHdp
bGwgbm90IGJlIG5lZWRlZCBvbiBBUk0uDQo+PiA+DQo+PiA+T0suLi4gSXMgdGhlcmUgYW55IHJl
YXNvbiB3aHkgdGhlIG5ldyBtZXRob2Qgd29uJ3Qgd29yayBvbiBQUEM/DQo+PiA+DQo+PiBQUEMg
aGFzIGxpdHRsZSBkZXBlbmRlbmNlIG9uIHRoZSBjbG9jayB0cmVlIGJ1dCBmcmVxdWVuY3ksIGl0
IHdpbGwNCj4+IHdvcmsgd2VsbCBpZiBhZG9wdGVkIEkgdGhpbmsuDQo+DQo+SSdtIGp1c3Qgc2F5
aW5nIGl0IHNlZW1zIHJlZHVuZGFudCB0byBoYXZlIGJvdGguICBFdmVuIG9uIEFSTSwgd29uJ3Qg
dGhpcw0KPnJlc3VsdCBpbiB0aGUgY2xvY2sgZ2V0dGluZyByZWdpc3RlcmVkIHR3aWNlIChhbGJl
aXQgd2l0aCBvbmUgb2YgdGhvc2UNCj50aW1lcyBiZWluZyB0b28gbGF0ZSk/DQo+DQo+UmVnYXJk
bGVzcyBvZiB3aGF0IGRlcGVuZGVuY2UgUFBDIGhhcyBvbiB0aGUgY2xvY2sgdHJlZSwgd2hhdCBz
dG9wcyB0aGlzDQo+bWV0aG9kIG9mIGVudW1lcmF0aW9uIGZyb20gd29ya2luZyBvbiBQUEM/ICBJ
cyB0aGVyZSBhbnl0aGluZyByZXF1aXJlZA0KPm90aGVyIHRoYW4gaW5zZXJ0aW5nIGEgY2FsbCB0
byBvZl9jbGtfaW5pdChOVUxMKSBpbiB0aGUgYXJjaCBpbml0IGNvZGU/DQo+DQo+LVNjb3R0DQo+
DQpUaGUgb2ZfY2xrX2luaXQgaXMgYW4gYWx0ZXJuYXRpdmUgd2F5IHRvIHRoZSBsZWdhY3kgZHJp
dmVyLiANCkxhdGVzdCBBUk0gc3RhbmRhcmQgc3VwcG9ydCBhIGRlZmF1bHQgY2FsbCB0byBvZl9j
bGtfaW5pdChOVUxMKSBpbiBpdHMgdGltZV9pbml0KCkuDQpTbyB0aGlzIGlzIHRoZSBnZW5lcmFs
IHdheSBmb3IgQVJNLWJhc2VkIHBsYXRmb3JtLg0KVGhlIGNsayByZWdpc3RlciBsYXllciBjYW4g
ZGV0ZWN0IHRoZSB0d2ljZSByZWdpc3RyYXRpb24gb2YgYSBzYW1lIGNsayBhbmQNCmF2b2lkIHRo
ZSBkdXBsaWNhdGUgcmVnaXN0cmF0aW9uLiBUaGUgZHRiIHNob3VsZCBzZWxlY3QgdGhlIGNvbXBh
dGlibGUgZm9yIGVpdGhlciwNCmJ1dCBub3QgYm90aC4gT24gTFMxMDIxQSB0aGUgZHJpdmVyIHBy
b2JlIG1ldGhvZCB3aWxsIG5vdCBiZSB0cmlnZ2VyZWQuDQpBbmQgZm9yIHN1cHBvcnQgb2Ygb2Zf
Y2xrX2luaXQgb24gUFBDLCBJIHRoaW5rIGp1c3QgYWRkIGEgY2FsbCB0byBpdCBhcyBBUk0gZG8N
CmluIHRpbWVfaW5pdCgpW2FyY2gvYXJtL2tlcm5lbC90aW1lLmNdIHdvdWxkIGJlIG9rLg0KDQoN
Cg0KQmVzdCBSZWdhcmRzLA0KSmluZ2NoYW5nDQoNCg0KDQoNCg0K

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [RESEND] clk: ppc-corenet: Add Freescale ARM-based platforms CLK_OF_DECLARE support
  2014-08-29  7:17           ` Jingchang Lu
@ 2014-08-30  1:00             ` Scott Wood
  0 siblings, 0 replies; 8+ messages in thread
From: Scott Wood @ 2014-08-30  1:00 UTC (permalink / raw)
  To: Lu Jingchang-B35083
  Cc: linuxppc-dev@lists.ozlabs.org, mturquette@linaro.org,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org

On Fri, 2014-08-29 at 02:17 -0500, Lu Jingchang-B35083 wrote:
> >-----Original Message-----
> >From: Wood Scott-B07421
> >Sent: Friday, August 29, 2014 12:26 AM
> >To: Lu Jingchang-B35083
> >Cc: mturquette@linaro.org; linuxppc-dev@lists.ozlabs.org; linux-
> >kernel@vger.kernel.org; linux-arm-kernel@lists.infradead.org
> >Subject: Re: [RESEND] clk: ppc-corenet: Add Freescale ARM-based platforms
> >CLK_OF_DECLARE support
> >
> >On Thu, 2014-08-28 at 05:05 -0500, Lu Jingchang-B35083 wrote:
> >> >-----Original Message-----
> >> >From: Wood Scott-B07421
> >> >Sent: Thursday, August 28, 2014 7:34 AM
> >> >To: Lu Jingchang-B35083
> >> >Cc: mturquette@linaro.org; linuxppc-dev@lists.ozlabs.org; linux-
> >> >kernel@vger.kernel.org; linux-arm-kernel@lists.infradead.org
> >> >Subject: Re: [RESEND] clk: ppc-corenet: Add Freescale ARM-based
> >> >platforms CLK_OF_DECLARE support
> >> >
> >> >On Tue, 2014-08-26 at 21:19 -0500, Lu Jingchang-B35083 wrote:
> >> >> >-----Original Message-----
> >> >> >From: Wood Scott-B07421
> >> >> >Sent: Wednesday, August 27, 2014 6:51 AM
> >> >> >To: Lu Jingchang-B35083
> >> >> >Cc: mturquette@linaro.org; linuxppc-dev@lists.ozlabs.org; linux-
> >> >> >kernel@vger.kernel.org; linux-arm-kernel@lists.infradead.org
> >> >> >Subject: Re: [RESEND] clk: ppc-corenet: Add Freescale ARM-based
> >> >> >platforms CLK_OF_DECLARE support
> >> >> >
> >> >> >On Fri, 2014-08-22 at 17:34 +0800, Jingchang Lu wrote:
> >> >> >> +CLK_OF_DECLARE(ppc_core_pll_v1, "fsl,qoriq-core-pll-1.0",
> >> >> >core_pll_init);
> >> >> >> +CLK_OF_DECLARE(ppc_core_pll_v2, "fsl,qoriq-core-pll-2.0",
> >> >> >core_pll_init);
> >> >> >> +CLK_OF_DECLARE(ppc_core_mux_v1, "fsl,qoriq-core-mux-1.0",
> >> >> >core_mux_init);
> >> >> >> +CLK_OF_DECLARE(ppc_core_mux_v2, "fsl,qoriq-core-mux-2.0",
> >> >> >core_mux_init);
> >> >> >
> >> >> >What does this do that the existing platform driver and match
> >> >> >table don't?  Why is it needed for ARM when PPC didn't need it?
> >> >> >
> >> >> >-Scott
> >> >> >
> >> >> Common clk init on ARM platform is initialized earlier via
> >> >> of_clk_init() instead of driver probe method, the of_clk_init will
> >> >> walk a __clk_of_table to init each clk provider in the table, the
> >> >> CLK_OF_DECLARE() macro puts a supported clk in the __clk_of_table
> >> >> for it
> >> >initializing on starup, and the clk system has added some common clk
> >> >such as "fixed-clk"
> >> >> to this table already.
> >> >> So here I add our specific clk init declaration to consist this
> >> >> framework, and the driver probe function will not be needed on ARM.
> >> >
> >> >OK... Is there any reason why the new method won't work on PPC?
> >> >
> >> PPC has little dependence on the clock tree but frequency, it will
> >> work well if adopted I think.
> >
> >I'm just saying it seems redundant to have both.  Even on ARM, won't this
> >result in the clock getting registered twice (albeit with one of those
> >times being too late)?
> >
> >Regardless of what dependence PPC has on the clock tree, what stops this
> >method of enumeration from working on PPC?  Is there anything required
> >other than inserting a call to of_clk_init(NULL) in the arch init code?
> >
> >-Scott
> >
> The of_clk_init is an alternative way to the legacy driver. 
> Latest ARM standard support a default call to of_clk_init(NULL) in its time_init().
> So this is the general way for ARM-based platform.

Why are such things dependent on CPU architecture?

> The clk register layer can detect the twice registration of a same clk and
> avoid the duplicate registration. The dtb should select the compatible for either,
> but not both.

Either but not both of what?

> On LS1021A the driver probe method will not be triggered.
> And for support of of_clk_init on PPC, I think just add a call to it as ARM do
> in time_init()[arch/arm/kernel/time.c] would be ok.

I'd rather see this happen than have the driver have to register itself
differently on different architectures.

-Scott

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2014-08-30  1:00 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-08-22  9:34 [RESEND] clk: ppc-corenet: Add Freescale ARM-based platforms CLK_OF_DECLARE support Jingchang Lu
2014-08-26 22:51 ` Scott Wood
2014-08-27  2:19   ` Jingchang Lu
2014-08-27 23:33     ` Scott Wood
2014-08-28 10:05       ` Jingchang Lu
2014-08-28 16:25         ` Scott Wood
2014-08-29  7:17           ` Jingchang Lu
2014-08-30  1:00             ` Scott Wood

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