I have a query about the following: u32 pin_func; pin_func = 0; /* not valid for 1550 */ #ifdef CONFIG_AU1X00_USB_DEVICE // 2nd USB port is USB device pin_func = au_readl(SYS_PINFUNC) & (u32)(~0x8000); au_writel(pin_func, SYS_PINFUNC); Now SYS_PINFUNC is defined as 0xB190002C the (u32)(~0x8000) means 0xB190002C & 0xFFFF1FFF right? Then the original value of SYS_PINFUNC remains unchanged..so what is the purpose of the above code? Thanks Ashlesha. On Wed, 2006-08-02 at 15:00 +0530, Mayuresh Chitale wrote: > Hi Ashlesha, > > The kernel starts from head.S. This present for each architechture. > E.g for mips there is arch/mips/kernel/head.S. There it does some very > low level init and jumps to start_kernel which is defined in > init/main.c. You can browse the code in start_kernel to understand how > system init is done. > > You could compare your new bsp with some existing bsp in the source > and see the code flow for that starting with start_kernel. Tracing the > same path for your bsp should work. > > Thanks, > Mayuresh. > > On 8/2/06, Ashlesha Shintre <ashlesha@xxxxxxxxxx> wrote: > > Hi Mayuresh, > > > > I was wondering if you could point me in the right direction with > > respect to writing the board support software for the Ampro EncoreM3 > > board. > > > > So far, I looked at the websites you suggested and got as far as > > configuring the kernel. I am still stuck with respect to the order of > > system initialisation in the 2.6 kernel. By my understanding in the 2.4 > > kernel, following is the order: > > > > 1) Setting up interrupt tables > > 2) Activating the Timer Interrupt > > 3) Initialising the console and memory data structures etc. > > > > I have available the 2.4 bsp code available, but do not understand, > > where the kernel starts-- is it the init.c file from the encm3 directory > > or is it the generic linux/init/init.c file? Neither have the main() > > function defined in them! > > > > I really appreciate your help, > > Thank you, > > > > Ashlesha. > > > >