Freescale Linux BSP review
arnd at arndb.de
Mon Dec 13 14:49:04 UTC 2010
On Monday 13 December 2010, Eric Miao wrote:
> However, not all of these changes are i.MX 51 or i.MX 53 based,
> $> git diff --dirstat v18.104.22.168.. arch/arm
> 10.2% arch/arm/configs/
> 5.6% arch/arm/mach-mx23/include/mach/
> 8.3% arch/arm/mach-mx23/
> 5.2% arch/arm/mach-mx25/
> 5.4% arch/arm/mach-mx28/include/mach/
> 11.4% arch/arm/mach-mx28/
> 5.6% arch/arm/mach-mx3/
> 21.3% arch/arm/mach-mx5/
> 10.7% arch/arm/plat-mxc/include/mach/
> 3.9% arch/arm/plat-mxc/sdma/iapi/
> 5.6% arch/arm/plat-mxc/
> 6.0% arch/arm/plat-mxs/
FWIW, I've split out the mach-mx23/mx28 and plat-mxs changes into another
branch now. The mach-mx25/mx3/mx5 changes could probably be split up
further as well, but that will be a bit harder because they all share
infrastructure in plat-mxc.
More importantly, I think the sdma stuff needs to be split out from
the rest, as this is likely more controversial. This will also be hard
to do, since there are a number of changesets that touch both
sdma and arch code.
> Excluding arch/arm/configs, which we need to sort out a bit for a more
> structural Kconfig scheme
> - the i.MX 5 related changes are basically:
> arch/arm/mach-mx5/ 53 files changed, 31554 insertions(+), 1221 deletions(-)
> arch/arm/plat-mxc/ 109 files changed, 26618 insertions(+), 381 deletions(-)
The plat-mxc changes are mostly, but not all i.MX5 specific. We need to
be careful there.
> - Of all the changes to arch/arm/mach-mx5 and arch/arm/plat-mxc, some
> are more significant, esp. the files below:
> arch/arm/mach-mx5/clock.c | 5098 ++
> arch/arm/mach-mx5/clock_mx50.c | 3435 ++
> arch/arm/plat-mxc/include/mach/pmic_audio.h | 2315 +
> arch/arm/plat-mxc/include/mach/pmic_convity.h | 873 +
> arch/arm/plat-mxc/include/mach/pmic_power.h | 1358 +
> arch/arm/plat-mxc/sdma/iapi/src/iapiHigh.c | 2750 +
> arch/arm/plat-mxc/sdma/sdma.c | 1551 +
> However, the changes above are mostly trivial definitions.
SDMA as a whole is interesting. It would be worthwhile to find
out how it fits in with the rest of the drivers and architecture,
and what it would take to bring this upstream.
> - The change to generic ARM architecture code is actually not much,
> excluding those SoC specific, here's the summary:
> arch/arm/Kconfig | 39 +-
> arch/arm/Makefile | 3 +
> arch/arm/boot/compressed/Makefile | 1 +
> arch/arm/boot/compressed/head.S | 53 +
> arch/arm/kernel/head.S | 31 +-
> arch/arm/kernel/setup.c | 10 +-
> arch/arm/mm/cache-l2x0.c | 34 +
> arch/arm/mm/proc-v6.S | 16 +
> arch/arm/tools/mach-types | 161 +-
> The changes to above are relatively trivial, including an early patch of
> dynamic PHYS_OFFSET offset (not yet merged in mainline), Catalin's patch
> of partial low interrupt latency mode for ARM1136, enabling/disabling of
> L2 cache, and the change to mach-types as always.
I think all of these changes are upstream in one way or another.
> And some of the drivers have two versions, one FSL version and one
> mainline version, we need to figure out and fill the gaps.
Good point, I had not realized this.
More information about the linaro-dev