Re: [PATCH v11 5/5] powerpc: Fix up fsl-flexcan device tree binding.

2011-08-10 Thread Scott Wood
On 08/10/2011 11:27 AM, Robin Holt wrote:
 -CPI Clock- Can Protocol Interface Clock
 - This CLK_SRC bit of CTRL(control register) selects the clock source to
 - the CAN Protocol Interface(CPI) to be either the peripheral clock
 - (driven by the PLL) or the crystal oscillator clock. The selected clock
 - is the one fed to the prescaler to generate the Serial Clock (Sclock).
 - The PRESDIV field of CTRL(control register) controls a prescaler that
 - generates the Serial Clock (Sclock), whose period defines the
 - time quantum used to compose the CAN waveform.
 +- compatible : Should be fsl,flexcan and optionally
 +   fsl,flexcan-processor

fsl,processor-flexcan, and it should not be optional, and should come
before fsl,flexcan.

Also may want to list fsl,p1010-rdb as a canonical compatible for
anything which is backwards compatible with p1010's implementation.

-Scott

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


Re: [PATCH v11 5/5] powerpc: Fix up fsl-flexcan device tree binding.

2011-08-10 Thread Robin Holt
On Wed, Aug 10, 2011 at 11:56:28AM -0500, Scott Wood wrote:
 On 08/10/2011 11:27 AM, Robin Holt wrote:
  -CPI Clock- Can Protocol Interface Clock
  -   This CLK_SRC bit of CTRL(control register) selects the clock source to
  -   the CAN Protocol Interface(CPI) to be either the peripheral clock
  -   (driven by the PLL) or the crystal oscillator clock. The selected clock
  -   is the one fed to the prescaler to generate the Serial Clock (Sclock).
  -   The PRESDIV field of CTRL(control register) controls a prescaler that
  -   generates the Serial Clock (Sclock), whose period defines the
  -   time quantum used to compose the CAN waveform.
  +- compatible : Should be fsl,flexcan and optionally
  +   fsl,flexcan-processor
 
 fsl,processor-flexcan, and it should not be optional, and should come
 before fsl,flexcan.
 
 Also may want to list fsl,p1010-rdb as a canonical compatible for
 anything which is backwards compatible with p1010's implementation.

How do I specify 'canonical compatible'?  What would be the use of it
in that implementation?

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


Re: [PATCH v11 5/5] powerpc: Fix up fsl-flexcan device tree binding.

2011-08-10 Thread Scott Wood
On 08/10/2011 12:19 PM, Robin Holt wrote:
 On Wed, Aug 10, 2011 at 11:56:28AM -0500, Scott Wood wrote:
 On 08/10/2011 11:27 AM, Robin Holt wrote:
 -CPI Clock- Can Protocol Interface Clock
 -   This CLK_SRC bit of CTRL(control register) selects the clock source to
 -   the CAN Protocol Interface(CPI) to be either the peripheral clock
 -   (driven by the PLL) or the crystal oscillator clock. The selected clock
 -   is the one fed to the prescaler to generate the Serial Clock (Sclock).
 -   The PRESDIV field of CTRL(control register) controls a prescaler that
 -   generates the Serial Clock (Sclock), whose period defines the
 -   time quantum used to compose the CAN waveform.
 +- compatible : Should be fsl,flexcan and optionally
 +   fsl,flexcan-processor

 fsl,processor-flexcan, and it should not be optional, and should come
 before fsl,flexcan.

 Also may want to list fsl,p1010-rdb as a canonical compatible for
 anything which is backwards compatible with p1010's implementation.
 
 How do I specify 'canonical compatible'?

Something like:

  compatible: Should be fsl,processor-flexcan and fsl,flexcan.

  An implementation should also claim any of the following compatibles
  that it is fully backwards compatible with:

  - fsl,p1010-rdb

 What would be the use of it in that implementation?

It limits the number of compatibles a driver has to care about, so you
don't need a huge ID table just to be able to figure out whether this is
a p1010-style flexcan or ARM-style.

-Scott

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


Re: [PATCH v11 5/5] powerpc: Fix up fsl-flexcan device tree binding.

2011-08-10 Thread Robin Holt
On Wed, Aug 10, 2011 at 12:36:22PM -0500, Scott Wood wrote:
 On 08/10/2011 12:19 PM, Robin Holt wrote:
  On Wed, Aug 10, 2011 at 11:56:28AM -0500, Scott Wood wrote:
  On 08/10/2011 11:27 AM, Robin Holt wrote:
  -CPI Clock- Can Protocol Interface Clock
  - This CLK_SRC bit of CTRL(control register) selects the clock source to
  - the CAN Protocol Interface(CPI) to be either the peripheral clock
  - (driven by the PLL) or the crystal oscillator clock. The selected clock
  - is the one fed to the prescaler to generate the Serial Clock (Sclock).
  - The PRESDIV field of CTRL(control register) controls a prescaler that
  - generates the Serial Clock (Sclock), whose period defines the
  - time quantum used to compose the CAN waveform.
  +- compatible : Should be fsl,flexcan and optionally
  +   fsl,flexcan-processor
 
  fsl,processor-flexcan, and it should not be optional, and should come
  before fsl,flexcan.
 
  Also may want to list fsl,p1010-rdb as a canonical compatible for
  anything which is backwards compatible with p1010's implementation.
  
  How do I specify 'canonical compatible'?
 
 Something like:
 
   compatible: Should be fsl,processor-flexcan and fsl,flexcan.
 
   An implementation should also claim any of the following compatibles
   that it is fully backwards compatible with:
 
   - fsl,p1010-rdb

I am so confused.  fsl,p1010-flexcan refers, in my mind at least, to
a particular chiplet on the p1010 freescale processor.  fsl,p1010-rdb
would mean nothing to me as that is a p1010 processor with two flexcan
chiplets wired to a pair of DB-9 jacks.  For the driver, what additional
information is being conveyed?

Let's cut to the chase.  Here is what I have after incorporating your
earlier comment about the compatible line.  Please mark this up to
exactly what you are asking for.

Thanks,
Robin

Flexcan CAN contoller on Freescale's ARM and PowerPC processors

Required properties:

- compatible : Should be fsl,processor-flexcan and fsl,flexcan
- reg : Offset and length of the register set for this device
- interrupts : Interrupt tuple for this device

Example:

  can@1c000 {
  compatible = fsl,p1010-flexcan, fsl,flexcan;
  reg = 0x1c000 0x1000;
  interrupts = 48 0x2;
  interrupt-parent = mpic;
  };
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


Re: [PATCH v11 5/5] powerpc: Fix up fsl-flexcan device tree binding.

2011-08-10 Thread Scott Wood
On 08/10/2011 01:30 PM, Robin Holt wrote:
 On Wed, Aug 10, 2011 at 12:36:22PM -0500, Scott Wood wrote:
 On 08/10/2011 12:19 PM, Robin Holt wrote:
 On Wed, Aug 10, 2011 at 11:56:28AM -0500, Scott Wood wrote:
 Also may want to list fsl,p1010-rdb as a canonical compatible for
 anything which is backwards compatible with p1010's implementation.

 How do I specify 'canonical compatible'?

 Something like:

   compatible: Should be fsl,processor-flexcan and fsl,flexcan.

   An implementation should also claim any of the following compatibles
   that it is fully backwards compatible with:

   - fsl,p1010-rdb

Gah, I don't know how rdb replaced flexcan in the above.  Sorry for
any confusion.

 I am so confused.  fsl,p1010-flexcan refers, in my mind at least, to
 a particular chiplet on the p1010 freescale processor. 

It refers to a particular version of the flexcan logic, for which the
hardware doc people weren't kind enough to give us a public version number.

It has been common and recommended practice in such cases, when there
are multiple chips containing the same device, to pick a canonical chip
(such as the first one to have the device or to be supported) and have
others claim compatibility with it.

 fsl,p1010-rdb
 would mean nothing to me as that is a p1010 processor with two flexcan
 chiplets wired to a pair of DB-9 jacks.  For the driver, what additional
 information is being conveyed?

The programming model of the flexcan chiplet.

 Let's cut to the chase.  Here is what I have after incorporating your
 earlier comment about the compatible line.  Please mark this up to
 exactly what you are asking for.
 
 Thanks,
 Robin
 
 Flexcan CAN contoller on Freescale's ARM and PowerPC processors
 
 Required properties:
 
 - compatible : Should be fsl,processor-flexcan and fsl,flexcan

   An implementation should also claim any of the following compatibles
   that it is fully backwards compatible with:

   - fsl,p1010-flexcan

 - reg : Offset and length of the register set for this device
 - interrupts : Interrupt tuple for this device
 
 Example:
 
   can@1c000 {
   compatible = fsl,p1010-flexcan, fsl,flexcan;
   reg = 0x1c000 0x1000;
   interrupts = 48 0x2;
   interrupt-parent = mpic;
   };
 

-Scott

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


Re: [PATCH v11 5/5] powerpc: Fix up fsl-flexcan device tree binding.

2011-08-10 Thread Robin Holt
On Wed, Aug 10, 2011 at 01:40:30PM -0500, Scott Wood wrote:
 On 08/10/2011 01:30 PM, Robin Holt wrote:
  On Wed, Aug 10, 2011 at 12:36:22PM -0500, Scott Wood wrote:
  On 08/10/2011 12:19 PM, Robin Holt wrote:
  On Wed, Aug 10, 2011 at 11:56:28AM -0500, Scott Wood wrote:
  Also may want to list fsl,p1010-rdb as a canonical compatible for
  anything which is backwards compatible with p1010's implementation.
 
  How do I specify 'canonical compatible'?
 
  Something like:
 
compatible: Should be fsl,processor-flexcan and fsl,flexcan.
 
An implementation should also claim any of the following compatibles
that it is fully backwards compatible with:
 
- fsl,p1010-rdb
 
 Gah, I don't know how rdb replaced flexcan in the above.  Sorry for
 any confusion.
 
  I am so confused.  fsl,p1010-flexcan refers, in my mind at least, to
  a particular chiplet on the p1010 freescale processor. 
 
 It refers to a particular version of the flexcan logic, for which the
 hardware doc people weren't kind enough to give us a public version number.
 
 It has been common and recommended practice in such cases, when there
 are multiple chips containing the same device, to pick a canonical chip
 (such as the first one to have the device or to be supported) and have
 others claim compatibility with it.
 
  fsl,p1010-rdb
  would mean nothing to me as that is a p1010 processor with two flexcan
  chiplets wired to a pair of DB-9 jacks.  For the driver, what additional
  information is being conveyed?
 
 The programming model of the flexcan chiplet.
 
  Let's cut to the chase.  Here is what I have after incorporating your
  earlier comment about the compatible line.  Please mark this up to
  exactly what you are asking for.
  
  Thanks,
  Robin
  
  Flexcan CAN contoller on Freescale's ARM and PowerPC processors
  
  Required properties:
  
  - compatible : Should be fsl,processor-flexcan and fsl,flexcan
 
An implementation should also claim any of the following compatibles
that it is fully backwards compatible with:
 
- fsl,p1010-flexcan

Ah, there is my confusion.  I did not realize you were saying the
entire preceeding 4 lines should be included.  I thought you were
making a comment which I did not understand.

Thank you for your patience with my ignorance,
Robin
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev