Msm8953 For Arm64 Driver -
A Deep Dive into the MSM8953 (Snapdragon 625/626) and Its ARM64 Driver Ecosystem
Part 2: Core Driver Components for MSM8953 on ARM64
When building a custom ARM64 kernel or ROM for an MSM8953 device, you need the following driver families. Each has unique ARM64 considerations.
Part 5: Where to Find MSM8953 ARM64 Drivers – A Repository Guide
If you are a developer building AOSP or a custom kernel, here are the essential sources: msm8953 for arm64 driver
5. Firmware and blobs
- Proprietary firmware required for:
- Modem (firmware + QMI/diag userland)
- GPU microcode (Adreno blobs)
- Wi‑Fi/Bluetooth firmware
- DSP firmware (if using Hexagon-based audio or offload)
- Place blobs in /vendor/firmware or /lib/firmware per Android/kconfig conventions. Ensure kernel built with CONFIG_FW_LOADER and appropriate firmware path support.
7. Common issues and fixes
- Boot hang due to missing clock/regulator DT bindings — verify regulators and clock phandles.
- GPU init failures — missing firmware blobs or incorrect kgsl DT node.
- Modem/telephony issues — missing firmware or wrong QMI/diag permissions in userland.
- Display blank/EDID problems — incorrect mdss/mipi-dsi timing, missing panel driver, or pinctrl misconfiguration.
- Camera errors — incorrect sensor I2C addresses or CSI lane configuration in DT.
- Power/perf problems — CPU governors, cpufreq drivers, and rpmh/regulator settings need tuning.
Quick troubleshooting steps:
- Check kernel log (dmesg) for driver probe failures and firmware load errors.
- Verify DT nodes match driver-compatible strings and required properties.
- Confirm firmware blobs exist and have correct permissions.
- Enable dynamic debug or verbose logging for subsystem drivers.
Missing in Mainline
- Modem / IPA (mobile data) – no upstream driver (requires closed firmware + mhi/net).
- WiFi/BT (WCNSS) – requires wcn36xx driver + firmware, but integration incomplete for this exact SoC.
- Peripheral Authentication / Secure World – not relevant for Linux.
- Hardware crypto engine (qce) – some support exists but not fully validated for MSM8953.
3. Obtaining MSM8953 ARM64 Drivers
You have three main sources:
PCI / IOMMU
- ARM64 SMMU (IOMMU) support exists via
qcom_iommu for GPU, display, USB. Works in mainline.
