linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: David Gibson <david@gibson.dropbear.id.au>
To: "Mark A. Greer" <mgreer@mvista.com>
Cc: linuxppc-dev <Linuxppc-dev@ozlabs.org>
Subject: Re: [PATCH 3/4] powerpc: Katana750i - Add DTS file
Date: Tue, 15 Jan 2008 10:34:06 +1100	[thread overview]
Message-ID: <20080114233406.GB20649@localhost.localdomain> (raw)
In-Reply-To: <20080114225926.GB22862@mag.az.mvista.com>

On Mon, Jan 14, 2008 at 03:59:26PM -0700, Mark A. Greer wrote:
> From: Mark A. Greer <mgreer@mvista.com>
> 
> Add DTS file for the Emerson Katana 750i & 752i platforms.

[snip]
> +/dts-v1/;
> +
> +/ {
> +	#address-cells = <1>;
> +	#size-cells = <1>;
> +	model = "Katana-75xi";	/* Default */
> +	compatible = "emerson,katana-750i";
> +	coherency-off;

Where is this flag used from?

> +	cpus {
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +
> +		PowerPC,750 {
> +			device_type = "cpu";
> +			reg = <0>;
> +			clock-frequency = <733333333>;		/* Default */
> +			bus-frequency = <133333333>;		/* Default */
> +			timebase-frequency = <33333333>;	/* Default */
> +			i-cache-line-size = <0x20>;
> +			d-cache-line-size = <0x20>;
> +			i-cache-size = <0x8000>;
> +			d-cache-size = <0x8000>;
> +		};
> +	};
> +
> +	memory {
> +		device_type = "memory";
> +		reg = <0x00000000 0x04000000>;	/* Default (64MB) */
> +	};
> +
> +	mv64x60@f8100000 { /* Marvell Discovery */
> +		#address-cells = <1>;
> +		#size-cells = <1>;
> +		model = "mv64360";	/* Default */
> +		compatible = "marvell,mv64360";
> +		clock-frequency = <133333333>;
> +		hs_reg_valid;
> +		reg = <0xf8100000 0x00010000>;
> +		virtual-reg = <0xf8100000>;

You seem to have virtual-reg properties on a *lot* of nodes, are they
really necessary?  virtual-reg should be used *only* for things which
you need to access very early in the bootwrapper.  Usually that's only
the serial port for the console.  Come to that, the CPU is a 750 which
has a real mode, so it seems dubious that you would need any
virtual-reg values at all.

[snip]
> +		flash@e8000000 {
> +			#address-cells = <1>;
> +			#size-cells = <1>;
> +			compatible = "cfi-flash";
> +			bank-width = <4>;
> +			device-width = <2>;
> +			reg = <0xe8000000 0x04000000>;
> +			monitor@0 {
> +				label = "Monitor";

If you're using the "label" property, it would be normal to name the
nodes simply "partition@address".

> +				reg = <0x00000000 0x00100000>;
> +			};
> +			pkernel@100000 {
> +				label = "Primary Kernel";
> +				reg = <0x00100000 0x00180000>;
> +			};
> +			pfs@280000 {
> +				label = "Primary Filesystem";
> +				reg = <0x00280000 0x01e00000>;
> +			};
> +			skernel@2080000 {
> +				label = "Secondary Kernel";
> +				reg = <0x02080000 0x00180000>;
> +			};
> +			sfs@2200000 {
> +				label = "Secondary Filesystem";
> +				reg = <0x02200000 0x01e00000>;
> +			};
> +			user@100000 { /* overlay all but monitor */
> +				label = "User FLASH";
> +				reg = <0x00100000 0x03f00000>;
> +			};
> +		};
> +
> +		mdio {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			device_type = "mdio";

This device_type value should not be here.

> +			compatible = "marvell,mv64360-mdio";
> +			PHY0: ethernet-phy@12 {
> +				device_type = "ethernet-phy";
> +				compatible = "broadcom,bcm5461";
> +				reg = <12>;
> +			};
> +			PHY1: ethernet-phy@11 {
> +				device_type = "ethernet-phy";
> +				compatible = "broadcom,bcm5461";
> +				reg = <11>;
> +			};
> +			PHY2: ethernet-phy@4 {
> +				device_type = "ethernet-phy";
> +				compatible = "broadcom,bcm5461";
> +				reg = <4>;
> +			};
> +		};
> +
> +		multiethernet@2000 {

This needs some sort of "compatible" value.

> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			reg = <0x2000 0x2000>;
> +			ethernet@0 {

[snip]
> +		CUNIT: cunit@f200 {

What is this device?  It needs some sort of "compatible" value.

> +			reg = <0xf200 0x200>;
> +		};
> +
> +		MPSCROUTING: mpscrouting@b400 {

Ditto.

> +			reg = <0xb400 0xc>;
> +		};
> +
> +		MPSCINTR: mpscintr@b800 {

Ditto.

> +			reg = <0xb800 0x100>;
> +			virtual-reg = <0xf810b800>;
> +		};

[snip]
> +		i2c@c000 {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			device_type = "i2c";

This device_type value shouldn't be here either.

> +			compatible = "marvell,mv64360-i2c";
> +			reg = <0xc000 0x20>;
> +			virtual-reg = <0xf810c000>;
> +			freq_m = <8>;
> +			freq_n = <3>;
> +			interrupts = <37>;
> +			interrupt-parent = <&PIC>;
> +			rtc@68 {
> +				compatible = "dallas,ds1307";
> +				reg = <0x68>;
> +			};
> +		};

[snip]
> +		mpp@f000 {
> +			compatible = "marvell,mv64360-mpp";
> +			reg = <0xf000 0x10>;
> +		};
> +
> +		gpp@f100 {
> +			compatible = "marvell,mv64360-gpp";
> +			reg = <0xf100 0x20>;
> +		};

What are these two devices?

> +		pci@80000000 {
> +			#address-cells = <3>;
> +			#size-cells = <2>;
> +			#interrupt-cells = <1>;
> +			device_type = "pci";
> +			compatible = "marvell,mv64360-pci";
> +			cell-index = <1>;
> +			reg = <0x0c78 0x8>;
> +			ranges = <0x01000000 0x0 0x0
> +					0xb0000000 0x0 0x04000000
> +				  0x02000000 0x0 0x80000000
> +					0x80000000 0x0 0x30000000>;
> +			bus-range = <0x0 0xff>;
> +			clock-frequency = <66000000>;
> +			interrupt-pci-iack = <0x0cb4>;
> +			interrupt-parent = <&PIC>;
> +			interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
> +			interrupt-map = <
> +				/* IDSEL 0x04 - PMC 1 */
> +				0x2000 0 0 1 &PIC 73
> +				0x2000 0 0 2 &PIC 74
> +				0x2000 0 0 3 &PIC 78
> +				0x2000 0 0 4 &PIC 72
> +
> +				/* IDSEL 0x05 - PMC 2 */
> +				0x2800 0 0 1 &PIC 74
> +				0x2800 0 0 2 &PIC 78
> +				0x2800 0 0 3 &PIC 72
> +				0x2800 0 0 4 &PIC 73
> +
> +				/* IDSEL 0x06 - T8110 */
> +				0x3000 0 0 1 &PIC 78
> +
> +				/* IDSEL 0x08 - i82544 */
> +				0x4000 0 0 1 &PIC 78
> +			>;
> +		};
> +
> +		pci@f8080000 { /* Required to acces Hotswap register */
> +			#address-cells = <3>;
> +			#size-cells = <2>;
> +			#interrupt-cells = <1>;
> +			device_type = "pci";
> +			compatible = "marvell,mv64360-pci";
> +			cell-index = <0>;
> +			reg = <0x0cf8 0x8>;
> +			ranges = <0x01000000 0x0 0x0
> +					0xf8080000 0x0 0x00010000
> +				  0x02000000 0x0 0xf8090000
> +					0xf8090000 0x0 0x00010000>;
> +			bus-range = <0x0 0xff>;

Two PCI bridges with identical bus-range values seems potentially
problematic...

> +		};

[snip]
> +	chosen {
> +		bootargs = "ip=on";

The dts file should not include a "bootargs" value.  The wrapper will
fill that in from the kernel config.

> +		linux,stdout-path = "/mv64x60@f8100000/mpsc@8000";
> +	};
> +};

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson

  reply	other threads:[~2008-01-14 23:34 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-01-14 22:51 [PATCH 1/4] powerpc: mv64x60 - Use early_* PCI accessors for hotswap reg Mark A. Greer
2008-01-14 22:58 ` [PATCH 2/4] powerpc: mv64x60 - Exit when no hs_reg_valid property Mark A. Greer
2008-01-14 22:59 ` [PATCH 3/4] powerpc: Katana750i - Add DTS file Mark A. Greer
2008-01-14 23:34   ` David Gibson [this message]
2008-01-15 19:08     ` Mark A. Greer
2008-01-16  0:22       ` David Gibson
2008-01-16 20:48         ` Mark A. Greer
2008-01-17  1:06           ` David Gibson
2008-01-17  2:28             ` Mark A. Greer
2008-01-16 22:04   ` [PATCH 3/4 v2] " Mark A. Greer
2008-01-14 23:00 ` [PATCH 4/4] powerpc: Katana750i - Add platform support Mark A. Greer
2008-01-14 23:33   ` Stephen Rothwell
2008-01-15 17:36     ` Mark A. Greer
2008-01-16 22:12   ` [PATCH 4/4 v2] " Mark A. Greer
2008-01-16 23:27     ` Stephen Rothwell
2008-01-17  0:35       ` Mark A. Greer
2008-01-17  1:58     ` David Gibson
2008-01-14 23:19 ` [PATCH 1/4] powerpc: mv64x60 - Use early_* PCI accessors for hotswap reg Stephen Rothwell
2008-01-15 17:20   ` Mark A. Greer
2008-01-14 23:21 ` Stephen Rothwell
2008-01-15 17:31   ` Mark A. Greer
2008-01-16 22:00 ` [PATCH 1/4 v2] " Mark A. Greer
2008-01-16 22:48 ` [PATCH 1/4] " Benjamin Herrenschmidt
2008-01-17  0:47   ` Mark A. Greer
2008-01-17  2:39     ` Benjamin Herrenschmidt

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=20080114233406.GB20649@localhost.localdomain \
    --to=david@gibson.dropbear.id.au \
    --cc=Linuxppc-dev@ozlabs.org \
    --cc=mgreer@mvista.com \
    /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 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).