Notice: We have migrated to GitLab launching 2024-05-01 see here: https://gitlab.rtems.org/

Ticket #4762: 0001-rtemsbsd-versal-Add-SDHCI-Driver-support.patch

File 0001-rtemsbsd-versal-Add-SDHCI-Driver-support.patch, 3.2 KB (added by Aaron N, on 11/21/22 at 22:26:26)
  • rtemsbsd/include/bsp/nexus-devices.h

    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); 
    135135RTEMS_BSD_DRIVER_XILINX_VERSAL_CGEM1(VERSAL_IRQ_ETHERNET_1);
    136136RTEMS_BSD_DRIVER_UKPHY;
    137137
     138RTEMS_BSD_DRIVER_XILINX_VERSAL_SDHCI0;
     139RTEMS_BSD_DRIVER_XILINX_VERSAL_SDHCI1;
     140RTEMS_BSD_DRIVER_MMC;
     141
    138142#elif defined(LIBBSP_ARM_ATSAM_BSP_H)
    139143
    140144RTEMS_BSD_DRIVER_USB;
  • rtemsbsd/include/machine/rtems-bsd-nexus-bus.h

    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" { 
    217217    RTEMS_BSD_DRIVER_XILINX_ZYNQ_SDHCI(1, 0xE0101000, 79)
    218218#endif /* RTEMS_BSD_DRIVER_XILINX_ZYNQ_SDHCI1 */
    219219
     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
    220249/*
    221250 * LPC32XX Power Control (PWR).
    222251 */