Msm8953: For Arm64 Driver !link!
Are you working on a or a legacy Android downstream kernel ?
Here are some valuable resources to help you with MSM8953 driver development on ARM64:
This adoption of arm64 with device trees is what allows a single kernel image to boot on everything from a Xiaomi Redmi Note 4 ( mido ) to a Lenovo P2 ( kuntao ).
: The core SoC description file. It defines memory maps, interrupt controllers (GIC), clock controllers, and base addresses for all internal peripherals. msm8953 for arm64 driver
If you are currently debugging or planning an active deployment, please share the (e.g., SPI, I2C, UART, or custom GPIO) you are trying to interface with, or mention whether you are targeting a mainline kernel or a legacy Android BSP . I can provide tailored device tree configs or register configurations for your use case. Share public link
Developing or porting an ARM64 driver for the MSM8953 requires a firm grasp of the Qualcomm architecture, Linux kernel driver models, and the device tree syntax. 1. Hardware Architecture Overview
But here lies the rub: While the chip is natively ARM64, official Linux mainline support remains a patchwork quilt. In this post, we’ll unpack what it takes to get an ARM64 Linux distribution (or a custom Android GKI kernel) running on MSM8953, focusing on the driver stack, missing pieces, and community solutions. Are you working on a or a legacy Android downstream kernel
Base your .dts on qcom-msm8953.dtsi from the mainline kernel (it exists but is minimal). You will need to copy bindings from the CAF kernel’s arch/arm64/boot/dts/qcom/ .
Perhaps the most fascinating aspect of the MSM8953 driver history is its role in the custom ROM community. Because the Snapdragon 625 was used in over a hundred different smartphone models, it became a prime target for developers porting newer Linux kernels and Android versions to older hardware.
I can provide targeted device tree code snippets or explicit driver patches for your project. Share public link It defines memory maps, interrupt controllers (GIC), clock
msm.prefer_mdp5=false
CONFIG_PINCTRL_QCOM=y CONFIG_QCOM_SMEM=y CONFIG_QCOM_SCM=y CONFIG_DRM_MSM=y CONFIG_SDHCI_MSM=y CONFIG_USB_DWC3_QCOM=y
Recent changes in the Android vendor ecosystem have also seen efforts to "split msm8953 from UM_3_18_FAMILY" to use updated HAL projects, indicating a move toward cleaner, more modular codebases for the platform.
Replacing vendor kernels (Android 3.18 or 4.9) with modern versions (Linux 6.x) requires rewriting many drivers to meet official kernel style guides.