questions about mpc82xx_ads and porting to other, similar, platform

Alexandros Kostopoulos akostop at inaccessnetworks.com
Fri Jul 13 18:51:15 EST 2007


Hello all,

I am trying to port kernel 2.6.22.1 to my own platform, which incorporates  
an mpc8275 chip. I'm using platform code for mpc82xx_ads as a template (is  
this right in the first place?). I have a couple of questions:

1. mpc82xx_ads.c uses init_scc_ioports function to initialize the scc  
uarts. However, this function is only used by the code in
arch/powerpc/sysdev/fsl_soc.c, and spefically in fs_enet_of_init(), which  
is used to initialize the ethernet driver and not the cpm_uart driver.
On the other hand, cpm_uart_of_init() function seems to be the one that  
initializes the uarts in cpm, and actually makes use of the device-id,  
model, rx-clock and tx-clock properties of the scc nodes in OF tree. So,  
AFAICT, init_scc_ioports should not be there, since it won't be actually  
called at all (although I have not actually tested this - I haven't yet  
managed to boot the kernel). Instead, cpm_uart_of_init should take care of  
everything, except for the pport initialization, which is done in u-boot  
anyway (at least in my case). Any thoughts on this?

2. I have also some questions regarding the device tree. Why are there two  
nodes regarding the interrupt controller in there? and in the top level  
node, what does this property means:  reg = <f8200000 f8200004>; ?
Finally, in the memory node, the reg property defines a second mem region,  
(f4500000 f4500020). What is this? maybe a special memory mapped  
peripheral of this board? If I have a board with many mem configurations  
(e.g. it uses a DIMM SDRAM what can be changed), what value should I place  
in the mem node? I have to change dts every time I insert a new DIMM?

any help would be greatly appreciated,

thank you in advance

Alex



More information about the Linuxppc-dev mailing list