UEFI+ACPI on Raspberry Pi 4B
Feature | Driver Name | Silicon | ACPI Table Description | Linux Kernel Submit Message & Link | ACPI Table | Windows Status | Linux Status | Description | ย |
---|---|---|---|---|---|---|---|---|---|
SD/eMMC | bcm2836sdhc | BCM2836/BCM2711 | // emmc2 Host Controller. (brcm,bcm2711-emmc2) ย // ArasanSD 3.0 SD Host Controller. (brcm,bcm2835-sdhci) | mmc: sdhci-iproc: Add ACPI bindings for the RPi | edk2-platforms\Platform\RaspberryPi\AcpiTables\Emmc.asl edk2-platforms\Platform\RaspberryPi\AcpiTables\Sdhc.asl | Working | Working | Broadcom 2836 Arasan SD Host Controller | ย |
Display | MSBDD (Inbox) | ย | ย | ย | ย | Working | ย | ย | ย |
Audio | rpiwav | BCM2836/BCM2711 | ย | ย | ย | Working | ย | The audio driver (rpiwav.sys) uses the PWM driver (bcm2836pwm.sys) exclusively. rpiwav.sys sends PCM audio packets to bmc2836pwm.sys to modulate and output over the right and left channels resulting in a stereo audio output. | ย |
HDMI Audio | rpi4hdmiwav | BCM2711 | ย | ย | ย | Partial working | ย | only the HDMI0 port is supported | ย |
PCIe | ย | ย | Device(PCI0) | General PCIE Root Bridge Driver at | edk2-platforms\Platform\RaspberryPi\AcpiTables\Pci.asl | ย | ย | ย | ย |
GPIO | bcmgpio | BCM2836/BCM2711 | ย | ย | ย | Working | Not Working | BCM2836 GPIO Controller | ย |
I2C | bcmi2c | BCM2836/BCM2711 | // Description: I2C | ย | edk2-platforms\Platform\RaspberryPi\AcpiTables\GpuDevs.asl | Working | ย | ย | ย |
SPI | bcmspi | BCM2836/BCM2711 | Device (SPI0) | ย | edk2-platforms\Platform\RaspberryPi\AcpiTables\GpuDevs.asl | Working | ย | Raspberry Pi 2 (BCM2836) SPI Controller driver, a single SPI peripheral (SPI0) | ย |
SPI | bcmauxspi | BCM2836/BCM2711 | ย | ย | ย | Working | ย | Raspberry Pi 2 (BCM2836)ย AUXSPI Controller | ย |
UART | pi_miniuart | BCM2836/BCM2711 | // PL011 based UART. | drivers: PL011: add ACPI probing for SBSA UART | edk2-platforms\Platform\RaspberryPi\AcpiTables\Uart.asl | Working | Not Working | BCM283x Mini UART driver. | ย |
UART | SerPL011 | BCM2836 | Device (URTM) | serial: 8250_bcm2835aux: Add ACPI support | edk2-platforms\Platform\RaspberryPi\AcpiTables\Uart.asl | Working | Working | ARM PL011 UART Driver, using _HID as BCM2887 | ย |
Bluetooth | cywbtserialbus | BCM2836/BCM2711 | Device(BTH0) | Bluetooth: hci_bcm: Add PM for BCM devices | edk2-platforms\Platform\RaspberryPi\AcpiTables\Uart.asl | Working | ย | Cypress Bluetooth over UART Transport Driver | ย |
WIFI | ย | ย | ย | ย | ย | Not working | ย | No driver available | ย |
Ethernet | bcmgenet | BCM2711 | Device (ETH0) | net: bcmgenet: Initial bcmgenet ACPI support | edk2-platforms\Platform\RaspberryPi\AcpiTables\Dsdt.asl | Working | Working | Broadcom GENET Gigabit Ethernet Controller | ย |
PWM | bcm2836pwm | BCM2836/BCM2711 | // PWM Driver | ย | edk2-platforms\Platform\RaspberryPi\AcpiTables\GpuDevs.asl | Working | ย | ย | ย |
USB | rpiuxflt | BCM2711 | ย | ย | ย | Partially working | ย | Raspberry Pi 4 (BCM2711)ย VIA VL805 XHCI Host Controller Filter Driver | ย |
USB | mcci_dwchsotg | BCM2711 | ย | ย | ย | Partially working | ย | ย | ย |
USB OTG | ย | BCM2848 | // DWC OTG Controller | usb: dwc2: Enable RPi in ACPI mode | edk2-platforms\Platform\RaspberryPi\AcpiTables\GpuDevs.asl | ย | ย | ย | ย |
GPU | roskmd.sys | ย | // Video Core 4 GPU | ย | edk2-platforms\Platform\RaspberryPi\AcpiTables\GpuDevs.asl | Not working | Not Working | the driver loads, but it doesn't do much as it's unfinished | ย |
VC4 Mailbox | RPIQ | BCM2836 | ย | ย | ย | Working | ย | ย | ย |
VC4 HIQ | VCHIQ | BCM2836 | ย | ย | ย | Not working | ย | This is the Video Core Host Interface Queue driver that is responsible to marshall communication with the GPU firmware. THe VCHIQ driver is main function is to provide the interface with firmware with various client such as MMAL. | ย |
UEFI | dsdtpatch | ย | ย | ย | ย | ย | ย | DSDT Patch:
ย ย ย so Windows won't install the incompatible inbox drivers instead of our own versions. This is not necessary if the drivers are properly signed.
| ย |
USBSTOR | uaspdisabler | ย | ย | ย | ย | ย | ย | Add registray | ย |
Power | ย | ย | ย | ย | ย | ย | ย | ย | ย |
SD/eMMC | rpisdhc | BCM2836 | ย | ย | ย | ย | ย | ย | ย |
SD/eMMC | bcmemmc2 | BCM2711 | ย | ย | ย | ย | ย | Broadcom eMMC2 SD Host Controller | ย |
SD/eMMC | SDHostBRCME88C | BCM2711 | ย | ย | ย | ย | ย | Broadcom SD Host (BRCME88C) for Raspberry Pi 4 | ย |
Camera | ย | ย | ย | ย | ย | ย | ย | ย | ย |
Embedded Controller | ย | ย | ย | ย | ย | ย | ย | ย | ย |
ย
ย