xref: /freebsd/share/man/man4/sdhci.4 (revision 046c625e9382e17da953767b881aaa782fa73af8)
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