All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Daney <ddaney@caviumnetworks.com>
To: David Gibson <david@gibson.dropbear.id.au>,
	linux-mips@linux-mips.org, ralf@linux-mips.org,
	devicetree-discuss@lists.ozlabs.org, grant.likely@secretlab.ca,
	linux-kernel@vger.kernel.org
Subject: Re: [RFC PATCH 02/10] MIPS: Octeon: Add device tree source files.
Date: Wed, 23 Feb 2011 11:06:30 -0800	[thread overview]
Message-ID: <4D655AB6.80400@caviumnetworks.com> (raw)
In-Reply-To: <20110223000759.GA26300@yookeroo>

On 02/22/2011 04:07 PM, David Gibson wrote:
> On Tue, Feb 22, 2011 at 12:57:46PM -0800, David Daney wrote:
>> Signed-off-by: David Daney<ddaney@caviumnetworks.com>
>> ---
>>   arch/mips/cavium-octeon/.gitignore      |    2 +
>>   arch/mips/cavium-octeon/Makefile        |   13 ++
>>   arch/mips/cavium-octeon/octeon_3xxx.dts |  314 +++++++++++++++++++++++++++++++
>>   arch/mips/cavium-octeon/octeon_68xx.dts |   99 ++++++++++
>>   4 files changed, 428 insertions(+), 0 deletions(-)
>>   create mode 100644 arch/mips/cavium-octeon/.gitignore
>>   create mode 100644 arch/mips/cavium-octeon/octeon_3xxx.dts
>>   create mode 100644 arch/mips/cavium-octeon/octeon_68xx.dts
>>
>> diff --git a/arch/mips/cavium-octeon/.gitignore b/arch/mips/cavium-octeon/.gitignore
>> new file mode 100644
>> index 0000000..39c9686
>> --- /dev/null
>> +++ b/arch/mips/cavium-octeon/.gitignore
>> @@ -0,0 +1,2 @@
>> +*.dtb.S
>
> .dtb.S?

I think I have the correct .gitignore syntax.

>
> [snip]
>> +/dts-v1/;
>> +/* OCTEON 3XXX, 5XXX, 63XX device tree skeleton. */
>> +/ {
>> +  model = "OCTEON";
>
> 1 tab indents are the usual convention for device trees.

OK.

>
>> +  compatible = "octeon,octeon";
>
> There's no model number at all for this board?


I think it should be:

	compatible = "octeon,octeon-3860";

>
>> +  #address-cells =<2>;
>> +  #size-cells =<2>;
>> +
>> +  soc@0 {
>> +    device_type = "soc";
>
> Drop this device_type.

OK.

>
>> +    compatible = "simple-bus";
>> +    #address-cells =<2>;
>> +    #size-cells =<2>;
>> +    ranges; /* Direct mapping */
>> +
>> +    ciu: ciu-3xxx@1070000000000 {
>> +      compatible = "octeon,ciu-3xxx";
>
> So, names or compatible values with "wildcards" like 3xxx should be
> avoided.  Instead, use the specific model number of this device, then
> future devices can claim compatibility with the earlier one.
>
> But, in addition the generic names convention means that the node name
> should be "interrupt-controller" rather than something model specific.

Let's try:

ciu: interrupt-controller@1070000000000 {
       compatible = "octeon,octeon-3860-ciu";


>
>> +      interrupt-controller;
>> +      #address-cells =<0>;
>> +      #interrupt-cells =<2>;
>> +      reg =<0x10700 0x00000000 0x0 0x7000>;
>> +    };
>> +
>> +    /* SMI0 */
>> +    mdio0: mdio@1180000001800 {
>
> If SMI0 is the name generally used in the documentation, using that in
> the label instead of mdio0 might be more useful.
>
>> +      compatible = "octeon,mdio";
>
> No model or revision number?
>
Let's try:

	smi0: mdio@1180000001800 {
		compatible = "octeon,octeon-3860-mdio";

>> +      #address-cells =<1>;
>> +      #size-cells =<0>;
>> +      reg =<0x11800 0x00001800 0x0 0x40>;
>> +      device_type = "mdio";
>
> Drop this device_type.

OK.

>
[...]
>> +    mgmt0: ethernet@1070000100000 {
>> +      compatible = "octeon,mgmt";

This becomes:

	mgmt0: ethernet@1070000100000 {
		compatible = "octeon,octeon-5230-mii";


>> +      device_type = "network";
>> +      model = "mgmt";
>> +      reg =<0x10700 0x00100000 0x0 0x100>, /* MIX */
>> +<0x11800 0xE0000000 0x0 0x300>, /* AGL */
>> +<0x11800 0xE0000400 0x0 0x400>, /* AGL_SHARED  */
>> +<0x11800 0xE0002000 0x0 0x8>;   /* AGL_PRT_CTL */
>> +      unit-number =<0>;
>
> What is this 'unit-number' property for?
>


The AGL_SHARED register bank is shared among all the octeon-5230-mii 
devices.  the 'unit-number' indicates the bit-field index that this 
device should use within those registers.


>> +      interrupt-parent =<&ciu>;
>> +      interrupts =<0 62>,<1 46>;
>> +      local-mac-address = [ 00 00 00 00 00 00 ];
>
> That's not a valid MAC address of course.  If this has to be patched
> in by the bootloader / later processing, you should add a comment to
> that effect.
>

Right.

>> +      phy-handle =<&phy0>;
>> +    };
>> +
>> +    mgmt1: ethernet@1070000100800 {
>> +      compatible = "octeon,mgmt";
>> +      device_type = "network";
>> +      model = "mgmt";
>> +      reg =<0x10700 0x00100800 0x0 0x100>, /* MIX */
>> +<0x11800 0xE0000800 0x0 0x300>, /* AGL */
>> +<0x11800 0xE0000400 0x0 0x400>, /* AGL_SHARED  */
>> +<0x11800 0xE0002008 0x0 0x8>;   /* AGL_PRT_CTL */
>> +      unit-number =<1>;
>> +      interrupt-parent =<&ciu>;
>> +      interrupts =<1 18>,<  1 46>;
>> +      local-mac-address = [ 00 00 00 00 00 00 ];
>> +      phy-handle =<&phy1>;
>> +    };
>> +
>> +    pip: pip@11800a0000000 {
>> +      compatible = "octeon,pip";
>> +      #address-cells =<1>;
>> +      #size-cells =<0>;
>> +      reg =<0x11800 0xa0000000 0x0 0x2000>;
>> +
>> +      interface@0 {
>
> These subnodes and subsubnodes should have compatible values too, even
> if it's just "octeon,pip-interface" and "octeon,pip-ethernet".
>

OK.

>> +        #address-cells =<1>;
>> +        #size-cells =<0>;
>> +        reg =<0>; /* interface */
>> +
>> +        ethernet@0 {
>> +          device_type = "network";
>> +          model = "pip";
>
> This model property doesn't look very useful.
>

I will remove it.

> [snip]

>
> Uh.. where are the CPUs?
>

Answered in other e-mail.

Thanks,
David Daney

WARNING: multiple messages have this Message-ID (diff)
From: David Daney <ddaney-M3mlKVOIwJVv6pq1l3V1OdBPR1lH4CV8@public.gmane.org>
To: David Gibson
	<david-xT8FGy+AXnRB3Ne2BGzF6laj5H9X9Tb+@public.gmane.org>,
	linux-mips-6z/3iImG2C8G8FEW9MqTrA@public.gmane.org,
	ralf-6z/3iImG2C8G8FEW9MqTrA@public.gmane.org,
	devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org,
	grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [RFC PATCH 02/10] MIPS: Octeon: Add device tree source files.
Date: Wed, 23 Feb 2011 11:06:30 -0800	[thread overview]
Message-ID: <4D655AB6.80400@caviumnetworks.com> (raw)
In-Reply-To: <20110223000759.GA26300@yookeroo>

On 02/22/2011 04:07 PM, David Gibson wrote:
> On Tue, Feb 22, 2011 at 12:57:46PM -0800, David Daney wrote:
>> Signed-off-by: David Daney<ddaney-M3mlKVOIwJVv6pq1l3V1OdBPR1lH4CV8@public.gmane.org>
>> ---
>>   arch/mips/cavium-octeon/.gitignore      |    2 +
>>   arch/mips/cavium-octeon/Makefile        |   13 ++
>>   arch/mips/cavium-octeon/octeon_3xxx.dts |  314 +++++++++++++++++++++++++++++++
>>   arch/mips/cavium-octeon/octeon_68xx.dts |   99 ++++++++++
>>   4 files changed, 428 insertions(+), 0 deletions(-)
>>   create mode 100644 arch/mips/cavium-octeon/.gitignore
>>   create mode 100644 arch/mips/cavium-octeon/octeon_3xxx.dts
>>   create mode 100644 arch/mips/cavium-octeon/octeon_68xx.dts
>>
>> diff --git a/arch/mips/cavium-octeon/.gitignore b/arch/mips/cavium-octeon/.gitignore
>> new file mode 100644
>> index 0000000..39c9686
>> --- /dev/null
>> +++ b/arch/mips/cavium-octeon/.gitignore
>> @@ -0,0 +1,2 @@
>> +*.dtb.S
>
> .dtb.S?

I think I have the correct .gitignore syntax.

>
> [snip]
>> +/dts-v1/;
>> +/* OCTEON 3XXX, 5XXX, 63XX device tree skeleton. */
>> +/ {
>> +  model = "OCTEON";
>
> 1 tab indents are the usual convention for device trees.

OK.

>
>> +  compatible = "octeon,octeon";
>
> There's no model number at all for this board?


I think it should be:

	compatible = "octeon,octeon-3860";

>
>> +  #address-cells =<2>;
>> +  #size-cells =<2>;
>> +
>> +  soc@0 {
>> +    device_type = "soc";
>
> Drop this device_type.

OK.

>
>> +    compatible = "simple-bus";
>> +    #address-cells =<2>;
>> +    #size-cells =<2>;
>> +    ranges; /* Direct mapping */
>> +
>> +    ciu: ciu-3xxx@1070000000000 {
>> +      compatible = "octeon,ciu-3xxx";
>
> So, names or compatible values with "wildcards" like 3xxx should be
> avoided.  Instead, use the specific model number of this device, then
> future devices can claim compatibility with the earlier one.
>
> But, in addition the generic names convention means that the node name
> should be "interrupt-controller" rather than something model specific.

Let's try:

ciu: interrupt-controller@1070000000000 {
       compatible = "octeon,octeon-3860-ciu";


>
>> +      interrupt-controller;
>> +      #address-cells =<0>;
>> +      #interrupt-cells =<2>;
>> +      reg =<0x10700 0x00000000 0x0 0x7000>;
>> +    };
>> +
>> +    /* SMI0 */
>> +    mdio0: mdio@1180000001800 {
>
> If SMI0 is the name generally used in the documentation, using that in
> the label instead of mdio0 might be more useful.
>
>> +      compatible = "octeon,mdio";
>
> No model or revision number?
>
Let's try:

	smi0: mdio@1180000001800 {
		compatible = "octeon,octeon-3860-mdio";

>> +      #address-cells =<1>;
>> +      #size-cells =<0>;
>> +      reg =<0x11800 0x00001800 0x0 0x40>;
>> +      device_type = "mdio";
>
> Drop this device_type.

OK.

>
[...]
>> +    mgmt0: ethernet@1070000100000 {
>> +      compatible = "octeon,mgmt";

This becomes:

	mgmt0: ethernet@1070000100000 {
		compatible = "octeon,octeon-5230-mii";


>> +      device_type = "network";
>> +      model = "mgmt";
>> +      reg =<0x10700 0x00100000 0x0 0x100>, /* MIX */
>> +<0x11800 0xE0000000 0x0 0x300>, /* AGL */
>> +<0x11800 0xE0000400 0x0 0x400>, /* AGL_SHARED  */
>> +<0x11800 0xE0002000 0x0 0x8>;   /* AGL_PRT_CTL */
>> +      unit-number =<0>;
>
> What is this 'unit-number' property for?
>


The AGL_SHARED register bank is shared among all the octeon-5230-mii 
devices.  the 'unit-number' indicates the bit-field index that this 
device should use within those registers.


>> +      interrupt-parent =<&ciu>;
>> +      interrupts =<0 62>,<1 46>;
>> +      local-mac-address = [ 00 00 00 00 00 00 ];
>
> That's not a valid MAC address of course.  If this has to be patched
> in by the bootloader / later processing, you should add a comment to
> that effect.
>

Right.

>> +      phy-handle =<&phy0>;
>> +    };
>> +
>> +    mgmt1: ethernet@1070000100800 {
>> +      compatible = "octeon,mgmt";
>> +      device_type = "network";
>> +      model = "mgmt";
>> +      reg =<0x10700 0x00100800 0x0 0x100>, /* MIX */
>> +<0x11800 0xE0000800 0x0 0x300>, /* AGL */
>> +<0x11800 0xE0000400 0x0 0x400>, /* AGL_SHARED  */
>> +<0x11800 0xE0002008 0x0 0x8>;   /* AGL_PRT_CTL */
>> +      unit-number =<1>;
>> +      interrupt-parent =<&ciu>;
>> +      interrupts =<1 18>,<  1 46>;
>> +      local-mac-address = [ 00 00 00 00 00 00 ];
>> +      phy-handle =<&phy1>;
>> +    };
>> +
>> +    pip: pip@11800a0000000 {
>> +      compatible = "octeon,pip";
>> +      #address-cells =<1>;
>> +      #size-cells =<0>;
>> +      reg =<0x11800 0xa0000000 0x0 0x2000>;
>> +
>> +      interface@0 {
>
> These subnodes and subsubnodes should have compatible values too, even
> if it's just "octeon,pip-interface" and "octeon,pip-ethernet".
>

OK.

>> +        #address-cells =<1>;
>> +        #size-cells =<0>;
>> +        reg =<0>; /* interface */
>> +
>> +        ethernet@0 {
>> +          device_type = "network";
>> +          model = "pip";
>
> This model property doesn't look very useful.
>

I will remove it.

> [snip]

>
> Uh.. where are the CPUs?
>

Answered in other e-mail.

Thanks,
David Daney

  parent reply	other threads:[~2011-02-23 19:06 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-22 20:57 [RFC PATCH 00/10] MIPS: Octeon: Use Device Tree David Daney
2011-02-22 20:57 ` [RFC PATCH 01/10] MIPS: Octeon: Move some Ethernet support files out of staging David Daney
2011-02-23 14:48   ` Grant Likely
2011-02-23 17:36     ` David Daney
2011-02-22 20:57 ` [RFC PATCH 02/10] MIPS: Octeon: Add device tree source files David Daney
2011-02-22 20:57   ` David Daney
2011-02-23  0:07   ` David Gibson
2011-02-23 14:30     ` Ralf Baechle
2011-02-23 14:30       ` Ralf Baechle
2011-02-23 16:59     ` David Daney
2011-02-23 16:59       ` David Daney
2011-02-24 23:19       ` David Gibson
2011-02-24 23:19         ` David Gibson
2011-02-25 15:22         ` Grant Likely
2011-02-25 15:22           ` Grant Likely
2011-02-25 21:46           ` Benjamin Herrenschmidt
2011-02-25 21:46             ` Benjamin Herrenschmidt
2011-02-23 19:06     ` David Daney [this message]
2011-02-23 19:06       ` David Daney
2011-02-23 23:49       ` David Gibson
2011-02-23 23:49         ` David Gibson
2011-02-24  1:57         ` David Daney
2011-02-24  2:14           ` David Gibson
2011-02-24  2:14             ` David Gibson
2011-02-24  2:22             ` David Daney
2011-02-24  2:22               ` David Daney
2011-02-22 20:57 ` [RFC PATCH 03/10] MIPS: Prune some target specific code out of prom.c David Daney
2011-02-22 20:57   ` David Daney
2011-02-22 20:57 ` [RFC PATCH 04/10] MIPS: Octeon: Add a irq_create_of_mapping() implementation David Daney
2011-02-22 20:57   ` David Daney
2011-02-22 20:57 ` [RFC PATCH 05/10] MIPS: Octeon: Rearrance CVMX files in preperation for device tree David Daney
2011-02-22 20:57   ` David Daney
2011-02-22 20:57 ` [RFC PATCH 06/10] MIPS: Octeon: Initialize and fixup " David Daney
2011-02-23  0:16   ` David Gibson
2011-02-23 17:41   ` Grant Likely
2011-02-23 18:40     ` David Daney
2011-02-23 18:40       ` David Daney
2011-02-23 18:51       ` Grant Likely
2011-02-23 19:20         ` David Daney
2011-02-22 20:57 ` [RFC PATCH 07/10] i2c: Convert i2c-octeon.c to use " David Daney
2011-02-23 16:25   ` Grant Likely
2011-02-22 20:57 ` [RFC PATCH 08/10] netdev: mdio-octeon.c: Convert " David Daney
2011-02-22 20:57   ` David Daney
2011-02-22 20:57 ` [RFC PATCH 09/10] netdev: octeon_mgmt: " David Daney
2011-02-23 16:32   ` Grant Likely
2011-02-23 16:32     ` Grant Likely
2011-02-23 20:33     ` David Miller
2011-02-22 20:57 ` [RFC PATCH 10/10] staging: octeon_ethernet: " David Daney
2011-02-22 20:57   ` David Daney

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4D655AB6.80400@caviumnetworks.com \
    --to=ddaney@caviumnetworks.com \
    --cc=david@gibson.dropbear.id.au \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=grant.likely@secretlab.ca \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mips@linux-mips.org \
    --cc=ralf@linux-mips.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.