diff --git a/lib/mk/spec/zynq_parallella/sd_card_drv.mk b/lib/mk/spec/zynq_parallella/sd_card_drv.mk
new file mode 100644
index 0000000..e57f83e
--- /dev/null
+++ b/lib/mk/spec/zynq_parallella/sd_card_drv.mk
@@ -0,0 +1,13 @@
+# use Raspberry Pi SD card driver
+
+TMP := $(call select_from_repositories,src/drivers/sd_card/spec/rpi/driver.cc)
+OS_DIR := $(TMP:%src/drivers/sd_card/spec/rpi/driver.cc=%)
+
+INC_DIR += $(OS_DIR)/src/drivers/sd_card/spec/rpi
+SRC_CC += $(OS_DIR)/src/drivers/sd_card/spec/rpi/driver.cc
+
+INC_DIR += $(OS_DIR)/src/drivers/sd_card
+SRC_CC += main.cc
+LIBS += base
+
+vpath %.cc $(OS_DIR)/src/drivers/sd_card
diff --git a/src/drivers/sd_card/spec/zynq/main.cc b/src/drivers/sd_card/spec/zynq/main.cc
deleted file mode 100644
index 155a00d..0000000
--- a/src/drivers/sd_card/spec/zynq/main.cc
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * \brief SD-card driver for Zynq boards
- * \author Norman Feske
- * \authot Timo Wischer
- * \date 2014-09-21
- */
-
-/*
- * Copyright (C) 2014 Genode Labs GmbH
- *
- * This file is part of the Genode OS framework, which is distributed
- * under the terms of the GNU General Public License version 2.
- */
-
-/* Genode includes */
-#include
-#include
-
-/* local includes */
-#include
-
-
-struct Main
-{
- Server::Entrypoint &ep;
-
- struct Factory : Block::Driver_factory
- {
- Block::Driver *create() {
- return new (Genode::env()->heap()) Block::Sdhci_driver(false, true); }
-
- void destroy(Block::Driver *driver) {
- Genode::destroy(Genode::env()->heap(),
- static_cast(driver)); }
- } factory;
-
- Block::Root root;
-
- Main(Server::Entrypoint &ep)
- : ep(ep), root(ep, Genode::env()->heap(), factory)
- {
- Genode::log("--- SD card driver ---");
-
- Genode::env()->parent()->announce(ep.manage(root));
- }
-};
-
-
-/************
- ** Server **
- ************/
-
-namespace Server {
- char const *name() { return "sd_card_ep"; }
- size_t stack_size() { return 2*1024*sizeof(long); }
- void construct(Entrypoint &ep) { static Main server(ep); }
-}
-
diff --git a/src/drivers/sd_card/spec/zynq/target.mk b/src/drivers/sd_card/spec/zynq/target.mk
deleted file mode 100644
index f9fe337..0000000
--- a/src/drivers/sd_card/spec/zynq/target.mk
+++ /dev/null
@@ -1,7 +0,0 @@
-TARGET = sd_card_drv
-REQUIRES = zynq_sdhci
-SRC_CC = main.cc
-LIBS = base server
-INC_DIR += $(PRG_DIR)
-INC_DIR += $(REP_DIR)/../os/src/drivers/sd_card/
-INC_DIR += $(REP_DIR)/../os/src/drivers/sd_card/spec/rpi