libsdhcdrivers: Enable high capacity cards

High capacity cards require extra logic to be implement in order to be
supported.
diff --git a/libsdhcdrivers/src/mmc.c b/libsdhcdrivers/src/mmc.c
index 4cef6c1..861fb70 100644
--- a/libsdhcdrivers/src/mmc.c
+++ b/libsdhcdrivers/src/mmc.c
@@ -260,6 +260,15 @@
     host_send_command(card, &cmd, NULL, NULL);
     cmd.index = SD_SET_BUS_WIDTH;
     host_send_command(card, &cmd, NULL, NULL);
+
+    /* Set read/write block length for byte addressed standard capacity cards */
+    if (!card->high_capacity) {
+        cmd.index = MMC_SET_BLOCKLEN;
+        cmd.arg = mmc_block_size(card);
+        cmd.rsp_type = MMC_RSP_TYPE_R1;
+        ret = host_send_command(card, &cmd, NULL, NULL);
+    }
+
     return 0;
 }
 
@@ -425,7 +434,7 @@
     if (mmc_card->high_capacity) {
         arg = start;
     } else {
-        arg = start + bs;
+        arg = start * bs;
     }
     /* Allocate command structure */
     cmd = mmc_cmd_new(MMC_READ_SINGLE_BLOCK, arg, MMC_RSP_TYPE_R1);
@@ -472,7 +481,7 @@
     if (mmc_card->high_capacity) {
         arg = start;
     } else {
-        arg = start + bs;
+        arg = start * bs;
     }
     /* Allocate command structure */
     cmd = mmc_cmd_new(MMC_WRITE_BLOCK, arg, MMC_RSP_TYPE_R1);