Xilinx EDK BSP generation of device trees for microblaze and PowerPC

Stephen Neuendorffer stephen.neuendorffer at xilinx.com
Tue Nov 27 08:44:02 EST 2007


 
I've pushed the current state up to
git://git.xilinx.com/gen-mhs-devtree.git for your perusing.  Comments
below.

> -----Original Message-----
> From: glikely at secretlab.ca [mailto:glikely at secretlab.ca] On 
> Behalf Of Grant Likely
> Sent: Sunday, November 25, 2007 2:47 PM
> To: Stephen Neuendorffer; Segher Boessenkool; David Gibson; 
> Jon Loeliger
> Cc: microblaze-uclinux at itee.uq.edu.au; 
> linuxppc-dev at ozlabs.org; Michal Simek; git
> Subject: Re: Xilinx EDK BSP generation of device trees for 
> microblaze and PowerPC
> 
> On 11/24/07, Stephen Neuendorffer 
> <stephen.neuendorffer at xilinx.com> wrote:
> >
> 
> Thanks for all this work; comments below.
> 
> >
> > Here's what I've gotten so far:
> >
> >                  Hard_Ethernet_MAC: xps-ll-temac at 81c00000 {
> >                          #address-cells = <1>;
> >                          #size-cells = <1>;
> >                          network at 81c00000 {
> >                                  compatible = 
> "xlnx,xps-ll-temac-1.00.a",
> > "xlnx,xps-ll-temac";
> 
> Drop "xlnx,xps-ll-temac"; it's 100% made up.  This should be simply:
>       compatible = "xlnx,xps-ll-temac-1.00.a" for version 1.00.a and
>       compatible =
> "xlnx,xps-ll-temac-<version>","xlnx,xps-ll-temac-1.00.a" for a future
> version if it maintains register level compatibility.
> 
> "xlnx,xps-ll-temac" is far to ambiguous.

What if it was: compatible = "xlnx,xps-ll-temac-1.00.a",
"xlnx,xps-ll-temac-1"?

Basically, I don't want to be responsible for declaring what versions of
IP are backward compatible with ll-temac-1.00.a, and I think it's bad
software design to put that list into the dts generator anyway.  In
theory, at least, all ip with the same major version should be
compatible.

> >                                  interrupt-parent = <&xps_intc_0>;
> >                                  interrupts = < 3 0 >;
> >                                  llink-connected = <&PIM3>;
> 
> What's this property for?

So that the ll_temac knows whether to use dma or fifo code and where the
dma or fifo control/interrupts are.

> 
> >                                  reg = < 81c00000 40 >;
> 
> If these registers are addressable, then the parent needs a 
> 'ranges' property.

I thought ranges weren't necessary in a 1:1 mapping?

> >                                  xlnx,bus2core-clk-ratio = <1>;
> >                                  xlnx,phy-type = <1>;
> >                                  xlnx,phyaddr = <1>;
> >                                  xlnx,rxcsum = <0>;
> >                                  xlnx,rxfifo = <1000>;
> >                                  xlnx,temac-type = <0>;
> >                                  xlnx,txcsum = <0>;
> >                                  xlnx,txfifo = <1000>;
> 
> Would be nice to have a 'phy-handle' property as that is what is being
> used on other platforms; but that's not something that EDK knows
> about.  It would be nice to have a way to tell EDK what PHY device is
> on the board so it could generate the appropriate mdio and phy nodes.

Yeah, this is going to be a big issue, I think...




More information about the Linuxppc-dev mailing list