arm: imx: Add support for Advantech DMS-BA16 board

Add support for Advantech DMS-BA16 board. The board is based on Advantech
BA16 module which has a i.MX6D processor. The board supports:
 - FEC Ethernet
 - USB Ports
 - SDHC and MMC boot
 - SPI NOR
 - LVDS and HDMI display

Basic information about the module:
 - Module manufacturer: Advantech
 - CPU: Freescale ARM Cortex-A9 i.MX6D
 - SPECS:
     Up to 2GB Onboard DDR3 Memory;
     Up to 16GB Onboard eMMC NAND Flash
     Supports OpenGL ES 2.0 and OpenVG 1.1
     HDMI, 24-bit LVDS
     1x UART, 2x I2C, 8x GPIO,
     4x Host USB 2.0 port, 1x USB OTG port,
     1x micro SD (SDHC),1x SDIO, 1x SATA II,
     1x 10/100/1000 Mbps Ethernet, 1x PCIe X1 Gen2

Signed-off-by: Akshay Bhat <akshay.bhat@timesys.com>
Cc: u-boot@lists.denx.de
Cc: sbabic@denx.de
diff --git a/board/advantech/dms-ba16/micron-1g.cfg b/board/advantech/dms-ba16/micron-1g.cfg
new file mode 100644
index 0000000..8cfefe2
--- /dev/null
+++ b/board/advantech/dms-ba16/micron-1g.cfg
@@ -0,0 +1,63 @@
+/* Calibrations */
+/* ZQ */
+DATA 4, MX6_MMDC_P0_MPZQHWCTRL,  0xa1390003
+/* write leveling */
+DATA 4, MX6_MMDC_P0_MPWLDECTRL0, 0x001F001F
+DATA 4, MX6_MMDC_P0_MPWLDECTRL1, 0x001F001F
+DATA 4, MX6_MMDC_P1_MPWLDECTRL0, 0x001F001F
+DATA 4, MX6_MMDC_P1_MPWLDECTRL1, 0x001F001F
+/* Read DQS Gating calibration */
+DATA 4, MX6_MMDC_P0_MPDGCTRL0,   0x43480350
+DATA 4, MX6_MMDC_P0_MPDGCTRL1,   0x033C0340
+DATA 4, MX6_MMDC_P1_MPDGCTRL0,   0x43480350
+DATA 4, MX6_MMDC_P1_MPDGCTRL1,   0x03340314
+/* Read calibration */
+DATA 4, MX6_MMDC_P0_MPRDDLCTL,   0x382E2C32
+DATA 4, MX6_MMDC_P1_MPRDDLCTL,   0x38363044
+/* Write calibration */
+DATA 4 MX6_MMDC_P0_MPWRDLCTL,    0x3A38403A
+DATA 4 MX6_MMDC_P1_MPWRDLCTL,    0x4432483E
+/* read data bit delay */
+DATA 4, MX6_MMDC_P0_MPRDDQBY0DL, 0x33333333
+DATA 4, MX6_MMDC_P0_MPRDDQBY1DL, 0x33333333
+DATA 4, MX6_MMDC_P0_MPRDDQBY2DL, 0x33333333
+DATA 4, MX6_MMDC_P0_MPRDDQBY3DL, 0x33333333
+DATA 4, MX6_MMDC_P1_MPRDDQBY0DL, 0x33333333
+DATA 4, MX6_MMDC_P1_MPRDDQBY1DL, 0x33333333
+DATA 4, MX6_MMDC_P1_MPRDDQBY2DL, 0x33333333
+DATA 4, MX6_MMDC_P1_MPRDDQBY3DL, 0x33333333
+
+/* Complete calibration by forced measurment */
+DATA 4, MX6_MMDC_P0_MPMUR0,	0x00000800
+DATA 4, MX6_MMDC_P1_MPMUR0,	0x00000800
+
+/* MMDC init */
+DATA 4, MX6_MMDC_P0_MDPDC,      0x00020036
+DATA 4, MX6_MMDC_P0_MDOTC,      0x09444040
+DATA 4, MX6_MMDC_P0_MDCFG0,     0x555A79A5
+DATA 4, MX6_MMDC_P0_MDCFG1,     0xDB538E64
+DATA 4, MX6_MMDC_P0_MDCFG2,     0x01ff00db
+DATA 4, MX6_MMDC_P0_MDMISC,     0x00001740
+DATA 4, MX6_MMDC_P0_MDSCR,      0x00008000
+DATA 4, MX6_MMDC_P0_MDRWD,      0x000026d2
+DATA 4, MX6_MMDC_P0_MDOR,       0x005a1023
+DATA 4, MX6_MMDC_P0_MDASP,      0x00000027
+DATA 4, MX6_MMDC_P0_MDCTL,      0x831a0000
+
+/* Initialize memory */
+DATA 4, MX6_MMDC_P0_MDSCR,      0x04088032
+DATA 4, MX6_MMDC_P0_MDSCR,      0x0408803a
+DATA 4, MX6_MMDC_P0_MDSCR,      0x00008033
+DATA 4, MX6_MMDC_P0_MDSCR,      0x0000803b
+DATA 4, MX6_MMDC_P0_MDSCR,      0x00048031
+DATA 4, MX6_MMDC_P0_MDSCR,      0x00048039
+DATA 4, MX6_MMDC_P0_MDSCR,      0x09408030
+DATA 4, MX6_MMDC_P0_MDSCR,      0x09408038
+DATA 4, MX6_MMDC_P0_MDSCR,      0x04008040
+DATA 4, MX6_MMDC_P0_MDSCR,      0x04008048
+DATA 4, MX6_MMDC_P0_MDREF,      0x00005800
+DATA 4, MX6_MMDC_P0_MPODTCTRL,  0x00033337
+DATA 4, MX6_MMDC_P1_MPODTCTRL,  0x00033337
+DATA 4, MX6_MMDC_P0_MDPDC,      0x00025576
+DATA 4, MX6_MMDC_P0_MAPSR,      0x00011006
+DATA 4, MX6_MMDC_P0_MDSCR,      0x00000000