OPNsense - FreeBSD source
Find a file
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
.cirrus-ci Cirrus-CI: add some timing info on pkg install failure 2021-08-04 15:02:00 -04:00
.github Revert "WIP: Cross-build github action on for-main" 2025-04-08 11:59:48 +01:00
bin ps.1: Use ISO/IEC byte units 2025-03-28 13:59:00 -04:00
cddl libdtrace: Fix an off-by-one in CPU ID handling 2025-03-09 23:00:59 -04:00
contrib wpa: add support for CCMP-256/GMCP-256 2025-04-07 18:35:22 -07:00
crypto heimdal: Add missing symbols to map 2025-03-26 06:59:24 -07:00
etc bpf: avoid panic on multiple readers 2025-04-09 09:39:01 +02:00
gnu Remove residual blank line at start of Makefile 2024-07-15 16:43:39 -06:00
include Revert Make newly POSIX functions visible 2025-03-20 03:41:27 -04:00
kerberos5 kerberos5, libcom_err, others: append to LDFLAGS instead of replacing 2025-04-05 14:19:57 -07:00
lib libc/tests: getaddrinfo_test: use VNET jails for testing 2025-04-08 09:54:58 -07:00
libexec jail: Add meta and env parameters 2025-03-31 09:17:03 +00:00
release release/vm: finish fixing WITHOUT_QEMU 2025-04-07 02:25:57 +01:00
rescue nvmf: Switch several ioctls to using nvlists 2024-12-30 13:52:21 -05:00
sbin pfctl: fix no nat / no rdr rules 2025-04-09 10:18:20 +02:00
secure openssh: Request the OpenSSL 1.1 API 2025-03-27 00:19:14 +00:00
share gve: Add feature to change TX/RX ring size 2025-04-04 23:24:49 +00:00
stand boot: Always use ELF Tool Chain elfcopy for EFI builds 2025-03-23 18:17:03 -04:00
sys mmc: SPI-mode support for SD cards. 2025-04-09 12:21:05 +01:00
targets gvinum(8): Remove userland tool for managing vinum volumes 2025-01-23 11:20:43 -05:00
tests bpf: avoid panic on multiple readers 2025-04-09 09:39:01 +02:00
tools Revert "git-arc: Add stage -n to not change the branch" 2025-04-08 11:59:44 +01:00
usr.bin beep(1): Use AFMT_FLOAT 2025-03-30 19:45:48 +02:00
usr.sbin ctld: Convert to C++ 2025-04-02 14:41:35 -04:00
.arcconfig arcanist: use FreeBSD/git project repository instead of FreeBSD/svn 2022-08-23 14:16:41 +00:00
.arclint arc lint: ignore /tests/ in chmod 2017-12-19 03:38:06 +00:00
.cirrus.yml .cirrus-ci: Update the non-manual GCC build job to GCC 14 2025-03-03 11:51:47 -05:00
.clang-format clang-format: Minor tweaks 2024-04-30 17:33:43 -04:00
.git-blame-ignore-revs .git-blame-ignore-revs: one more revision for rtld 2025-03-18 03:36:05 +02:00
.gitattributes Remove SVN related Git attributes 2023-12-26 10:28:28 -07:00
.gitignore .gitignore: add sys/*/compile 2024-02-02 09:20:36 -07:00
.mailmap mailmap: Translate my personal address 2024-06-22 08:57:56 +02:00
CONTRIBUTING.md CONTRIBUTING.md/style: spring cleaning 2024-05-10 15:07:03 -06:00
COPYRIGHT copyright: Happy New Year 2025 2025-01-01 00:04:28 +00:00
LOCKS Update LOCKS for Git 2023-12-26 10:28:25 -07:00
MAINTAINERS man filesystems: fix more xrefs after move to s4 2024-06-27 18:32:05 -06:00
Makefile universe: Update the default GCC toolchain to GCC 14 2025-03-03 11:51:53 -05:00
Makefile.inc1 Makefile.inc1: Rework ELF Tool Chain bootstrapping 2025-03-27 12:38:25 -04:00
Makefile.libcompat Remove residual blank line at start of Makefile 2024-07-15 16:43:39 -06:00
Makefile.sys.inc Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:55:03 -06:00
ObsoleteFiles.inc tcp: remove support for TCPPCAP 2025-03-31 16:55:39 +02:00
README.md Update README.md to add pointer to release page. 2024-05-09 20:40:46 -06:00
RELNOTES RELNOTES: mac_do(4): Change of rules syntax; Provide hints and pointers 2025-04-08 14:49:12 +02:00
UPDATING UPDATING: Show plural syntax for PORTS_MODULES 2025-03-23 00:43:06 -04:00

FreeBSD Source:

This is the top level of the FreeBSD source directory.

FreeBSD is an operating system used to power modern servers, desktops, and embedded platforms. A large community has continually developed it for more than thirty years. Its advanced networking, security, and storage features have made FreeBSD the platform of choice for many of the busiest web sites and most pervasive embedded networking and storage devices.

For copyright information, please see the file COPYRIGHT in this directory. Additional copyright information also exists for some sources in this tree - please see the specific source directories for more information.

The Makefile in this directory supports a number of targets for building components (or all) of the FreeBSD source tree. See build(7), config(8), FreeBSD handbook on building userland, and Handbook for kernels for more information, including setting make(1) variables.

For information on the CPU architectures and platforms supported by FreeBSD, see the FreeBSD website's Platforms page.

For official FreeBSD bootable images, see the release page.

Source Roadmap:

Directory Description
bin System/user commands.
cddl Various commands and libraries under the Common Development and Distribution License.
contrib Packages contributed by 3rd parties.
crypto Cryptography stuff (see crypto/README).
etc Template files for /etc.
gnu Commands and libraries under the GNU General Public License (GPL) or Lesser General Public License (LGPL). Please see gnu/COPYING and gnu/COPYING.LIB for more information.
include System include files.
kerberos5 Kerberos5 (Heimdal) package.
lib System libraries.
libexec System daemons.
release Release building Makefile & associated tools.
rescue Build system for statically linked /rescue utilities.
sbin System commands.
secure Cryptographic libraries and commands.
share Shared resources.
stand Boot loader sources.
sys Kernel sources (see sys/README.md).
targets Support for experimental DIRDEPS_BUILD
tests Regression tests which can be run by Kyua. See tests/README for additional information.
tools Utilities for regression testing and miscellaneous tasks.
usr.bin User commands.
usr.sbin System administration commands.

For information on synchronizing your source tree with one or more of the FreeBSD Project's development branches, please see FreeBSD Handbook.