1.\" 2.\" SPDX-License-Identifier: BSD-2-Clause 3.\" 4.\" Copyright (c) 2008 Alexander Motin <mav@FreeBSD.org> 5.\" All rights reserved. 6.\" 7.\" Redistribution and use in source and binary forms, with or without 8.\" modification, are permitted provided that the following conditions 9.\" are met: 10.\" 1. Redistributions of source code must retain the above copyright 11.\" notice, this list of conditions and the following disclaimer. 12.\" 2. The name of the author may not be used to endorse or promote products 13.\" derived from this software without specific prior written permission. 14.\" 15.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25.\" SUCH DAMAGE. 26.\" 27.Dd October 3, 2025 28.Dt SDHCI 4 29.Os 30.Sh NAME 31.Nm sdhci 32.Nd PCI SD Host Controller bridge driver 33.Sh SYNOPSIS 34To compile this driver into the kernel, place the following lines in your 35kernel configuration file: 36.Bd -ragged -offset indent 37.Cd "device mmc" 38.Cd "device mmcsd" 39.Cd "device sdhci" 40.Ed 41.Pp 42Alternatively, to load the driver as a module at boot time, place the 43following lines in 44.Xr loader.conf 5 : 45.Bd -literal -offset indent 46mmc_load="YES" 47mmcsd_load="YES" 48sdhci_load="YES" 49.Ed 50.Sh DESCRIPTION 51The 52.Nm 53driver supports PCI devices with class 8 and subclass 5 according to 54SD Host Controller Specification. 55Driver supports up to six high speed 4bit MMC/SD slots per controller. 56Driver attaches mmc bus to the respective slot on card insertion and 57detaches it on card removing. 58.Sh HARDWARE 59The 60.Nm 61driver supports the SD Host Controller Specification. 62When attaching via the PCI bus, 63the controller is automatically configured. 64Many SoC chips provide a SDHCI controller directly mapped to I/O memory. 65For those, the controller may be configured using 66.Xr fdt 4 67or 68.Xr acpi 4 69methods, supplied by your board's vendor. 70.Pp 71Unlike most other drivers that support a generic standard, 72.Nm 73requires a large number of quirks to cope with hardware bugs, 74proprietary registers and poorly specified power management. 75While many chipsets from 76Intel, Xilinx, Rockchip, Frescale, Ricoh, and TI have these entries, 77suboptimal performance may result when using some controllers. 78Quirks and custom configuration are most often required 79when the device is configured via 80.Xr fdt 4 81or 82.Xr acpi 4 . 83.Sh SEE ALSO 84.Xr mmc 4 , 85.Xr mmcsd 4 86.Rs 87.%T "SD Specifications, Part 2, SD Host Controller, Simplified Specification" 88.Re 89.Sh AUTHORS 90.An Alexander Motin Aq Mt mav@FreeBSD.org 91