Hisilicon Kirin 980 Driver High Quality Page

Hisilicon Kirin 980 Driver High Quality Page

The generic GPIO driver for HiSilicon ARM SoCs supports double-edge interrupts and multi-core concurrent access. The driver works with ACPI tables for platform enumeration. For Kirin-based systems, the compatible string “HISI0184” is used, with 32 GPIOs per controller typically configured.

This driver is located in the drivers/cpufreq/ directory and interfaces with the cpufreq framework to handle CPU frequency transitions between the big (Cortex-A76) and LITTLE (Cortex-A55) clusters. The driver supports dynamic voltage and frequency scaling (DVFS) to balance power consumption with performance demands.

The mali-bifrost-dkms package uses DKMS to automatically rebuild the driver for your kernel and ensures it is included in initramfs.

The Kirin 980 utilizes a HiFi 4 DSP for audio processing. hisilicon kirin 980 driver

Unlike Qualcomm’s Snapdragon or MediaTek’s Dimensity families, the Kirin 980 runs on a software stack heavily guarded by Hisilicon (Huawei’s semiconductor arm). To understand its driver landscape, you must first understand its unique hardware layout.

The proprietary drivers are also available in prebuilt form through repositories like libmali-rockchip , which packages ARM’s proprietary binary drivers with tooling for Debian-based distributions. This system generates over 60 package variants covering different GPU architectures, driver versions, display backends (X11, Wayland, fbdev), and ARM processor architectures.

Some advanced users modify the GPU driver by replacing the mali_kbase.ko kernel module to unlock higher clock speeds or improve Vulkan support for emulators (like Yuzu or Skyline Edge). The generic GPIO driver for HiSilicon ARM SoCs

The Kirin 980 is a (system on chip) with many components:

These include the RIL (Radio Interface Layer) daemon ( bin/rild ) and libraries such as libbalong-ril.so , libbalong-ril-1.so , libril.so , librilutils.so , and libhuawei-audio.ril.so .

The kernel drivers for this setup rely heavily on Energy Aware Scheduling (EAS). The CPU frequency driver ( cpufreq ) and governor dynamically calculate the energy cost of placing a software task on a specific core. The driver ensures that lightweight tasks stay on the Cortex-A55 cores, while intensive loops instantly wake the primary Cortex-A76 cores without causing micro-stuttering. GPU Drivers: Mali-G76 and Vulkan Optimization This driver is located in the drivers/cpufreq/ directory

The NPU driver typically follows a similar architecture to other NPU drivers, such as the RKNPU kernel driver for Rockchip NPUs, which uses the DRM subsystem for memory management and task submission.

Graphics processing on the Kirin 980 is handled by the ARM Mali-G76 MP10 GPU. The graphics driver stack implements support for OpenGL ES 3.2 and Vulkan 1.1 APIs.

If you are having trouble updating a specific device (e.g., Mate 20 vs. P30 Pro), please let me know your model number, and I can check if there's a specialized driver package available. Share public link