On Tue, Dec 08, 2009 at 01:53:41PM +0000, vinayak.k...@gmail.com wrote: > Hi > > I have following queries about DTS parsing and kernel bus support. I > would really appreciate any help. > > I have a PowerPC 440 core based board. We are porting Linux kernel – 2.6.31. > > 1) For other PowerPC 4xx based boards, what we found is devices like > UART/I2C/GPIO are connected through PLB->OPB buses. Accordingly we > specify the node structure inside a dts file. Does kernel uses the actual > path to locate a node eg /plb/opb/i2c? or it uses the compatible property > to locate a node?
It calls "of_platform_bus_probe" very early with a list of buses to walk to create the of_platform devices. Then the device drivers will use the compatible properties to bind to the right of_platform devices. If the bus isn't walked, then those devices won't get created in the kernel. See the beginning portions of arch/powerpc/platforms/44x/ppc44x_simple.c. > 2)In case of our board, instead of OPB and EBC we have buses like AI and > APB. So our DTS node struct for UART looks like /plb/ai/apb/serial. For > this do we need to add any extra support in kernel in order to recognize > the devices on AI and APB buses? Similar question for Flash device. It's > on the path /plb/ai/flash. You would need to clearly have the AI and APB buses in the DTS file, and then have them walked via of_platform_bus_probe. If they are simple busses without odd translations, it shouldn't be too hard to do. > I need to access UART/I2C/GPIO/Flash devices over AI and APB bus. PLB is > connected to AI bus. AI is further connected to APB. > > 3) Do we need to add extra support for AI/APB bus in kernel? Not sure. I don't know how those busses operate. josh _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev