libsdhcdrivers: Fix `mmc_nth_irq()` function

There was a bug in the `mmc_nth_irq()` i.e. the function would always
return IRQ number only if the given index is 0.

This was caused by calling sdhc_init() from sdio_init() with wrong
parameters i.e. passing pointer the array of irq numbers with an offset
of the initialized device index, and claiming that this array's size
is 1.

Currently entire irq array is exposed via `mmv_nth_irq()`.

Furthermore, there is a mismatch between indexing of SDHC peripherals
and the their enumeration.

To avoid confusion and misconfiguration, the i.MX6 SDHC1 enum element
is now set to 1.
diff --git a/libsdhcdrivers/plat_include/imx6/sdhc/plat/sdio.h b/libsdhcdrivers/plat_include/imx6/sdhc/plat/sdio.h
index 972fb1f..6d21dce 100644
--- a/libsdhcdrivers/plat_include/imx6/sdhc/plat/sdio.h
+++ b/libsdhcdrivers/plat_include/imx6/sdhc/plat/sdio.h
@@ -28,7 +28,7 @@
 #define SDHC4_IRQ   57
 
 enum sdio_id {
-    SDHC1,
+    SDHC1 = 1,
     SDHC2,
     SDHC3,
     SDHC4,
diff --git a/libsdhcdrivers/src/plat/exynos4/sdio.c b/libsdhcdrivers/src/plat/exynos4/sdio.c
index 106bdf1..eb93218 100644
--- a/libsdhcdrivers/src/plat/exynos4/sdio.c
+++ b/libsdhcdrivers/src/plat/exynos4/sdio.c
@@ -55,7 +55,7 @@
         return -1;
     }
 
-    ret = sdhc_init(iobase, &_sdhc_irq_table[id], 1, io_ops, dev);
+    ret = sdhc_init(iobase, _sdhc_irq_table, NSDHC, io_ops, dev);
     if (ret) {
         LOG_ERROR("Failed to initialise SDHC\n");
         return -1;
diff --git a/libsdhcdrivers/src/plat/imx6/sdio.c b/libsdhcdrivers/src/plat/imx6/sdio.c
index a5d1b2b..b958e47 100644
--- a/libsdhcdrivers/src/plat/imx6/sdio.c
+++ b/libsdhcdrivers/src/plat/imx6/sdio.c
@@ -51,7 +51,7 @@
         return -1;
     }
 
-    ret = sdhc_init(iobase, &_sdhc_irq_table[id], 1, io_ops, dev);
+    ret = sdhc_init(iobase, _sdhc_irq_table, NSDHC, io_ops, dev);
     if (ret) {
         LOG_ERROR("Failed to initialise SDHC\n");
         return -1;