Re: [v3] powerpc/mpc85xx: Update the clock device tree nodes

2013-09-10 Thread Scott Wood
On Mon, 2013-08-26 at 21:49 -0500, Tang Yuantian-B29983 wrote:
 + };
 + pll1: pll1@820 {
 + #clock-cells = 1;
 + reg = 0x820;
 + compatible = fsl,core-pll-clock;
 + clocks = clockgen;
 + clock-output-names = pll1, pll1-div2, pll1-
  div4;
 + };
   
Please leave a blank line between properties and nodes, and between
  nodes.
   
   OK, will add.
  
What does reg represent?  Where is the binding for this?
   
The compatible is too vague.
   Reg is register offset.
  
  With no size?
 
 No size is needed.

Yes, it is.  Register blocks have size -- even if it's just a single
register.

   It is too later to change since the clock driver is merged for months
   although I sent this patch first.
  
  It should not have gone in without an approved binding.  It seems it went
  in via Mike Turquette (why is a non-ARM-specific tree using linux-arm-
  kernel as its list, BTW?).  No ack from Ben, Kumar, or me is shown in the
  commit.
 The Linux common clock framework is not ARM specific. Any other arch can use 
 it.

Sure, it just seemed an odd choice of mailing list for something that
isn't ARM-specific.

  In any case, you can preserve compatibility with existing trees without
  using this compatible in new trees.  The driver can check for both
  compatibles, with a comment indicating that fsl,core-mux-clock is
  deprecated and for compatibility only.
 It is sub-clock node, is it really necessary to think about compatibility?
 I think that's the node clockgen's responsibility.

It describes registers, so yes, you need to consider compatibility.  A
clock provider is not responsible for figuring out how to program
devices that consume its clocks, nor should it make any assumptions
about such devices.
 
   Besides, it is not too bad because other arch use the similar name.
  
  I don't follow.  This is a specific Freescale register interface, not a
  general concept.
  
  In any case, which similar names are you referring to?  A search in
  arch/arm/boot/dts for mux with clk or clock turns up
  allwinner,sun4i-apb1-mux-clk which is much more specific than
  fsl,core-mux-clock.
 Ok, I will change the compatible string.
 Do you think fsl,ppc-core-* is ok?

No.  How about fsl,qoriq-chassis1-* (for e500mc/e5500) and
fsl,qoriq-chassis2-* (for e6500)?

-Scott



___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


RE: [v3] powerpc/mpc85xx: Update the clock device tree nodes

2013-09-10 Thread Tang Yuantian-B29983
OK, will update per your suggestions.

Thanks,
Yuantian


 -Original Message-
 From: Wood Scott-B07421
 Sent: 2013年9月11日 星期三 5:47
 To: Tang Yuantian-B29983
 Cc: Wood Scott-B07421; ga...@kernel.crashing.org;
 devicet...@vger.kernel.org; linuxppc-dev@lists.ozlabs.org; Mike Turquette
 Subject: Re: [v3] powerpc/mpc85xx: Update the clock device tree nodes
 
 On Mon, 2013-08-26 at 21:49 -0500, Tang Yuantian-B29983 wrote:
  +   };
  +   pll1: pll1@820 {
  +   #clock-cells = 1;
  +   reg = 0x820;
  +   compatible = fsl,core-pll-clock;
  +   clocks = clockgen;
  +   clock-output-names = pll1, pll1-div2, pll1-
   div4;
  +   };

 Please leave a blank line between properties and nodes, and
 between
   nodes.

OK, will add.
   
 What does reg represent?  Where is the binding for this?

 The compatible is too vague.
Reg is register offset.
  
   With no size?
 
  No size is needed.
 
 Yes, it is.  Register blocks have size -- even if it's just a single
 register.
 
It is too later to change since the clock driver is merged for
months although I sent this patch first.
  
   It should not have gone in without an approved binding.  It seems it
   went in via Mike Turquette (why is a non-ARM-specific tree using
   linux-arm- kernel as its list, BTW?).  No ack from Ben, Kumar, or me
   is shown in the commit.
  The Linux common clock framework is not ARM specific. Any other arch
 can use it.
 
 Sure, it just seemed an odd choice of mailing list for something that
 isn't ARM-specific.
 
   In any case, you can preserve compatibility with existing trees
   without using this compatible in new trees.  The driver can check
   for both compatibles, with a comment indicating that
   fsl,core-mux-clock is deprecated and for compatibility only.
  It is sub-clock node, is it really necessary to think about
 compatibility?
  I think that's the node clockgen's responsibility.
 
 It describes registers, so yes, you need to consider compatibility.  A
 clock provider is not responsible for figuring out how to program devices
 that consume its clocks, nor should it make any assumptions about such
 devices.
 
