Tony Lindgren wrote on Saturday, November 06, 2010 2:30 AM:

> * Pedanekar, Hemant <hema...@ti.com> [101022 10:58]:
>> Tony Lindgren wrote on Friday, September 17, 2010 3:55 AM:
>> 
>>> * Hemant Pedanekar <hema...@ti.com> [100811 10:03]:
>>>> This patch updates the common machine spcific source files with support
>>>> for TI816X. 
>>>> 
>>>> Note that the nr_irqs is overridden in INTC driver since the number of
>>>> IRQs on TI816X are different (128) comapared to other OMAPs (96).
>>> 
>>> <snip>
>>> 
>>>> --- a/arch/arm/mach-omap2/id.c
>>>> +++ b/arch/arm/mach-omap2/id.c
>>>> @@ -419,6 +441,9 @@ void __init omap2_check_revision(void)
>>>>    } else if (cpu_is_omap44xx()) {
>>>>            omap4_check_revision();
>>>>            return;
>>>> +  } else if (cpu_is_ti816x()) {
>>>> +          ti816x_check_revision();
>>>> +          return;
>>>>    } else {
>>>>            pr_err("OMAP revision unknown, please fix!\n");
>>>>    }
>>> 
>>> This does not look right, at this point you should just know
>>> the processor class set by the set_globals call.
>>> 
>>> Please take a look at plat-omap/common.c and add an entry for
>>> omap2_set_globals_ti816x. This gets called very early from the board-*.c
>>> file, so you can initialize things.
>> 
>> Tony,
>> 
>> Do you mean following changes in the patch I sent earlier?
> 
> No, I'm mostly wondering how come you can't use cpu_is_omap34xx
> for ti816x and then detect based on the values set in
> omap2_set_globals. Then cpu_is_ti816x just becomes a set of features.
> 
> In general, we should initialize more things in set_globals
> if necessary rather than sprinkle cpu_is_omap tests all over
> the place to add support for new omaps.
> 

Tony,

Though based on Cortex A8, TI816X series has differences in PRCM, PLL, clock
structure compared to OMAP3.

Many of the OMAP3 specific checks are not applicable for TI816X. For example, 
consider following:
File - arch/arm/mach-omap2/omap_hwmod.c 
Function - _wait_target_ready()

        if (cpu_is_omap24xx() || cpu_is_omap34xx()) {
                ret = omap2_cm_wait_module_ready(oh->prcm.omap2.module_offs,
                                oh->prcm.omap2.idlest_reg_id,
                                oh->prcm.omap2.idlest_idle_bit);

The above code inside cpu_is_omap34xx() check is not applicable for TI816X as
there are no CM_IDELST registers.

Thanks
-
Hemant--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to