Jump to content

Apple A11

From postmarketOS Wiki
(Redirected from Apple A11 Bionic)
Apple A11
Picture of the Apple A11 SoC
Picture of the Apple A11 SoC
Manufacturer Apple
Name A11
Architecture aarch64
CPU 6x (2x 2.39 GHz
4x 1.42 GHz) Apple A11
GPU Apple-designed 3 core/Apple G10P
Year 2017
Process 10nm
Mainline yes
Components
CPU
SMP (bring up secondary CPU cores), CPU frequency scaling, CPUidle
Partial
UART
Works
Storage
eMMC, SD cards, UFS, ...
Partial
USB
Partial
Display
Partial
GPU
Broken
Pinctrl
Works
I²C
Works
Audio
Broken
Video
Hardware-accelerated video de/encoding
Broken
Thermal
Partial
WiFi
Broken
Bluetooth
Broken
Modem
Calls, SMS, Internet
Broken
GPS
Broken
Camera
Broken
Suspend
Broken

The Apple A11 is a 64-bit ARM-based system on a chip (SoC) designed by Apple Inc., part of the Apple silicon series, and manufactured by TSMC. It was used in the iPhone 8, iPhone 8 Plus, and iPhone X.

Devices

Device Codename Category
Apple iPhone X (Global) apple-d22 testing

Components

CPU

SMP is available via spin-table, and there is a CPUFreq driver. There is no scheme in the upstream kernel that allows for CPUIdle and PSCI on a CPU that only implements EL0 and EL1. (other than the default CPUidle with shallow WFI)

USB

USB device mode works. The USB controller is Synopsys DWC2 version 3.00a.

I2C

I2C works. However none of the I2C-connected peripherals are supported.

Thermal

Reboots due to overheating has been observed on iPhone 8. There are some thermal sensors in the SMC exposed via hwmon. However, it is not hooked up to any thermal zones.

Display

Internal display is supported via the iBoot-provided framebuffer. Brightness support is available on iPhone 8 and iPhone 8 Plus.

Storage

The internal NVMe storage works. However, it is not stable and is prone to crashing from duplicate tag error for tag 0, host_id 0x0. status_reg: 0x1000 (RTKit crash message). echo 1 > /sys/class/nvme/nvme0/reset_controller will immediately reproduce the issue.