[U-Boot] [PATCH 07/11] MX6: use macro building for MX6Q/MX6DL iomux regs

Tim Harvey
2014-04-09T15:46:38Z

On Wed, Apr 9, 2014 at 7:57 AM, Nikita Kiryanov <nikita@compulab.co.il> wrote:
> Hi Tim,
>
>
> On 04/03/2014 09:01 AM, Tim Harvey wrote:
>>
>> This is an attempt at using a macro to allow mx6dl-ddr.h and
>> mx6q-ddr.h registers to be used together which is needed for an SPL
>> bootloader
>> that can run on either CPU's and must configure MMDC iomux dynamically.
>>
>> I am trying to come up with a solution similar to Eric's approach with the
>> similar issue regarding IMX pinmux but this approach is broken in that
>> imximage
>> will choke on the cfgtmp file due to the fact that the pre-processor won't
>> use the enum's as it did the #defines. I'm looking for some positive
>> suggestions here or perhaps someone else can come up with a solution for
>> this
>> particular issue which I haven't been able to resolve.
>
>
> Why can't you just rename the register name #defines without enclosing
> them in an anonymous enum? Then they could coexist and will be usable
> by imximage.
>
> --
> Regards,
> Nikita.

Nikita,

The cfg files are currently all written to use the IOMUX register
names as MX6_ (no Q vs DL) so that a single cfg file can be used for a
build-time configuration of IMX6Q or IMX6DL. Furthermore, then cfg
files use the pre-processor only, which is why the enums I chose don't
work for non-SPL. For SPL, I need both sets of #defines (here they
could be enums however) so I would have to duplicate all of the
#defines in mx6q_pins.h and mx6dl_pins.h to provide both the MX6_ and
the MX6Q_/MX6DL_ #defines. I'm ok with submitting that duplication if
there is no other way.

Am I missing something completely obvious here? Maybe an example of
what you are thinking would help me understand.

Regards,

Tim