I've just pushed support for generating device trees for the ppc440 in
V5FXT up to git.xilinx.com.

The most obvious difference is that the PPC440 block contains not only
the PPC440 core, but also an interconnect block, subsuming part of the
'multi-ported' functionality of the MPMC.  In order to have a relatively
straightforward mapping between blocks in the EDK design and nodes in
the dts, I've represented this as shown below.  Note that unlike the
MPMC, the dma ports are controlled through DCR (which is part of the
point of the recent dcr patches).  I've done some preliminary testing
using some hacked together platform support code and we'll update this
based on the 405 code soon.

Steve

/ {
        #address-cells = <1>;
        #size-cells = <1>;
        compatible = "xlnx,virtex";
        dcr-parent = <&ppc440_virtex5_0>;
        model = "testing";
        chosen {
                bootargs = "root=/dev/xsysace/disc0/part2";
        } ;
        cpus {
                #address-cells = <1>;
                #cpus = <1>;
                #size-cells = <0>;
                ppc440_virtex5_0: [EMAIL PROTECTED] {
                        #address-cells = <1>;
                        #size-cells = <1>;
                        clock-frequency = <17d78400>;
                        compatible = "PowerPC,440", "ibm,ppc440";
                        d-cache-line-size = <20>;
                        d-cache-line-size = <20>;
                        d-cache-size = <8000>;
                        dcr-access-method = "native";
                        dcr-controller ;
                        device_type = "cpu";
                        i-cache-line-size = <20>;
                        i-cache-size = <8000>;
                        model = "PowerPC,440";
                        reg = <0>;
                        timebase-frequency = <17d78400>;
                        DMA0: [EMAIL PROTECTED] {
                                compatible = "xlnx,ll-dma-1.00.a";
                                dcr-reg = < 1010000 11 >;
                                interrupt-parent = <&opb_intc_0>;
                                interrupts = < 5 2 6 2 >;
                        } ;
                        DMA1: [EMAIL PROTECTED] {
                                compatible = "xlnx,ll-dma-1.00.a";
                                dcr-reg = < 1010000 11 >;
                        } ;
                        DMA2: [EMAIL PROTECTED] {
                                compatible = "xlnx,ll-dma-1.00.a";
                                dcr-reg = < 1010000 11 >;
                        } ;
                        DMA3: [EMAIL PROTECTED] {
                                compatible = "xlnx,ll-dma-1.00.a";
                                dcr-reg = < 1010000 11 >;
                        } ;
                } ;
        } ;
        plb_v46_cfb_0: [EMAIL PROTECTED] {
                #address-cells = <1>;
                #size-cells = <1>;
                compatible = "xlnx,plb-v46-1.00.a";
                ranges ;
                iic_bus: [EMAIL PROTECTED] {
                        compatible = "xlnx,xps-iic-1.00.a";
                        interrupt-parent = <&opb_intc_0>;
                        interrupts = < 7 2 >;
                        reg = < d0020000 200 >;
                        xlnx,clk-freq = <5f5e100>;
                        xlnx,family = "virtex5";
                        xlnx,gpo-width = <1>;
                        xlnx,iic-freq = <186a0>;
                        xlnx,ten-bit-adr = <0>;
                } ;
                leds_8bit: [EMAIL PROTECTED] {
                        compatible = "xlnx,xps-gpio-1.00.a";
                        interrupt-parent = <&opb_intc_0>;
                        interrupts = < 1 2 >;
                        reg = < d0010200 200 >;
                        xlnx,all-inputs = <0>;
                        xlnx,all-inputs-2 = <0>;
                        xlnx,dout-default = <0>;
                        xlnx,dout-default-2 = <0>;
                        xlnx,family = "virtex5";
                        xlnx,gpio-width = <8>;
                        xlnx,interrupt-present = <1>;
                        xlnx,is-bidir = <1>;
                        xlnx,is-bidir-2 = <1>;
                        xlnx,is-dual = <0>;
                        xlnx,tri-default = <ffffffff>;
                        xlnx,tri-default-2 = <ffffffff>;
                } ;
                ll_temac_0: [EMAIL PROTECTED] {
                        #address-cells = <1>;
                        #size-cells = <1>;
                        compatible = "xlnx,compound";
                        [EMAIL PROTECTED] {
                                compatible = "xlnx,xps-ll-temac-1.00.b";
                                device_type = "network";
                                interrupt-parent = <&opb_intc_0>;
                                interrupts = < 4 2 >;
                                llink-connected = <&DMA0>;
                                local-mac-address = [ 00 00 00 00 00 00
];
                                reg = < 91200000 40 >;
                                xlnx,bus2core-clk-ratio = <1>;
                                xlnx,phy-type = <1>;
                                xlnx,phyaddr = <1>;
                                xlnx,rxcsum = <0>;
                                xlnx,rxfifo = <4000>;
                                xlnx,temac-type = <0>;
                                xlnx,txcsum = <0>;
                                xlnx,txfifo = <4000>;
                        } ;
                } ;
                opb_intc_0: [EMAIL PROTECTED] {
                        #interrupt-cells = <2>;
                        compatible = "xlnx,xps-intc-1.00.a";
                        interrupt-controller ;
                        reg = < d0020200 20 >;
                        xlnx,num-intr-inputs = <8>;
                } ;
                plb_bram_if_cntlr_0: [EMAIL PROTECTED] {
                        compatible = "xlnx,xps-bram-if-cntlr-1.00.a";
                        reg = < ffff0000 10000 >;
                        xlnx,family = "virtex5";
                } ;
                plb_bram_if_cntlr_1: [EMAIL PROTECTED] {
                        compatible = "xlnx,xps-bram-if-cntlr-1.00.a";
                        reg = < eee00000 2000 >;
                        xlnx,family = "virtex5";
                } ;
                rs232_uart_0: [EMAIL PROTECTED] {
                        clock-frequency = "";
                        compatible = "xlnx,xps-uart16550-1.00.a";
                        current-speed = <2580>;
                        device_type = "serial";
                        interrupt-parent = <&opb_intc_0>;
                        interrupts = < 0 2 >;
                        reg = < d0000000 2000 >;
                        reg-offset = <3>;
                        reg-shift = <2>;
                        xlnx,family = "virtex5";
                        xlnx,has-external-rclk = <0>;
                        xlnx,has-external-xin = <1>;
                        xlnx,is-a-16550 = <1>;
                } ;
                sysace_compactflash: [EMAIL PROTECTED] {
                        compatible = "xlnx,xps-sysace-1.00.a";
                        reg = < d0030100 80 >;
                        xlnx,family = "virtex5";
                        xlnx,mem-width = <10>;
                } ;
        } ;
        ppc440mc_ddr2_0: [EMAIL PROTECTED] {
                device_type = "memory";
                reg = < 0 20000000 >;
        } ;
}  ;

