Subject: Re: [RFC PATCH 02/19] powerpc: gamecube: device tree

From: Albert Herranz <[email-masked]>
Date: Wed, 25 Nov 2009 19:43:28 +0100

Segher Boessenkool wrote:
>> +	memory {
>> +		device_type = "memory";
>> +		/* 24M minus framebuffer memory area (640*576*2*2) */
>> +		reg = <0x00000000 0x01698000>;
> 
> Put the whole 24MB here, probe the framebuffer address and size
> in the platform code?
> 

Yes, I'll do that.

>> +	soc {
>> +		#address-cells = <1>;
>> +		#size-cells = <1>;
>> +		#interrupt-cells = <1>;
> 
> This isn't an interrupt controller, don't put #interrupt-cells
> here.
> 

Isn't this needed to define what is to be expected in the "interrupts" properties of the child nodes?

>> +		video@0c002000 {
>> +			compatible = "nintendo,flipper-video";
>> +			reg = <0x0c002000 0x100>;
>> +			interrupts = <8>;
>> +			interrupt-parent = <&pic>;
>> +			/* XFB is the eXternal FrameBuffer */
>> +			xfb-start = <0x01698000>; /* end-of-ram - xfb-size */
>> +			xfb-size = <0x168000>;
> 
> XFB address isn't fixed on the hardware, and the kernel might
> want to move it, and you can easily probe for it anyway.  Remove
> these last two properties please.
> 

I'll clean that too. The location of the framebuffer will be a platform code decission, instead of a device tree "setting".

> 
>> +		auxram@0c005000 {
>> +			compatible = "nintendo,flipper-auxram";
>> +			reg = <0x0c005000 0x200>;	/* DSP */
>> +			interrupts = <6>;
>> +			interrupt-parent = <&pic>;
>> +		};
>> +
>> +		audio@0c005000 {
>> +			compatible = "nintendo,flipper-audio";
>> +			reg = <0x0c005000 0x200		/* DSP */
>> +			       0x0c006c00 0x20>;	/* AI */
>> +			interrupts = <6>;
>> +			interrupt-parent = <&pic>;
>> +		};
> 
> These two have the same address, not good.  Just remove the
> auxram node?
> 

The DSP and the ARAM control/status bits share some registers in the same block.

How should I match the aram block driver if I remove the auxram node?

>> +		disk@0c006000 {
>> +			compatible = "nintendo,flipper-disk";
> 
> I always thought optical discs are spelled with a "c", but
> people disagree a lot on this :-)
> 

The "disk" here comes from "Disk Interface" (DI) as described by Nintendo patents about the GameCube.
So I chose "k" here :)

> ...and all the applicable things I mentioned in my Wii dev tree
> reply, of course.
> 
> Wow, it wasn't as bad as I expected actually.  But you cheated,
> you omitted most devices from the device trees :-)
> 

You're welcome to add them too if you have information about them :)

Thanks again,
Albert