164fbda90SVal Packett.\" Copyright (c) 2023 Vladimir Kondratyev <wulf@FreeBSD.org> 264fbda90SVal Packett.\" 364fbda90SVal Packett.\" Redistribution and use in source and binary forms, with or without 464fbda90SVal Packett.\" modification, are permitted provided that the following conditions 564fbda90SVal Packett.\" are met: 664fbda90SVal Packett.\" 1. Redistributions of source code must retain the above copyright 764fbda90SVal Packett.\" notice, this list of conditions and the following disclaimer. 864fbda90SVal Packett.\" 2. Redistributions in binary form must reproduce the above copyright 964fbda90SVal Packett.\" notice, this list of conditions and the following disclaimer in the 1064fbda90SVal Packett.\" documentation and/or other materials provided with the distribution. 1164fbda90SVal Packett.\" 1264fbda90SVal Packett.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 1364fbda90SVal Packett.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 1464fbda90SVal Packett.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 1564fbda90SVal Packett.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 1664fbda90SVal Packett.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 1764fbda90SVal Packett.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 1864fbda90SVal Packett.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 1964fbda90SVal Packett.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 2064fbda90SVal Packett.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 2164fbda90SVal Packett.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 2264fbda90SVal Packett.\" SUCH DAMAGE. 2364fbda90SVal Packett.\" 2464fbda90SVal Packett.Dd August 17, 2023 2564fbda90SVal Packett.Dt ATOPCASE 4 2664fbda90SVal Packett.Os 2764fbda90SVal Packett.Sh NAME 2864fbda90SVal Packett.Nm atopcase 2964fbda90SVal Packett.Nd Apple HID-over-SPI transport driver 3064fbda90SVal Packett.Sh SYNOPSIS 3164fbda90SVal PackettTo compile this driver into the kernel, 3264fbda90SVal Packettplace the following lines in your 3364fbda90SVal Packettkernel configuration file: 3464fbda90SVal Packett.Bd -ragged -offset indent 3564fbda90SVal Packett.Cd "device atopcase" 3664fbda90SVal Packett.Cd "device intelspi" 3764fbda90SVal Packett.Cd "device spibus" 3864fbda90SVal Packett.Cd "device hidbus" 3964fbda90SVal Packett.Cd "device hkbd" 4064fbda90SVal Packett.Ed 4164fbda90SVal Packett.Pp 4264fbda90SVal PackettAlternatively, to load the driver as a 4364fbda90SVal Packettmodule at boot time, place the following line in 4464fbda90SVal Packett.Xr loader.conf 5 : 4564fbda90SVal Packett.Bd -literal -offset indent 4664fbda90SVal Packettatopcase_load="YES" 4764fbda90SVal Packetthkbd_load="YES" 4864fbda90SVal Packett.Ed 4964fbda90SVal Packett.Sh DESCRIPTION 5064fbda90SVal PackettThe 5164fbda90SVal Packett.Nm 5264fbda90SVal Packettdriver provides support for Human Interface Devices (HID) on 5364fbda90SVal PackettSerial Peripheral Interface (SPI) buses on Apple Intel Macs. 5464fbda90SVal Packett.Sh HARDWARE 5564fbda90SVal PackettThe 5664fbda90SVal Packett.Nm 5764fbda90SVal Packettdriver supports the following MacBooks produced in 2015-2018 years: 5864fbda90SVal Packett.Pp 5964fbda90SVal Packett.Bl -bullet -compact 6064fbda90SVal Packett.It 6164fbda90SVal PackettMacbook8,1 6264fbda90SVal Packett.It 6364fbda90SVal PackettMacbook9,1 6464fbda90SVal Packett.It 6564fbda90SVal PackettMacbook10,1 6664fbda90SVal Packett.It 6764fbda90SVal PackettMacbookPro11,4 6864fbda90SVal Packett.It 6964fbda90SVal PackettMacbookPro12,1 7064fbda90SVal Packett.It 7164fbda90SVal PackettMacbookPro13,1 7264fbda90SVal Packett.It 7364fbda90SVal PackettMacbookPro13,2 7464fbda90SVal Packett.It 7564fbda90SVal PackettMacbookPro13,3 7664fbda90SVal Packett.It 7764fbda90SVal PackettMacbookPro14,1 7864fbda90SVal Packett.It 7964fbda90SVal PackettMacbookPro14,2 8064fbda90SVal Packett.It 8164fbda90SVal PackettMacbookPro14,3 8264fbda90SVal Packett.El 8364fbda90SVal Packett.Sh SYSCTL VARIABLES 8464fbda90SVal PackettThe following variables are available as both 8564fbda90SVal Packett.Xr sysctl 8 8664fbda90SVal Packettvariables and 8764fbda90SVal Packett.Xr loader 8 8864fbda90SVal Packetttunables: 8964fbda90SVal Packett.Bl -tag -width indent 9064fbda90SVal Packett.It Va hw.hid.atopcase.debug 9164fbda90SVal PackettDebug output level, where 0 is debugging disabled and larger values increase 9264fbda90SVal Packettdebug message verbosity. 9364fbda90SVal PackettDefault is 0. 9464fbda90SVal Packett.El 9564fbda90SVal Packett.Sh FILES 9664fbda90SVal Packett.Bl -tag -width ".Pa /dev/backlight/atopcase0" -compact 9764fbda90SVal Packett.It Pa /dev/backlight/atopcase0 9864fbda90SVal PackettKeyboard 9964fbda90SVal Packett.Xr backlight 8 10064fbda90SVal Packettdevice node. 10164fbda90SVal Packett.El 10264fbda90SVal Packett.Sh SEE ALSO 10364fbda90SVal Packett.Xr acpi 4 , 104*6e1fc011SGraham Percival.Xr loader.conf 5 , 10564fbda90SVal Packett.Xr backlight 8 , 106*6e1fc011SGraham Percival.Xr loader 8 10764fbda90SVal Packett.Sh HISTORY 10864fbda90SVal PackettThe 10964fbda90SVal Packett.Nm 11064fbda90SVal Packettdriver first appeared in 11164fbda90SVal Packett.Fx 14.0 . 11264fbda90SVal Packett.Sh AUTHORS 11364fbda90SVal Packett.An -nosplit 11464fbda90SVal PackettThe 11564fbda90SVal Packett.Nm 11664fbda90SVal Packettdriver was originally written by 11764fbda90SVal Packett.An Val Packett Aq Mt val@packett.cool 11864fbda90SVal Packettand marginally improved upon by 11964fbda90SVal Packett.An Vladimir Kondratyev Aq Mt wulf@FreeBSD.org . 12064fbda90SVal Packett.Pp 12164fbda90SVal PackettThis manual page was written by 12264fbda90SVal Packett.An Vladimir Kondratyev Aq Mt wulf@FreeBSD.org . 12364fbda90SVal Packett.Sh BUGS 12464fbda90SVal PackettDevice interrupts are not acknowledged on some hardware that results in 12564fbda90SVal Packettinterrupt storm. 12664fbda90SVal PackettInstallation of Darwin OSI in 12764fbda90SVal Packett.Xr acpi 4 12864fbda90SVal Packettdriver fixes the issue. 12964fbda90SVal PackettTo install Darwin OSI add following lines to 13064fbda90SVal Packett.Xr loader.conf 5 : 13164fbda90SVal Packett.Bl -tag -width indent 13264fbda90SVal Packett.It Va hw.acpi.install_interface="Darwin" 13364fbda90SVal Packett.It Va hw.acpi.remove_interface="Windows 2009, Windows 2012" 13464fbda90SVal Packett.El 135