The MSM8953 is a testament to ARM64’s longevity. While Qualcomm stopped official support in 2020, the open-source community has kept its drivers alive through backports, shims, and sheer will. Understanding means mastering the delicate dance between proprietary firmware, the ARMv8-A ISA, and the Linux kernel’s memory management.
The msm8953.dtsi includes complex configurations: GPU nodes with operating points, interconnect paths for bandwidth management, reset controls for the display subsystem, and I2C blocks for sensors and peripherals. Significant work has been done to maintain and expand these bindings, including contributions to the interconnect driver and iommu bindings for the SoC.
all: make -C $(KERNELDIR) M=$(PWD) ARCH=arm64 modules clean: make -C $(KERNELDIR) M=$(PWD) ARCH=arm64 clean
#ifdef CONFIG_ARM64 pr_info("MSM8953 ARM64 driver loaded on 64-bit kernel\n"); #else pr_info("MSM8953 driver loaded on non-ARM64 kernel (check config)\n"); #endif return 0;
/ compatible = "qcom,msm8953"; soc compatible = "qcom,msm8953-soc"; reg = <0x0 0x...>; clocks = <&gcc ...>; ; kgsl@... compatible = "qcom,kgsl"; reg = <...>; interrupt-parent = <&msm_gic>; ; mdss@... /* display controller */ ; mdss_panel@0 compatible = "manufacturer,panel-model"; /* timing */ ; ;
This produces a driver_msm8953.ko kernel object file, ready to be pushed to your target device. 5. Mainline vs. Vendor Drivers on MSM8953
Let’s say you need to rebuild the for a custom ARM64 kernel.
Projects like have made progress on the MSM8953 (specifically the Xiaomi Redmi Note 4 – mido ). However, the current status is:
Drivers use the standard Linux Regulator API framework ( regulator_get , regulator_enable ).
The MSM8953 is a System-on-Chip (SoC) designed by Qualcomm, commonly used in mid-range Android devices. The ARM64 architecture, also known as AArch64, is a 64-bit instruction set architecture used in many modern ARM-based processors.