> -----Original Message-----
> From: John Linn
> Sent: Wednesday, April 02, 2008 8:24 AM
> To: Peter Korsgaard
> Cc: linuxppc-embedded@ozlabs.org; git
> Subject: RE: Virtex V5FX PPC 440 Support In Xilinx Git Tree
> 
> Hi Peter,
> 
> We added arch/ppc support because it was the easiest path for us.  We
realize it's going away soon in
> the mainline.
> 
> We are working on getting arch/powerpc more mature for both the 405
and the 440 as we do believe this
> is the future for powerpc.
> 
> Thanks,
> John
> 
> 
> 
> -----Original Message-----
> From: Peter Korsgaard [mailto:[EMAIL PROTECTED] On Behalf Of Peter
Korsgaard
> Sent: Wednesday, April 02, 2008 3:51 AM
> To: John Linn
> Cc: linuxppc-embedded@ozlabs.org; git
> Subject: Re: Virtex V5FX PPC 440 Support In Xilinx Git Tree
> 
> >>>>> "John" == John Linn <[EMAIL PROTECTED]> writes:
> 
>  John> I pushed PowerPC 440 support to the Xilinx Git server with
>  John> support for ppc arch and with powerpc arch support coming in
>  John> the near future.
> 
> Neat, but why have you added arch/ppc support? It's supposed to go
> away pretty much by the time the hardware gets in the hand of
> developers.
> 
> --
> Bye, Peter Korsgaard


_______________________________________________
Linuxppc-embedded mailing list
Linuxppc-embedded@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-embedded

Reply via email to