summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Clark <stephen.clark@oarcorp.com>2021-07-12 11:41:52 -0500
committerJoel Sherrill <joel@rtems.org>2021-07-15 11:29:09 -0500
commitc41318075ee34ca1891dc7df8a3ea09142b50bf9 (patch)
tree8f05726da2a7b0d835cd76b15f1155792c4af8b0
parentrtemsbsd: Present all ZynqMP interfaces by default (diff)
downloadrtems-libbsd-c41318075ee34ca1891dc7df8a3ea09142b50bf9.tar.bz2
nexus: Added SDHCI driver to ZynqMP
Made ZynqMP build with the SDHCI driver.
-rw-r--r--rtemsbsd/include/bsp/nexus-devices.h4
-rw-r--r--rtemsbsd/include/machine/rtems-bsd-nexus-bus.h29
2 files changed, 33 insertions, 0 deletions
diff --git a/rtemsbsd/include/bsp/nexus-devices.h b/rtemsbsd/include/bsp/nexus-devices.h
index 9486083b..4f2b2c6e 100644
--- a/rtemsbsd/include/bsp/nexus-devices.h
+++ b/rtemsbsd/include/bsp/nexus-devices.h
@@ -122,6 +122,10 @@ RTEMS_BSD_DRIVER_XILINX_ZYNQMP_CGEM3(ZYNQMP_IRQ_ETHERNET_3);
RTEMS_BSD_DRIVER_E1000PHY;
RTEMS_BSD_DRIVER_UKPHY;
+RTEMS_BSD_DRIVER_XILINX_ZYNQMP_SDHCI0;
+RTEMS_BSD_DRIVER_XILINX_ZYNQMP_SDHCI1;
+RTEMS_BSD_DRIVER_MMC;
+
#elif defined(LIBBSP_ARM_ATSAM_BSP_H)
RTEMS_BSD_DRIVER_USB;
diff --git a/rtemsbsd/include/machine/rtems-bsd-nexus-bus.h b/rtemsbsd/include/machine/rtems-bsd-nexus-bus.h
index ccf8efa6..fd35a01d 100644
--- a/rtemsbsd/include/machine/rtems-bsd-nexus-bus.h
+++ b/rtemsbsd/include/machine/rtems-bsd-nexus-bus.h
@@ -140,6 +140,35 @@ extern "C" {
#endif /* RTEMS_BSD_DRIVER_XILINX_ZYNQMP_SLCR */
/*
+ * Xilinx ZynqMP Arasan SDIO Driver.
+ */
+#if !defined(RTEMS_BSD_DRIVER_XILINX_ZYNQMP_SDHCI)
+ #define RTEMS_BSD_DRIVER_XILINX_ZYNQMP_SDHCI(_num, _base, _irq) \
+ static const rtems_bsd_device_resource arasan_sdhci ## _num ## _res[] = { \
+ { \
+ .type = RTEMS_BSD_RES_MEMORY, \
+ .start_request = 0, \
+ .start_actual = (_base) \
+ }, { \
+ .type = RTEMS_BSD_RES_IRQ, \
+ .start_request = 0, \
+ .start_actual = (_irq) \
+ } \
+ }; \
+ RTEMS_BSD_DEFINE_NEXUS_DEVICE(arasan_sdhci, _num, \
+ RTEMS_ARRAY_SIZE(arasan_sdhci ## _num ## _res), \
+ &arasan_sdhci ## _num ## _res[0])
+#endif /* RTEMS_BSD_DRIVER_XILINX_ZYNQMP_SDHCI */
+#if !defined(RTEMS_BSD_DRIVER_XILINX_ZYNQMP_SDHCI0)
+ #define RTEMS_BSD_DRIVER_XILINX_ZYNQMP_SDHCI0 \
+ RTEMS_BSD_DRIVER_XILINX_ZYNQMP_SDHCI(0, 0xFF160000, 80)
+#endif /* RTEMS_BSD_DRIVER_XILINX_ZYNQMP_SDHCI0 */
+#if !defined(RTEMS_BSD_DRIVER_XILINX_ZYNQMP_SDHCI1)
+ #define RTEMS_BSD_DRIVER_XILINX_ZYNQMP_SDHCI1 \
+ RTEMS_BSD_DRIVER_XILINX_ZYNQMP_SDHCI(1, 0xFF170000, 81)
+#endif /* RTEMS_BSD_DRIVER_XILINX_ZYNQMP_SDHCI1 */
+
+/*
* Xilinx Zynq Arasan SDIO Driver.
*/
#if !defined(RTEMS_BSD_DRIVER_XILINX_ZYNQ_SDHCI)