efikamx: port the USB support to iomux-v3

* Move from the old iomux API to the new one.
* Correct the comment about the USB "violation" and attempt to explain
  why this even exists. If anyone has any questions on this I can walk
  them through the schematics if necessary.
* efika -> efikamx, any strings "Efika" to "Efika MX" for consistency.
* gpio_direction_output was being called a few times on a few GPIOs, so
  only ever set the direction once (in efikamx_setup_usb), and just
  gpio_set_value after that, also for consistency.

Built and booted on an Efika Smarttop and Smartbook for verification.

USB seems not to work correctly on Smartbook, but without this patch it has
the same behavior, and as far as we know it never worked on the Efika Smartbook
- so we have some bugs here that this patch makes NO attempt to fix.

I have verified all the IOMUX settings and code path is the same before and
after the patch, with the same effect on the hardware and logic levels on
the board as the old code. On Smarttop, only Ethernet (DR port) was tested,
and it worked fine. Further testing will be required on the USBH1 port.

A version of this patch got lost in a previous upstream attempt, so we're
submitting it to lay some groundwork to fixing the actual bugs here since it
is a) quite odd for efikamx.c to use iomux-mx51.h and efikamx-usb.c to use
iomux.h and b) it will make for a less clumsy patch later.

Signed-off-by: Matt Sealey <matt@genesi-usa.com>
Add U_BOOT_TIMESTAMP definition

Add a definition to the build system to encode a full, to-the-second
timestamp which can be used in the environment.

Signed-off-by: Matt Sealey <matt@genesi-usa.com>
efikamx: update configuration

This patch supplies a clean, readable and updated configuration for
Efika MX Smarttop and Smartbook systems.

Mainly this implements the "scan for boot.scr" bootcmd similar to the
one used in "Production" Efika MX U-Boot.

Other than that, it just cleans everything up, reorders things for
readability and adds lots of comments about the reasons for the way
some of the configuration is laid out. This configuration has been
tested in the lab on many, many example devices for about 6 months now,
keeping track of upstream, and we feel it is ready to go live as it
stands.

For developers wanting to use this instead of "Production" shipped
U-Boot, the following major differences will be noticed (this also
applies to people who used the previous upstream config);

* Boot Delay is now 1 second instead of 3, to reduce boot times.

* It will no longer support a gzip-compressed uImage - but this scenario
  is basically not used in real life anyway (all reasonable Efika MX
  kernels and support files were created with 'mkimage -C none ...')

* You cannot save your U-Boot environment with this config. Please
  use boot.scr to change anything that needs changing or in extreme
  cases you will need to rebuild U-Boot (but anyone reading this log
  is perfectly capable of that).

There are lots of other little tweaks which basically align it with
Production and disable features nobody ever used.

Signed-off-by: Matt Sealey <matt@genesi-usa.com>