[U-Boot] i.MX6 Solo and Dual Lite
Eric Nelson
eric.nelson at boundarydevices.com
Wed Jan 16 23:33:37 CET 2013
Hi all,
We're preparing to launch i.MX6 Solo/Dual-Lite and Dual versions of
our Nitrogen6X product line.
We made a couple of stabs at patches to support these processor
variants in September and October last year.
The first attempt added run-time detection using i.MX plugins:
http://lists.denx.de/pipermail/u-boot/2012-September/#134442
It was soundly rejected.
The second attempt added preprocessor support to imximage in order
to allow a single board definition file to be compiled for each
processor variant.
http://lists.denx.de/pipermail/u-boot/2012-September/#134442
We think the approach was generally agreed to based on this comment
from Tom:
http://lists.denx.de/pipermail/u-boot/2012-October/137611.html
And a follow-up patch from Troy:
http://lists.denx.de/pipermail/u-boot/2012-October/138162.html
But things seemed to stall here:
http://lists.denx.de/pipermail/u-boot/2012-November/139918.html
Troy submitted a number of other patches, including some fixes to the
DDR initialization, but they were all made based on a 'preprocessorized'
version of mx6q_4x_mt41j128.cfg.
Troy and I also had some discussion surrounding **how** the preprocessor
was used to define the differences between processors:
http://lists.denx.de/pipermail/u-boot/2012-October/136751.html
In a nutshell, the current patch set uses a set of preprocessor macros
to configure things for each. For example, this macro call in the file
mx6q_4x_mt41j128.cfg will write either 0x48254A36 (Quad or Dual)
or 0x3F3F3035 (Dual-Lite/Solo) to register MMDC_P1_MPWRDLCTL:
WRITE_ENTRY2(MMDC_P1_MPWRDLCTL, 0x48254A36, 0x3F3F3035)
Nobody else seemed to comment on this, and it seems pretty critical.
Can we get some feedback before we prepare V2/V3 patches?
Our expectation is that we'll submit patches for each of the
following configurations of Nitrogen6X:
nitrogen6q - Dual/Quad 1GB
nitrogen6q2g - Dual/Quad 2GB
nitrogen6solo - Solo 512MB
nitrogen6duallite - Dual Lite 512MB
nitrogen6solo1G - Solo 1GB
nitrogen6duallite1G - Dual Lite 1GB
Our hope is that we can do this with essentially one code
base but a separate .cfg file or #ifdefs for each.
A single include/config/nitrogen6x.h with #ifdefs should
allow us to exclude those features (e.g. SATA) on the
Solo and Dual-Lite.
Please advise,
Eric
More information about the U-Boot
mailing list