1.\" 2.\" Copyright (c) 2020 Henri Hennebert <hlh@restart.be> 3.\" All rights reserved. 4.\" 5.\" Redistribution and use in source and binary forms, with or without 6.\" modification, are permitted provided that the following conditions 7.\" are met: 8.\" 1. Redistributions of source code must retain the above copyright 9.\" notice, this list of conditions and the following disclaimer. 10.\" 2. The name of the author may not be used to endorse or promote products 11.\" derived from this software without specific prior written permission. 12.\" 13.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 14.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 16.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 17.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 18.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 19.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 21.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 22.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 23.\" SUCH DAMAGE. 24.\" 25.\" $FreeBSD$ 26.\" 27.Dd April 25, 2021 28.Dt RTSX 4 29.Os 30.Sh NAME 31.Nm rtsx 32.Nd Realtek SD card reader 33.Sh SYNOPSIS 34To compile this driver into the kernel, place the following 35lines in the kernel configuration file: 36.Bd -ragged -offset indent 37.Cd "device mmc" 38.Cd "device mmcsd" 39.Cd "device rtsx" 40.Ed 41.Pp 42Alternatively, to load the driver as a module at boot time, 43place the following lines in 44.Xr loader.conf 5 : 45.Bd -literal -offset indent 46mmc_load="YES" 47mmcsd_load="YES" 48rtsx_load="YES" 49.Ed 50.Sh DESCRIPTION 51The 52.Nm 53driver provides support for Realtek SD card reader. 54Driver attaches mmc bus on card insertion and detaches it on card removing. 55.Sh HARDWARE 56The 57.Nm 58driver supports different specification compatible chips. 59The following chips have been verified to work: 60.Pp 61.Bl -bullet -compact 62.It 63RTS5209 64.It 65RTS5227 66.It 67RTS5229 68.It 69RTS522A 70.It 71RTS525A 72.It 73RTL8411B 74.El 75.Pp 76It should also work for: 77.Pp 78.Bl -bullet -compact 79.It 80RTS5249 81.It 82RTL8402 83.It 84RTL8411 85.El 86.Sh SEE ALSO 87.Xr mmc 4 , 88.Xr mmcsd 4 89.Rs 90.%T "SD Specifications, Part 2, SD Host Controller, Simplified Specification" 91.%T "SanDisk Secure Digital Card" 92.Re 93.Sh HISTORY 94The 95.Nm 96driver was ported from 97.Ox 98with modifications found in Linux and 99.Nx . 100.Sh AUTHORS 101.An Henri Hennebert Aq Mt hlh@restart.be 102.An Gary Jennejohn Aq Mt gj@freebsd.org 103.An Jesper Schmitz Mouridsen Aq Mt jsm@FreeBSD.org 104.Sh CONTRIBUTORS 105.An Lutz Bichler Aq Mt Lutz.Bichler@gmail.com 106.Sh BUGS 107.Bl -bullet 108.It 109The timeouts experienced during card insert and during I/O are solved in version 1.0g. 110.It 111RTS522A on Lenovo T470p, card detection and read-only switch are reversed. 112This is solved by adding in 113.Em loader.conf(5) : 114.Bd -ragged 115.Cd dev.rtsx.0.inversion=1 116.Ed 117.Pp 118The driver tries to automate those exceptions. 119If this automation is wrong, it can be avoided by adding in 120.Em loader.conf(5) : 121.Bd -ragged 122.Cd dev.rtsx.0.inversion=0 123.Ed 124.It 125Mounting a filesystem with write access on a card write protected may involve a kernel crash. 126.It 127Suspend/Resume do not work under MMCCAM. 128.El 129