[PATCH 2/5] Add RapidIO sector to MPC8641HPCN board dts file.

Zhang Wei-r63237 Wei.Zhang at freescale.com
Wed Jun 13 12:49:30 EST 2007


Hi, Phil,

> > +++ b/arch/powerpc/boot/dts/mpc8641_hpcn.dts
> > @@ -329,6 +329,19 @@
> >  				>;
> >  		};
> >  
> > +		srio at c0000 {
> > +			device_type = "rapidio";
> > +			compatible = "fsl,rapidio-v1.0";
> > +			#address-cells = <2>;
> > +			reg = <c0000 20000>;
> > +			ranges = <0 0 c0000000 20000000>;
> 
> Don't understand the range setup... The code uses c0000000 as 
> the start
> and 20000000 as the size for the rapidio law. So whats the 0 0 for? 
> At first I thought address-cells 2 means that the range numbers are
> pairs expressing 64-bit numbers, eg start 0 0, size c0000000 20000000
> but thats not right...
> 

RapidIO address width is 34bits, so we use <2> for #address-cells.
"0 0" is the RapidIO bus address, since the #address-cells is 2, it's
double zero. "c0000000" is the parent bus address, which is memory
address. "20000000" is the size.
So, they means mapping the address of memory 0xc0000000 to RapidIO bus
address 0x0 and the size is 0x20000000.

> Sorry if I'm asking stupid questions....
> 
> And thanks for the patch, just what I need.
> 
> BTW do you have any notes/documentation on the space 
> allocation routines
> intended use. I'm trying to work it out but I don't see any 
> actual users
> of it yet... I need something like it for my distributed DMA driver,
> hence the interest.

Sorry, there is no documentation now. But I'll post an example for using
them.

> 
> Cheers
> Phil
> 
> > +			interrupt-parent = <&mpic>;
> > +			/* err_irq bell_outb_irq bell_inb_irq
> > +						msg1_tx_irq msg1_rx_irq
> > +						msg2_tx_irq 
> msg2_rx_irq */
> > +			interrupts = <30 2 31 2 32 2 35 2 36 2 
> 37 2 38 2>;
> > +		};
> > +
> >  		mpic: pic at 40000 {
> >  			clock-frequency = <0>;
> >  			interrupt-controller;
> 
> 
> 



More information about the Linuxppc-dev mailing list