opnsense-src/sys/dev/mmc
Ruslan Bukin 253c83058d mmc: SPI-mode support for SD cards.
Introduce SPI-mode support which allows an SD card to communicate with a
host system using SPI protocol, as described in the SD Card Specification.

This feature is useful for low-end, FPGA or RISC-V research systems when a
SoC is limited in terms of peripherals available (e.g. lack of a dedicated
MMC controller in hardware). Examples of such systems include Codasip,
lowRISC and CVA6.

Project timeline:
2007: Warner first discussed SPI operational mode in his MMC presentation:
      https://people.freebsd.org/~imp/bsdcan2007.pdf
2012: Patrick Kelsey engineered the support.
2025: Ruslan cleaned up, tested on Codasip X730 platform (RISC-V FPGA)
      and put the patch to review.
2025: Patrick Kelsey reviewed the patch and aligned with the current MMC
      code.

Reviewed by:	pkelsey
Sponsored by:	UKRI
Differential Revision:	https://reviews.freebsd.org/D49248
2025-04-09 12:21:05 +01:00
..
host Disable HS200 on rockchip_dwmmc in attach 2025-03-18 13:01:21 -04:00
bridge.h mmc: support for SPI bus type 2025-04-09 12:20:54 +01:00
mmc.c mmc: support for SPI bus type 2025-04-09 12:20:54 +01:00
mmc_fdt_helpers.c mmc: Use bus_topo_lock and taskqueue_bus while adding/removing child devices 2025-03-10 13:32:53 -04:00
mmc_fdt_helpers.h regulator: Move regulator code in dev/regulator 2024-01-10 19:20:32 +01:00
mmc_helpers.c sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
mmc_helpers.h regulator: Move regulator code in dev/regulator 2024-01-10 19:20:32 +01:00
mmc_ioctl.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
mmc_private.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
mmc_pwrseq.c clk: Move clock code in dev/clk 2024-01-10 19:20:26 +01:00
mmc_pwrseq_if.m sys: Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:54:58 -06:00
mmc_subr.c mmc: support for SPI bus type 2025-04-09 12:20:54 +01:00
mmc_subr.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
mmcbr_if.m sys: Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:54:58 -06:00
mmcbrvar.h mmc: support for SPI bus type 2025-04-09 12:20:54 +01:00
mmcbus_if.m sys: Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:54:58 -06:00
mmcreg.h mmc: support for SPI bus type 2025-04-09 12:20:54 +01:00
mmcsd.c geom_flashmap: Rename the kernel module 2024-10-29 15:11:12 +00:00
mmcspi.c mmc: SPI-mode support for SD cards. 2025-04-09 12:21:05 +01:00
mmcvar.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00