diff mbox

[v2] powerpc/fsl: Added binding for Freescale CoreNet coherency fabric (CCF)

Message ID 1397833917-12611-1-git-send-email-diana.craciun@freescale.com
State Superseded, archived
Headers show

Commit Message

Diana Craciun April 18, 2014, 3:11 p.m. UTC
From: Diana Craciun <Diana.Craciun@freescale.com>

The CoreNet coherency fabric is a fabric-oriented, conectivity
infrastructure that enables the implementation of coherent, multicore
systems. The CCF acts as a central interconnect for cores,
platform-level caches, memory subsystem, peripheral devices and I/O host
bridges in the system.

Signed-off-by: Diana Craciun <Diana.Craciun@freescale.com>
---
 .../devicetree/bindings/powerpc/fsl/ccf.txt        | 36 ++++++++++++++++++++++
 1 file changed, 36 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/powerpc/fsl/ccf.txt

Comments

Scott Wood April 18, 2014, 9:33 p.m. UTC | #1
On Fri, 2014-04-18 at 18:11 +0300, Diana Craciun wrote:
> From: Diana Craciun <Diana.Craciun@freescale.com>
> 
> The CoreNet coherency fabric is a fabric-oriented, conectivity
> infrastructure that enables the implementation of coherent, multicore
> systems. The CCF acts as a central interconnect for cores,
> platform-level caches, memory subsystem, peripheral devices and I/O host
> bridges in the system.
> 
> Signed-off-by: Diana Craciun <Diana.Craciun@freescale.com>
> ---
>  .../devicetree/bindings/powerpc/fsl/ccf.txt        | 36 ++++++++++++++++++++++
>  1 file changed, 36 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/powerpc/fsl/ccf.txt
> 
> diff --git a/Documentation/devicetree/bindings/powerpc/fsl/ccf.txt b/Documentation/devicetree/bindings/powerpc/fsl/ccf.txt
> new file mode 100644
> index 0000000..f0b7143
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/powerpc/fsl/ccf.txt
> @@ -0,0 +1,36 @@
> +Freescale CoreNet Coherency Fabric(CCF) Device Tree Binding
> +
> +DESCRIPTION
> +
> +The CoreNet coherency fabric is a fabric-oriented, connectivity infrastructure
> +that enables the implementation of coherent, multicore systems.
> +
> +Required properties:
> +
> +- compatible : <string>
> +		Must include "fsl,corenetX-cf", "fsl,corenet-cf" - CoreNet coherency 
> +		fabric version X

Specify "fsl,corenet1-cf" and "fsl,corenet2-cf" rather than
"fsl,corenetX-cf" (given there's nothing in a chip manual that you can
correlate with the value of X), and provide example chips for each.

