[PATCHv2 3/7] ARM: imx: add support code for IMX50 based machines
Greg Ungerer
gerg at uclinux.org
Sun Nov 3 19:11:00 EST 2013
Hi Shawn,
On 01/11/13 18:21, Shawn Guo wrote:
> On Fri, Nov 01, 2013 at 11:59:10AM +1000, Greg Ungerer wrote:
>> On 31/10/13 16:10, Shawn Guo wrote:
>>> On Tue, Oct 29, 2013 at 03:15:53PM +1000, gerg at uclinux.org wrote:
>>>> +DT_MACHINE_START(IMX50_DT, "Freescale i.MX50 (Device Tree Support)")
>>>> + .map_io = mx53_map_io,
>>>> + .init_early = imx53_init_early,
>>>> + .init_irq = mx53_init_irq,
>>>> + .handle_irq = imx53_handle_irq,
>>>> + .init_machine = imx50_dt_init,
>>>> + .init_late = imx53_init_late,
>>>> + .dt_compat = imx50_dt_board_compat,
>>>> + .restart = mxc_restart,
>>>> +MACHINE_END
>>>
>>> The imx53 is a platform that was converted from non-DT to DT. Some of
>>> these imx53 hooks may not even necessary for imx53 now, since imx53
>>> supports DT boot only today. So I do not prefer to reuse these imx53
>>> hooks on the brand new imx50 DT machine. I would suggest to maintain a
>>> mach-imx50.c and machine descriptor for imx50 with only the necessary
>>> hooks implemented as local functions inside mach-imx50.c. After imx53
>>> machine descriptor and hooks gets cleaned up, we can look at how we can
>>> consolidate these descriptors if they are pretty much in common.
>>
>> With the current support I could drop .init_early and .init_late
>> I believe. All the other mx53 functions are needed to successfully
>> boot.
>>
>> imx53_handle_irq is easy to fix, it is just defined to be
>> tzic_handle_irq anyway.
>>
>> mx53_map_io and mx53_init_irq are coded in mm-imx5.c. They look strait
>> forward. Do you want me to create imx50 specific versions in there?
>
> Oh, right. I overlooked the fact that the static mapping created in
> mx53_map_io() is still used by clock driver everywhere. It does not
> make too much sense to clean them up before imx51 gets converted to be
> DT only.
>
> Okay, I'm fine with reusing some of the imx53 hooks as required. But
> at least imx53_init_early() shouldn't be reused on imx50, because it
> sets cpu type specifically for imx53, and calls mxc_iomux_v3_init()
> which is not needed for imx50 (even for imx53 as well today).
Yep, that sounds right. I'll modify that patch and resend.
Thanks
Greg
More information about the linux-arm-kernel
mailing list