AnsweredAssumed Answered

3.10.53 kernel booting problem

Question asked by srinivasaporam on Dec 19, 2015
Latest reply on May 19, 2017 by Vatsal Patel

Hi,

We have got IMX6 Reference board (Wandboard)  as well as Custom board which is designed based on reference board.  the modifications from reference board to custom board are as follows:

 

1.  Reference Board is IMx6Q processor ---- custom board is IMX6D (Dual)    [Note : Not Duallite (DL)]

 

2. Reference Board DDR3 (2GB ) ---- Custom Board (LPDDR2 ) 512 MB

 

3. Reference Board 528 MHz DDR3 -- Custom Board LPDDR2 (400 MHz)

 

 

When we compiled linux-3.10.53 Reference board is booting successfully where as custom board is stopping at "Starting Kernel"

 

So we thought of keeping 'printk' statements in kernel and find out where is it getting stucked. So, finally we came know that  'time_init()' function in init/main.c is not getting executed.

 

after going deeper we came to know that 'of_clk_init()' in /drivers/clk/clk.c is not being executed:

 

of_clk_init function is calling another function (clk_init_cb(np)) which is not defined anywhere (We searched through grep as well as cscope)

 

 

of_clk_init (/drivers/clk/clk.c) is as follows:

 

/************************************************************************************/

 

void __init of_clk_init(const struct of_device_id *matches)

{

   

       

        const struct of_device_id *match;

    struct device_node *np;

 

    if (!matches)

        {

       

             matches = __clk_of_table;

        }

 

    for_each_matching_node_and_match(np, matches, &match) {

              

        of_clk_init_cb_t clk_init_cb = match->data;

              

       clk_init_cb(np);

               

    }

}

 

can anybody help us in reoving this issue and make our board boot.

Outcomes