Re: AM3505/3517 support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 05/07/11 07:19 AM, Tony Lindgren wrote:
> * Raphaël Assénat <raph@xxxxxx> [110704 12:51]:
>>
>> The am3505 is apparently so similar to the 3430 that it was treated as such 
>> (omap_chip.oc was being set to CHIP_IS_OMAP3430ES3_1). There are however a
>> few differences that need to be addressed. I have therefore created a new
>> CHIP_IS and patched clocks, hwmod and power management related files
>> consequently. My system now boots until it complains that it is unable 
>> to mount its root filesystem.
> 
> Can you please describe where you need CHIP_IS for am3505? It seems that
> your patches just enable the same CHIP_IS_OMAP3430 features for am3505 too?
Actually it's only needed for the 3505/3517 specific UART 4 which should
not be registered on real OMAP3430's. (see struct omap_hwmod 
am35xx_uart4_hwmod; in omap_hwmod_3xxx_data.c)

But there are also cases where OMAP3430 hwmods must not be registered
on AM35xx. For instance, omap3xxx_timer12_hwmod since timer12 does
not exist general purpose AM3505's.

> I'd rather see us improve the code so we can support am3505 properly without
> a need to patch all over the place..
Maybe instead of having one big array of hwmods registered for
all CPUs in omap_hwmod_3xxx_data we could have a separate
one for am35xx (and maybe, eventually others) such as:

static __initdata struct omap_hwmod *omap3xxx_hwmods[]
static __initdata struct omap_hwmod *am35xx_hwmods[]

...and maybe also a 'common' array.

The init function would then register the appropriate hwmod array(s). The only 
thing I don't like is that for this to work we would have to keep setting 
CHIP_IS_OMAP3430 even on AM35xx CPUs. But maybe we could change the behaviour of
omap_hwmod_register to trust the caller and accept the hwmods without looking 
at the omap_chip member. By doing this I think we could drop all the 
.omap_chip = OMAP_CHIP_INIT(...) instances.

Otherwise I think the current approach, despite the size of the initial patch,
has at least the benefit of being explicit and less confusing than (ab)using the
CHIP_IS from a different CPU.

Best regards,
Raphaël Assénat
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux