zynq: Add support for SDHCI devices

This commit is contained in:
Kinsey Moore
2020-12-21 15:26:18 -06:00
committed by Joel Sherrill
parent 0ad342ae5f
commit 68e79b6d18
4 changed files with 375 additions and 0 deletions

View File

@@ -97,8 +97,11 @@ RTEMS_BSD_DRIVER_FEC;
#include <bsp/irq.h>
RTEMS_BSD_DRIVER_XILINX_ZYNQ_SLCR;
RTEMS_BSD_DRIVER_XILINX_ZYNQ_SDHCI0;
RTEMS_BSD_DRIVER_XILINX_ZYNQ_SDHCI1;
RTEMS_BSD_DRIVER_XILINX_ZYNQ_CGEM0(ZYNQ_IRQ_ETHERNET_0);
RTEMS_BSD_DRIVER_E1000PHY;
RTEMS_BSD_DRIVER_MMC;
#elif defined(LIBBSP_AARCH64_XILINX_ZYNQMP_BSP_H)

View File

@@ -117,6 +117,35 @@ extern "C" {
&zy7_slcr_res[0])
#endif /* RTEMS_BSD_DRIVER_XILINX_ZYNQ_SLCR */
/*
* Xilinx Zynq Arasan SDIO Driver.
*/
#if !defined(RTEMS_BSD_DRIVER_XILINX_ZYNQ_SDHCI)
#define RTEMS_BSD_DRIVER_XILINX_ZYNQ_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_ZYNQ_SDHCI */
#if !defined(RTEMS_BSD_DRIVER_XILINX_ZYNQ_SDHCI0)
#define RTEMS_BSD_DRIVER_XILINX_ZYNQ_SDHCI0 \
RTEMS_BSD_DRIVER_XILINX_ZYNQ_SDHCI(0, 0xE0100000, 56)
#endif /* RTEMS_BSD_DRIVER_XILINX_ZYNQ_SDHCI0 */
#if !defined(RTEMS_BSD_DRIVER_XILINX_ZYNQ_SDHCI1)
#define RTEMS_BSD_DRIVER_XILINX_ZYNQ_SDHCI1 \
RTEMS_BSD_DRIVER_XILINX_ZYNQ_SDHCI(1, 0xE0101000, 79)
#endif /* RTEMS_BSD_DRIVER_XILINX_ZYNQ_SDHCI1 */
/*
* LPC32XX Power Control (PWR).
*/