Ticket #4762: 0001-rtemsbsd-versal-Add-SDHCI-Driver-support.patch
-
From 1881b891070b35ab230d53408b4999672df873d6 Mon Sep 17 00:00:00 2001
From: Aaron Nyholm <aaron.nyholm@southerninnovation.com>
Date: Tue, 22 Nov 2022 09:28:09 +1100
Subject: [PATCH] rtemsbsd/versal: Add SDHCI Driver support
Tested on VCK190
---
rtemsbsd/include/bsp/nexus-devices.h | 4 +++
.../include/machine/rtems-bsd-nexus-bus.h | 29 +++++++++++++++++++
2 files changed, 33 insertions(+)
diff --git a/rtemsbsd/include/bsp/nexus-devices.h b/rtemsbsd/include/bsp/nexus-devices.h
index 8be29a1c..ffaaccd4 100644
a
|
b
|
RTEMS_BSD_DRIVER_XILINX_VERSAL_CGEM0(VERSAL_IRQ_ETHERNET_0); |
135 | 135 | RTEMS_BSD_DRIVER_XILINX_VERSAL_CGEM1(VERSAL_IRQ_ETHERNET_1); |
136 | 136 | RTEMS_BSD_DRIVER_UKPHY; |
137 | 137 | |
| 138 | RTEMS_BSD_DRIVER_XILINX_VERSAL_SDHCI0; |
| 139 | RTEMS_BSD_DRIVER_XILINX_VERSAL_SDHCI1; |
| 140 | RTEMS_BSD_DRIVER_MMC; |
| 141 | |
138 | 142 | #elif defined(LIBBSP_ARM_ATSAM_BSP_H) |
139 | 143 | |
140 | 144 | 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 9e1e725a..2fa39234 100644
a
|
b
|
extern "C" { |
217 | 217 | RTEMS_BSD_DRIVER_XILINX_ZYNQ_SDHCI(1, 0xE0101000, 79) |
218 | 218 | #endif /* RTEMS_BSD_DRIVER_XILINX_ZYNQ_SDHCI1 */ |
219 | 219 | |
| 220 | /* |
| 221 | * Xilinx Versal Arasan SDIO Driver. |
| 222 | */ |
| 223 | #if !defined(RTEMS_BSD_DRIVER_XILINX_VERSAL_SDHCI) |
| 224 | #define RTEMS_BSD_DRIVER_XILINX_VERSAL_SDHCI(_num, _base, _irq) \ |
| 225 | static const rtems_bsd_device_resource arasan_sdhci ## _num ## _res[] = { \ |
| 226 | { \ |
| 227 | .type = RTEMS_BSD_RES_MEMORY, \ |
| 228 | .start_request = 0, \ |
| 229 | .start_actual = (_base) \ |
| 230 | }, { \ |
| 231 | .type = RTEMS_BSD_RES_IRQ, \ |
| 232 | .start_request = 0, \ |
| 233 | .start_actual = (_irq) \ |
| 234 | } \ |
| 235 | }; \ |
| 236 | RTEMS_BSD_DEFINE_NEXUS_DEVICE(arasan_sdhci, _num, \ |
| 237 | RTEMS_ARRAY_SIZE(arasan_sdhci ## _num ## _res), \ |
| 238 | &arasan_sdhci ## _num ## _res[0]) |
| 239 | #endif /* RTEMS_BSD_DRIVER_XILINX_VERSAL_SDHCI */ |
| 240 | #if !defined(RTEMS_BSD_DRIVER_XILINX_VERSAL_SDHCI0) |
| 241 | #define RTEMS_BSD_DRIVER_XILINX_VERSAL_SDHCI0 \ |
| 242 | RTEMS_BSD_DRIVER_XILINX_VERSAL_SDHCI(0, 0xF1040000, 158) |
| 243 | #endif /* RTEMS_BSD_DRIVER_XILINX_VERSAL_SDHCI0 */ |
| 244 | #if !defined(RTEMS_BSD_DRIVER_XILINX_VERSAL_SDHCI1) |
| 245 | #define RTEMS_BSD_DRIVER_XILINX_VERSAL_SDHCI1 \ |
| 246 | RTEMS_BSD_DRIVER_XILINX_VERSAL_SDHCI(1, 0xF1050000, 160) |
| 247 | #endif /* RTEMS_BSD_DRIVER_XILINX_VERSAL_SDHCI1 */ |
| 248 | |
220 | 249 | /* |
221 | 250 | * LPC32XX Power Control (PWR). |
222 | 251 | */ |
Download in other formats: