[PATCH v6 00/15] ARM: mxs: Add initial support for MX23 andMX28

Shawn Guo shawn.guo at freescale.com
Tue Dec 14 03:31:10 EST 2010


On Mon, Dec 13, 2010 at 07:20:45AM -0700, Uwe Kleine-König wrote:
[...]
> 
> There are some things still on my list.  Most of them are only nitpicks,
> but there is at least one bigger issue left:
> 
>  - use virtual address in get_irqnr_preamble (comment by Lothar Waßmann)
>    (Does irq handling really works without that?)
No, it does not work without that. I just did not ran into the case,
as only the path of icoll_base will be hit when both mx23 and mx28 are
built in.

It reminded me that I should test single SoC build carefully.

>  - various namespace problems, at least:
>    - ICOLL_VBASE in arch/arm/mach-mxs/include/mach/entry-macro.S
>    - uart_base, UART in arch/arm/mach-mxs/include/mach/uncompress.h
OK

>    - clockevent_mxs, clockevent_mode in arch/arm/mach-mxs/timer.c
Since clockevent_mxs already has namespace "_mxs" in there, I have to
assume that you are asking something like mxs_clockevent_device and
mxs_clockevent_mode. Correct me if I'm wrong.


>  - on TIMROTv1 there is no HW_TIMROT_RUNNING_COUNTn register.  That's
>    called HW_TIMROT_TIMCOUNTn.
I'm reusing the offset definition here. But it seems you are asking
two definitions to avoid confusion.

>  - Typo in comment above timrot_is_v1: MX23 uses timers 0 and 1, too.
It's a typo, but partially. mx28 uses timrot 0 and 1, while mx23 uses
0 and 2. There are 4 registers for each timrot instance on mx28,
but only 2 on mx23. So address step 0x40 in HW_TIMROT_TIMCTRLn strides
one instance on mx28 while two instances on mx23. Confusion again,
adding more definitions, right?

>  - Would it make sense to detect the version of the TIMROT block by
>    reading the TIMROT_VERSION register instead of using cpu_is_mxXYZ?
Yes, we can do that, but we can not avoid using cpu_is_mxXYZ anyway,
as the offset of TIMROT_VERSION is different between mx23 and mx28.
If you really want to go this way, I can work it out for you to
have a look.

>  - IMHO you could better use MXS_CLKCTRL_RESET instead of the watchdog
>    in arch_reset.  You argued that this needs an cpu_is_mxXYZ, still I
>    think this would be preferable.  Alternatively you can use an
>    initcall that sets the address similar to how wdog_base is
>    initialized now.  (BTW, wdog_base is another item in the namespace
>    list above.)
OK

>  - Use clocksource_register_hz (recent comment by Russell King)
OK

Regards,
Shawn




More information about the linux-arm-kernel mailing list