diff options
author | Stephen Clark <stephen.clark@oarcorp.com> | 2021-07-12 11:41:52 -0500 |
---|---|---|
committer | Joel Sherrill <joel@rtems.org> | 2021-07-15 11:29:09 -0500 |
commit | c41318075ee34ca1891dc7df8a3ea09142b50bf9 (patch) | |
tree | 8f05726da2a7b0d835cd76b15f1155792c4af8b0 | |
parent | rtemsbsd: Present all ZynqMP interfaces by default (diff) | |
download | rtems-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.h | 4 | ||||
-rw-r--r-- | rtemsbsd/include/machine/rtems-bsd-nexus-bus.h | 29 |
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) |