diff --git a/repos/os/lib/mk/spec/nit6_solox/sd_card_drv.mk b/repos/os/lib/mk/spec/nit6_solox/sd_card_drv.mk
new file mode 100644
index 0000000000..79851b369f
--- /dev/null
+++ b/repos/os/lib/mk/spec/nit6_solox/sd_card_drv.mk
@@ -0,0 +1,6 @@
+SRC_CC += adma2.cc spec/imx/driver.cc spec/imx6/driver.cc spec/nit6_solox/driver.cc
+LIBS += base
+
+vpath %.cc $(REP_DIR)/src/drivers/sd_card
+
+include $(REP_DIR)/lib/import/import-sd_card_drv.mk
diff --git a/repos/os/run/sd_card.run b/repos/os/run/sd_card.run
index ce8b3ed764..c1ade23d26 100644
--- a/repos/os/run/sd_card.run
+++ b/repos/os/run/sd_card.run
@@ -33,7 +33,8 @@ set config {
- }
+
+ }
append_if [expr [have_spec arndale] || [have_spec rpi]] config {
diff --git a/repos/os/src/drivers/sd_card/spec/imx6/driver.cc b/repos/os/src/drivers/sd_card/spec/imx6/driver.cc
index 5a976e002c..c75b078c6c 100644
--- a/repos/os/src/drivers/sd_card/spec/imx6/driver.cc
+++ b/repos/os/src/drivers/sd_card/spec/imx6/driver.cc
@@ -64,10 +64,13 @@ bool Driver::_issue_cmd_finish_xfertyp(Xfertyp::access_t &,
}
-bool Driver::_supported_host_version(Hostver::access_t hostver)
+bool Driver::_supported_host_version(Hostver::access_t)
{
- return Hostver::Vvn::get(hostver) == 0 &&
- Hostver::Svn::get(hostver) == 3;
+ /*
+ * on i.MX6 there exist board-specific (tested) drivers only,
+ * therefore we do not need to differentiate in between controller versions
+ */
+ return true;
}
diff --git a/repos/os/src/drivers/sd_card/spec/nit6_solox/driver.cc b/repos/os/src/drivers/sd_card/spec/nit6_solox/driver.cc
new file mode 100644
index 0000000000..222d6a2624
--- /dev/null
+++ b/repos/os/src/drivers/sd_card/spec/nit6_solox/driver.cc
@@ -0,0 +1,29 @@
+/*
+ * \brief Secured Digital Host Controller
+ * \author Stefan Kalkowski
+ * \date 2019-02-19
+ */
+
+/*
+ * Copyright (C) 2019 Genode Labs GmbH
+ *
+ * This file is part of the Genode OS framework, which is distributed
+ * under the terms of the GNU Affero General Public License version 3.
+ */
+
+/* local includes */
+#include
+#include
+
+using namespace Sd_card;
+using namespace Genode;
+
+Driver::Driver(Env &env)
+:
+ Driver_base(env.ram()),
+ Attached_mmio(env, Imx6::SDHC_2_MMIO_BASE, Imx6::SDHC_2_MMIO_SIZE),
+ _env(env), _irq(env, Imx6::SDHC_2_IRQ)
+{
+ log("SD card detected");
+ log("capacity: ", card_info().capacity_mb(), " MiB");
+}