Also specify that "fsl,corenet-cf" represents the registers that are
common between the two versions (not arbitrary "fsl,corenetX-cf" -- if
there's ever an "fsl,corenet3-cf" it may not be compatible with this),
and is retained for compatibility reasons.

-Scott


--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Diana Craciun April 23, 2014, 2:16 p.m. UTC | #2
On 04/19/2014 12:33 AM, Scott Wood wrote:
> On Fri, 2014-04-18 at 18:11 +0300, Diana Craciun wrote:
>> From: Diana Craciun <Diana.Craciun@freescale.com>
>>
>> The CoreNet coherency fabric is a fabric-oriented, conectivity
>> infrastructure that enables the implementation of coherent, multicore
>> systems. The CCF acts as a central interconnect for cores,
>> platform-level caches, memory subsystem, peripheral devices and I/O host
>> bridges in the system.
>>
>> Signed-off-by: Diana Craciun <Diana.Craciun@freescale.com>
>> ---
>>   .../devicetree/bindings/powerpc/fsl/ccf.txt        | 36 ++++++++++++++++++++++
>>   1 file changed, 36 insertions(+)
>>   create mode 100644 Documentation/devicetree/bindings/powerpc/fsl/ccf.txt
>>
>> diff --git a/Documentation/devicetree/bindings/powerpc/fsl/ccf.txt b/Documentation/devicetree/bindings/powerpc/fsl/ccf.txt
>> new file mode 100644
>> index 0000000..f0b7143
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/powerpc/fsl/ccf.txt
>> @@ -0,0 +1,36 @@
>> +Freescale CoreNet Coherency Fabric(CCF) Device Tree Binding
>> +
>> +DESCRIPTION
>> +
>> +The CoreNet coherency fabric is a fabric-oriented, connectivity infrastructure
>> +that enables the implementation of coherent, multicore systems.
>> +
>> +Required properties:
>> +
>> +- compatible : <string>
>> +		Must include "fsl,corenetX-cf", "fsl,corenet-cf" - CoreNet coherency
>> +		fabric version X
> Specify "fsl,corenet1-cf" and "fsl,corenet2-cf" rather than
> "fsl,corenetX-cf" (given there's nothing in a chip manual that you can
> correlate with the value of X), and provide example chips for each.

OK.

> Also specify that "fsl,corenet-cf" represents the registers that are
> common between the two versions (not arbitrary "fsl,corenetX-cf" -- if
> there's ever an "fsl,corenet3-cf" it may not be compatible with this),
> and is retained for compatibility reasons.
>

What do you mean by common?  There are the csdids and snoop ids 
registers which are common  between the two versions but only by name 
because the register format is not the same.

Diana


--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Scott Wood April 23, 2014, 8:51 p.m. UTC | #3
On Wed, 2014-04-23 at 17:16 +0300, Diana Craciun wrote:
> On 04/19/2014 12:33 AM, Scott Wood wrote:
> > On Fri, 2014-04-18 at 18:11 +0300, Diana Craciun wrote:
> >> From: Diana Craciun <Diana.Craciun@freescale.com>
> >>
> >> The CoreNet coherency fabric is a fabric-oriented, conectivity
> >> infrastructure that enables the implementation of coherent, multicore
> >> systems. The CCF acts as a central interconnect for cores,
> >> platform-level caches, memory subsystem, peripheral devices and I/O host
> >> bridges in the system.
> >>
> >> Signed-off-by: Diana Craciun <Diana.Craciun@freescale.com>
> >> ---
> >>   .../devicetree/bindings/powerpc/fsl/ccf.txt        | 36 ++++++++++++++++++++++
> >>   1 file changed, 36 insertions(+)
> >>   create mode 100644 Documentation/devicetree/bindings/powerpc/fsl/ccf.txt
> >>
> >> diff --git a/Documentation/devicetree/bindings/powerpc/fsl/ccf.txt b/Documentation/devicetree/bindings/powerpc/fsl/ccf.txt
> >> new file mode 100644
> >> index 0000000..f0b7143
> >> --- /dev/null
> >> +++ b/Documentation/devicetree/bindings/powerpc/fsl/ccf.txt
> >> @@ -0,0 +1,36 @@
> >> +Freescale CoreNet Coherency Fabric(CCF) Device Tree Binding
> >> +
> >> +DESCRIPTION
> >> +
> >> +The CoreNet coherency fabric is a fabric-oriented, connectivity infrastructure
> >> +that enables the implementation of coherent, multicore systems.
> >> +
> >> +Required properties:
> >> +
> >> +- compatible : <string>
> >> +		Must include "fsl,corenetX-cf", "fsl,corenet-cf" - CoreNet coherency
> >> +		fabric version X
> > Specify "fsl,corenet1-cf" and "fsl,corenet2-cf" rather than
> > "fsl,corenetX-cf" (given there's nothing in a chip manual that you can
> > correlate with the value of X), and provide example chips for each.
> 
> OK.
> 
> > Also specify that "fsl,corenet-cf" represents the registers that are
> > common between the two versions (not arbitrary "fsl,corenetX-cf" -- if
> > there's ever an "fsl,corenet3-cf" it may not be compatible with this),
> > and is retained for compatibility reasons.
> >
> 
> What do you mean by common?  There are the csdids and snoop ids 
> registers which are common  between the two versions but only by name 
> because the register format is not the same.

The only difference I see is that corenet2-cf documents certain bits as
being for core clusters, and another bit as being for the PAMU, whereas
corenet1-cf opaquely describes all the bits as "port id".  This isn't
really a change, just a documentation difference plus a difference in
how cores and PAMUs map to port ids (this differs within corenet1-cf
chips as well, as it's based on the number of cores and the number of
pamus).  That mapping should be expressed in the device tree binding
somehow.

-Scott


--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Kumar Gala May 8, 2014, 2 p.m. UTC | #4
On Apr 18, 2014, at 8:11 AM, Diana Craciun <diana.craciun@freescale.com> wrote:

> From: Diana Craciun <Diana.Craciun@freescale.com>
> 
> The CoreNet coherency fabric is a fabric-oriented, conectivity
> infrastructure that enables the implementation of coherent, multicore
> systems. The CCF acts as a central interconnect for cores,
> platform-level caches, memory subsystem, peripheral devices and I/O host
> bridges in the system.
> 
> Signed-off-by: Diana Craciun <Diana.Craciun@freescale.com>
> ---
> .../devicetree/bindings/powerpc/fsl/ccf.txt        | 36 ++++++++++++++++++++++
> 1 file changed, 36 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/powerpc/fsl/ccf.txt
> 
> diff --git a/Documentation/devicetree/bindings/powerpc/fsl/ccf.txt b/Documentation/devicetree/bindings/powerpc/fsl/ccf.txt
> new file mode 100644
> index 0000000..f0b7143
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/powerpc/fsl/ccf.txt
> @@ -0,0 +1,36 @@
> +Freescale CoreNet Coherency Fabric(CCF) Device Tree Binding
> +
> +DESCRIPTION
> +
> +The CoreNet coherency fabric is a fabric-oriented, connectivity infrastructure
> +that enables the implementation of coherent, multicore systems.
> +
> +Required properties:
> +
> +- compatible : <string>
> +		Must include "fsl,corenetX-cf", "fsl,corenet-cf" - CoreNet coherency 
> +		fabric version X

Can we make this ‘fsl,corenet-vX-cf’.

corenet-v1-cf/corenet-v2-cf looks nicer than corenet1-cf/corenet2-cf

> +
> +- reg : <prop-encoded-array>
> +		A standard property. Represents the CCF registers.
> +
> +- interrupts : <prop-encoded-array>
> +		Interrupt mapping for CCF error interrupt.
> +
> +- fsl,ccf-num-csdids: <u32>
> +		Specifies the number of Coherency Subdomain ID Port Mapping
> +		Registers that are supported by the CCF.
> +
> +- fsl,ccf-num-snoopids: <u32>
> +		Specifies the number of Snoop ID Port Mapping Registers that
> +		are supported by CCF.
> +
> +Example:
> +
> +	corenet-cf@18000 {
> +		compatible = "fsl,corenet2-cf", "fsl,corenet-cf";
> +		reg = <0x18000 0x1000>;
> +		interrupts = <16 2 1 31>;
> +		fsl,ccf-num-csdids = <32>;
> +		fsl,ccf-num-snoopids = <32>;
> +	};
> -- 
> 1.7.11.7
> 
> 
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/linuxppc-dev

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Scott Wood May 8, 2014, 11:18 p.m. UTC | #5
On Thu, 2014-05-08 at 07:00 -0700, Kumar Gala wrote:
> On Apr 18, 2014, at 8:11 AM, Diana Craciun <diana.craciun@freescale.com> wrote:
> 
> > From: Diana Craciun <Diana.Craciun@freescale.com>
> > 
> > The CoreNet coherency fabric is a fabric-oriented, conectivity
> > infrastructure that enables the implementation of coherent, multicore
> > systems. The CCF acts as a central interconnect for cores,
> > platform-level caches, memory subsystem, peripheral devices and I/O host
> > bridges in the system.
> > 
> > Signed-off-by: Diana Craciun <Diana.Craciun@freescale.com>
> > ---
> > .../devicetree/bindings/powerpc/fsl/ccf.txt        | 36 ++++++++++++++++++++++
> > 1 file changed, 36 insertions(+)
> > create mode 100644 Documentation/devicetree/bindings/powerpc/fsl/ccf.txt
> > 
> > diff --git a/Documentation/devicetree/bindings/powerpc/fsl/ccf.txt b/Documentation/devicetree/bindings/powerpc/fsl/ccf.txt
> > new file mode 100644
> > index 0000000..f0b7143
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/powerpc/fsl/ccf.txt
> > @@ -0,0 +1,36 @@
> > +Freescale CoreNet Coherency Fabric(CCF) Device Tree Binding
> > +
> > +DESCRIPTION
> > +
> > +The CoreNet coherency fabric is a fabric-oriented, connectivity infrastructure
> > +that enables the implementation of coherent, multicore systems.
> > +
> > +Required properties:
> > +
> > +- compatible : <string>
> > +		Must include "fsl,corenetX-cf", "fsl,corenet-cf" - CoreNet coherency 
> > +		fabric version X
> 
> Can we make this ‘fsl,corenet-vX-cf’.
> 
> corenet-v1-cf/corenet-v2-cf looks nicer than corenet1-cf/corenet2-cf

How important is this?  We've already got corenet2-cf in SDK device
trees -- and while I know that's not binding on upstream in any way,
it's purely a cosmetic change.  Even if you disregard the SDK, is this
really worth going back and amending several pending patches over
(including a driver that I was waiting for this binding to settle before
sending)?  

FWIW, we have other instances of "deviceN", such as "fsl,etsec2",
"fsl,cpm2-<foo>","fsl,usb2-<foo>", and "fsl,elo3-dma".  We also call it
"corenet2" in U-Boot a lot.

If we must change it, I'd prefer "fsl,corenet-cf-vX.0".

-Scott


--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/Documentation/devicetree/bindings/powerpc/fsl/ccf.txt b/Documentation/devicetree/bindings/powerpc/fsl/ccf.txt
new file mode 100644
index 0000000..f0b7143
--- /dev/null
+++ b/Documentation/devicetree/bindings/powerpc/fsl/ccf.txt
@@ -0,0 +1,36 @@ 
+Freescale CoreNet Coherency Fabric(CCF) Device Tree Binding
+
+DESCRIPTION
+
+The CoreNet coherency fabric is a fabric-oriented, connectivity infrastructure
+that enables the implementation of coherent, multicore systems.
+
+Required properties:
+
+- compatible : <string>
+		Must include "fsl,corenetX-cf", "fsl,corenet-cf" - CoreNet coherency 
+		fabric version X
+
+- reg : <prop-encoded-array>
+		A standard property. Represents the CCF registers.
+
+- interrupts : <prop-encoded-array>
+		Interrupt mapping for CCF error interrupt.
+
+- fsl,ccf-num-csdids: <u32>
+		Specifies the number of Coherency Subdomain ID Port Mapping
+		Registers that are supported by the CCF.
+
+- fsl,ccf-num-snoopids: <u32>
+		Specifies the number of Snoop ID Port Mapping Registers that
+		are supported by CCF.
+
+Example:
+
+	corenet-cf@18000 {
+		compatible = "fsl,corenet2-cf", "fsl,corenet-cf";
+		reg = <0x18000 0x1000>;
+		interrupts = <16 2 1 31>;
+		fsl,ccf-num-csdids = <32>;
+		fsl,ccf-num-snoopids = <32>;
+	};