Besides, it is not too bad because other arch use the similar name.
  
   I don't follow.  This is a specific Freescale register interface,
   not a general concept.
  
   In any case, which similar names are you referring to?  A search
   in arch/arm/boot/dts for mux with clk or clock turns up
   allwinner,sun4i-apb1-mux-clk which is much more specific than
   fsl,core-mux-clock.
  Ok, I will change the compatible string.
  Do you think fsl,ppc-core-* is ok?
 
 No.  How about fsl,qoriq-chassis1-* (for e500mc/e5500) and fsl,qoriq-
 chassis2-* (for e6500)?
 
 -Scott
 

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Re: [v3] powerpc/mpc85xx: Update the clock device tree nodes

2013-08-26 Thread Scott Wood
On Sun, 2013-08-25 at 21:42 -0500, Tang Yuantian-B29983 wrote:
  
 clockgen: global-utilities@e1000 {
   - compatible = fsl,b4420-clockgen, fsl,qoriq-clockgen-2.0;
   + compatible = fsl,b4420-clockgen, fsl,qoriq-clockgen-2.0,
   +fixed-clock;
   + clock-output-names = sysclk;
   + #clock-cells = 0;
  
  Does U-Boot fill in clock-frequency here?
  
 Yes, clock-frequency will be filled by uboot.
 You suggested we'd better not add it here.

Right -- I was just making sure.

   + #address-cells = 1;
   + #size-cells = 0;
   + pll0: pll0@800 {
   + #clock-cells = 1;
   + reg = 0x800;
   + compatible = fsl,core-pll-clock;
   + clocks = clockgen;
   + clock-output-names = pll0, pll0-div2, pll0-div4;
   + };
   + pll1: pll1@820 {
   + #clock-cells = 1;
   + reg = 0x820;
   + compatible = fsl,core-pll-clock;
   + clocks = clockgen;
   + clock-output-names = pll1, pll1-div2, pll1-div4;
   + };
  
  Please leave a blank line between properties and nodes, and between nodes.
  
 OK, will add.
 
  What does reg represent?  Where is the binding for this?
  
  The compatible is too vague.
 Reg is register offset.

With no size?

 I should have had a binding document.
 About the compatible, you should pointed it out earlier in SDK review.

Sorry, it doesn't work that way.  I don't know why I didn't notice this
stuff there -- the SDK review was probably rushed, with someone shouting
urgent.  The SDK does not dictate what goes upstream.  Device tree
bindings should go upstream first.

 It is too later to change since the clock driver is merged for months 
 although 
 I sent this patch first.

It should not have gone in without an approved binding.  It seems it
went in via Mike Turquette (why is a non-ARM-specific tree using
linux-arm-kernel as its list, BTW?).  No ack from Ben, Kumar, or me is
shown in the commit.

In any case, you can preserve compatibility with existing trees without
using this compatible in new trees.  The driver can check for both
compatibles, with a comment indicating that fsl,core-mux-clock is
deprecated and for compatibility only.

 Besides, it is not too bad because other arch use the similar name.

I don't follow.  This is a specific Freescale register interface, not a
general concept.

In any case, which similar names are you referring to?  A search in
arch/arm/boot/dts for mux with clk or clock turns up
allwinner,sun4i-apb1-mux-clk which is much more specific than
fsl,core-mux-clock.

-Scott



___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


RE: [v3] powerpc/mpc85xx: Update the clock device tree nodes

2013-08-26 Thread Tang Yuantian-B29983
+   };
+   pll1: pll1@820 {
+   #clock-cells = 1;
+   reg = 0x820;
+   compatible = fsl,core-pll-clock;
+   clocks = clockgen;
+   clock-output-names = pll1, pll1-div2, pll1-
 div4;
+   };
  
   Please leave a blank line between properties and nodes, and between
 nodes.
  
  OK, will add.
 
   What does reg represent?  Where is the binding for this?
  
   The compatible is too vague.
  Reg is register offset.
 
 With no size?

No size is needed.

 
  I should have had a binding document.
  About the compatible, you should pointed it out earlier in SDK review.
 
 Sorry, it doesn't work that way.  I don't know why I didn't notice this
 stuff there -- the SDK review was probably rushed, with someone shouting
 urgent.  The SDK does not dictate what goes upstream.  Device tree
 bindings should go upstream first.
 
When I sent the patch v1, there is a binding document with it. But I missed
It in the patch v3, so when patch v3 got merged, the binding document didn't 
get merged.
I will make the binding go upstream first next time.

  It is too later to change since the clock driver is merged for months
  although I sent this patch first.
 
 It should not have gone in without an approved binding.  It seems it went
 in via Mike Turquette (why is a non-ARM-specific tree using linux-arm-
 kernel as its list, BTW?).  No ack from Ben, Kumar, or me is shown in the
 commit.
The Linux common clock framework is not ARM specific. Any other arch can use it.
In fact, this clock driver is the first one that use common clk on PPC arch.
I will get the ack from you guys next time. I hope it doesn't make me wait too 
long.
 
 
 In any case, you can preserve compatibility with existing trees without
 using this compatible in new trees.  The driver can check for both
 compatibles, with a comment indicating that fsl,core-mux-clock is
 deprecated and for compatibility only.
It is sub-clock node, is it really necessary to think about compatibility?
I think that's the node clockgen's responsibility.

 
  Besides, it is not too bad because other arch use the similar name.
 
 I don't follow.  This is a specific Freescale register interface, not a
 general concept.
 
 In any case, which similar names are you referring to?  A search in
 arch/arm/boot/dts for mux with clk or clock turns up
 allwinner,sun4i-apb1-mux-clk which is much more specific than
 fsl,core-mux-clock.
Ok, I will change the compatible string.
Do you think fsl,ppc-core-* is ok?

Regards,
Yuantian
 
 -Scott
 

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


RE: [v3] powerpc/mpc85xx: Update the clock device tree nodes

2013-08-25 Thread Tang Yuantian-B29983
 
  clockgen: global-utilities@e1000 {
  -   compatible = fsl,b4420-clockgen, fsl,qoriq-clockgen-2.0;
  +   compatible = fsl,b4420-clockgen, fsl,qoriq-clockgen-2.0,
  +  fixed-clock;
  +   clock-output-names = sysclk;
  +   #clock-cells = 0;
 
 Does U-Boot fill in clock-frequency here?
 
Yes, clock-frequency will be filled by uboot.
You suggested we'd better not add it here.

  +   #address-cells = 1;
  +   #size-cells = 0;
  +   pll0: pll0@800 {
  +   #clock-cells = 1;
  +   reg = 0x800;
  +   compatible = fsl,core-pll-clock;
  +   clocks = clockgen;
  +   clock-output-names = pll0, pll0-div2, pll0-div4;
  +   };
  +   pll1: pll1@820 {
  +   #clock-cells = 1;
  +   reg = 0x820;
  +   compatible = fsl,core-pll-clock;
  +   clocks = clockgen;
  +   clock-output-names = pll1, pll1-div2, pll1-div4;
  +   };
 
 Please leave a blank line between properties and nodes, and between nodes.
 
OK, will add.

 What does reg represent?  Where is the binding for this?
 
 The compatible is too vague.
Reg is register offset. I should have had a binding document.
About the compatible, you should pointed it out earlier in SDK review.
It is too later to change since the clock driver is merged for months although 
I sent this patch first.
Besides, it is not too bad because other arch use the similar name.

Regards,
Yuantian

 
  +   mux0: mux0@0 {
  +   #clock-cells = 0;
  +   reg = 0x0;
  +   compatible = fsl,core-mux-clock;
  +   clocks = pll0 0, pll0 1, pll0 2,
  +pll1 0, pll1 1, pll1 2;
  +   clock-names = pll0_0, pll0_1, pll0_2,
  +   pll1_0, pll1_1, pll1_2;
  +   clock-output-names = cmux0;
  +   };
 
 What does reg represent?  Where is the binding for this?
 
 The compatible is too vague.
 
 -Scott

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


Re: [v3] powerpc/mpc85xx: Update the clock device tree nodes

2013-08-23 Thread Scott Wood
On Thu, Jun 06, 2013 at 09:06:51AM +0800, tang yuantian wrote:
 From: Tang Yuantian yuantian.t...@freescale.com
 
 The following SoCs will be affected: p2041, p3041, p4080,
 p5020, p5040, b4420, b4860, t4240
 
 Signed-off-by: Tang Yuantian yuantian.t...@freescale.com
 Signed-off-by: Li Yang le...@freescale.com
 
 ---
 v3:
   - fix typo
 v2:
   - add t4240, b4420, b4860 support
   - remove pll/4 clock from p2041, p3041 and p5020 board
 
  arch/powerpc/boot/dts/fsl/b4420si-post.dtsi |  32 -
  arch/powerpc/boot/dts/fsl/b4420si-pre.dtsi  |   2 +
  arch/powerpc/boot/dts/fsl/b4860si-post.dtsi |  32 -
  arch/powerpc/boot/dts/fsl/b4860si-pre.dtsi  |   4 ++
  arch/powerpc/boot/dts/fsl/p2041si-post.dtsi |  54 ++-
  arch/powerpc/boot/dts/fsl/p2041si-pre.dtsi  |   4 ++
  arch/powerpc/boot/dts/fsl/p3041si-post.dtsi |  54 ++-
  arch/powerpc/boot/dts/fsl/p3041si-pre.dtsi  |   4 ++
  arch/powerpc/boot/dts/fsl/p4080si-post.dtsi | 100 
 +++-
  arch/powerpc/boot/dts/fsl/p4080si-pre.dtsi  |   8 +++
  arch/powerpc/boot/dts/fsl/p5020si-post.dtsi |  38 ++-
  arch/powerpc/boot/dts/fsl/p5020si-pre.dtsi  |   2 +
  arch/powerpc/boot/dts/fsl/p5040si-post.dtsi |  54 ++-
  arch/powerpc/boot/dts/fsl/p5040si-pre.dtsi  |   4 ++
  arch/powerpc/boot/dts/fsl/t4240si-post.dtsi |  77 -
  arch/powerpc/boot/dts/fsl/t4240si-pre.dtsi  |  12 
  16 files changed, 473 insertions(+), 8 deletions(-)
 
 diff --git a/arch/powerpc/boot/dts/fsl/b4420si-post.dtsi 
 b/arch/powerpc/boot/dts/fsl/b4420si-post.dtsi
 index 5a6615d..b69d6e5 100644
 --- a/arch/powerpc/boot/dts/fsl/b4420si-post.dtsi
 +++ b/arch/powerpc/boot/dts/fsl/b4420si-post.dtsi
 @@ -85,7 +85,37 @@
   };
  
   clockgen: global-utilities@e1000 {
 - compatible = fsl,b4420-clockgen, fsl,qoriq-clockgen-2.0;
 + compatible = fsl,b4420-clockgen, fsl,qoriq-clockgen-2.0,
 +fixed-clock;
 + clock-output-names = sysclk;
 + #clock-cells = 0;

Does U-Boot fill in clock-frequency here?

 + #address-cells = 1;
 + #size-cells = 0;
 + pll0: pll0@800 {
 + #clock-cells = 1;
 + reg = 0x800;
 + compatible = fsl,core-pll-clock;
 + clocks = clockgen;
 + clock-output-names = pll0, pll0-div2, pll0-div4;
 + };
 + pll1: pll1@820 {
 + #clock-cells = 1;
 + reg = 0x820;
 + compatible = fsl,core-pll-clock;
 + clocks = clockgen;
 + clock-output-names = pll1, pll1-div2, pll1-div4;
 + };

Please leave a blank line between properties and nodes, and between
nodes.

What does reg represent?  Where is the binding for this?

The compatible is too vague.

 + mux0: mux0@0 {
 + #clock-cells = 0;
 + reg = 0x0;
 + compatible = fsl,core-mux-clock;
 + clocks = pll0 0, pll0 1, pll0 2,
 +  pll1 0, pll1 1, pll1 2;
 + clock-names = pll0_0, pll0_1, pll0_2,
 + pll1_0, pll1_1, pll1_2;
 + clock-output-names = cmux0;
 + };

What does reg represent?  Where is the binding for this?

The compatible is too vague.

-Scott

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev