---
name: "atopcase"
section: "4"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["freebsd"]
url: "https://new.carta.tech/atopcase"
---

# atopcase(4)

Apple HID-over-SPI transport driver

## NAME

**atopcase** – Apple HID-over-SPI transport driver

## SYNOPSIS

To compile this driver into the kernel, place the following lines in your kernel configuration file:

**device atopcase** **device intelspi** **device spibus** **device hidbus** **device hkbd**

Alternatively, to load the driver as a module at boot time, place the following line in [loader.conf(5)](/loader.conf/5.md):

```
atopcase_load="YES"
hkbd_load="YES"
```

## DESCRIPTION

The **atopcase** driver provides support for Human Interface Devices (HID) on Serial Peripheral Interface (SPI) buses on Apple Intel Macs.

## HARDWARE

The **atopcase** driver supports the following MacBooks produced in 2015-2018 years:

- Macbook8,1

- Macbook9,1

- Macbook10,1

- MacbookPro11,4

- MacbookPro12,1

- MacbookPro13,1

- MacbookPro13,2

- MacbookPro13,3

- MacbookPro14,1

- MacbookPro14,2

- MacbookPro14,3

## SYSCTL VARIABLES

The following variables are available as both [sysctl(8)](/sysctl/8.md) variables and [loader(8)](/loader/8.md) tunables:

- *hw.hid.atopcase.debug*

  Debug output level, where 0 is debugging disabled and larger values increase debug message verbosity. Default is 0.

## FILES

- */dev/backlight/atopcase0*

  Keyboard [backlight(8)](/backlight/8.md) device node.

## SEE ALSO

[acpi(4)](/acpi/4.md), [loader.conf(5)](/loader.conf/5.md), [backlight(8)](/backlight/8.md), [loader(8)](/loader/8.md)

## HISTORY

The **atopcase** driver first appeared in FreeBSD 14.0.

## AUTHORS

The **atopcase** driver was originally written by Val Packett ⟨*val@packett.cool*⟩ and marginally improved upon by Vladimir Kondratyev ⟨*wulf@FreeBSD.org*⟩.

This manual page was written by Vladimir Kondratyev ⟨*wulf@FreeBSD.org*⟩.

## BUGS

Device interrupts are not acknowledged on some hardware that results in interrupt storm. Installation of Darwin OSI in [acpi(4)](/acpi/4.md) driver fixes the issue. To install Darwin OSI add following lines to [loader.conf(5)](/loader.conf/5.md):

- *hw.acpi.install\_interface="Darwin"*

  - *hw.acpi.remove\_interface="Windows* *2009,* *Windows* *2012"*
