** Resending because I found new ways to dislike Proton Mail (it failed the series midway due to "spamming". Sigh.). **
This patch series introduces support for ARMv7 Qualcomm SoCs, starting with MSM8960/MSM8930/MSM8227. An overview of the changes: * serial_msm reintroduces the previous packed RX/TX software mode operation, as this is compatible with all UARTDM versions (1.4 and older). It's added alongside the newer single-char mode for 1.4. * A timer driver is introduced for KPSS. I don't know if *all* ARMv7 qcom SoCs lack generic ARM CP15 debug timer support, but at least MSM8960/MSM8930 do. * mach-snapdragon board code is shuffled around a bit to build cleanly on ARM64. * prev_bl_data support is extended to ARM32 (which uses r2 for passing FDT/ATAGS pointers, rather than r0) * qcom_parse_memory is revised to support arm32 memory nodes (which are 1-cell rather than 2-cell). * Basic ATAGS support is introduced, so that the memory info can be used from previous bootloaders that do not understand FDTs at all. * PS_HOLD sysreset and pinctrl-qcom needed some minor tweaks to handle some nuances that challenge the current assumptions. * A pinctrl driver is introduced for MSM8960. * Initial MSM8960 GCC infra is introduced. I tested this series on: * Nokia Lumia 520 (msm8227). No working buttons yet as these are exposed as GPIO-over-PMIC-over-SSBI (drivers will be proposed at a later date). * Samsung Galaxy Express GT-I8730 (msm8930). Volume rockers + home button are working via the new pinctrl-msm8960 driver. Power button not working yet (needs PMIC driver infra). * I have no msm8960/apq8064 devices, looking for folks to test those. To confirm there was no regressions with ARM64 and/or newer devices, I also tested on: * db410c (msm8916) * google-sargo (sdm670) Signed-off-by: Sam Day <[email protected]> --- Sam Day (16): serial: msm: UARTDM <1.4 support timer: Qualcomm KPSS timer support arm: save_prev_bl_data: ARM32 support mach-snapdragon: qcom_parse_memory 32-bit support mach-snapdragon: gate ARM64 features mach-snapdragon: introduce ARCH_SNAPDRAGON_ARM32 configs: introduce qcom_armv7_defconfig board: qualcomm: add MSM8960 debug UART config sysreset: qcom-pshold: offset support pinctrl: qcom: configurable GPIO offset/stride pinctrl: qcom: introduce MSM8960 driver mach-snapdragon: parse incoming ARM32 ATAGS clk: qcom: MSM8960 GCC driver clk: qcom: arch-agnostic pointer fmtstrings serial: msm: wait for TX empty before reinit button: remap phone HOMEPAGE button arch/arm/Kconfig | 11 +- arch/arm/lib/save_prev_bl_data.c | 49 ++++--- arch/arm/mach-snapdragon/Kconfig | 6 + arch/arm/mach-snapdragon/board.c | 188 ++++++++++++++++++-------- arch/arm/mach-snapdragon/include/mach/gpio.h | 12 +- board/qualcomm/debug-msm8960.config | 5 + configs/qcom_armv7_defconfig | 61 +++++++++ drivers/button/Kconfig | 2 +- drivers/button/button-uclass.c | 1 + drivers/clk/qcom/Kconfig | 8 ++ drivers/clk/qcom/Makefile | 1 + drivers/clk/qcom/clock-msm8960.c | 189 +++++++++++++++++++++++++++ drivers/clk/qcom/clock-qcom.c | 8 +- drivers/gpio/msm_gpio.c | 2 +- drivers/pinctrl/qcom/Kconfig | 9 ++ drivers/pinctrl/qcom/Makefile | 1 + drivers/pinctrl/qcom/pinctrl-msm8960.c | 135 +++++++++++++++++++ drivers/pinctrl/qcom/pinctrl-qcom.c | 2 +- drivers/serial/serial_msm.c | 142 +++++++++++++++++--- drivers/sysreset/sysreset_qcom-pshold.c | 9 +- drivers/timer/Kconfig | 7 + drivers/timer/Makefile | 1 + drivers/timer/qcom-kpss-timer.c | 98 ++++++++++++++ 23 files changed, 843 insertions(+), 104 deletions(-) --- base-commit: 8d3ba3753bdb5068884196ff696cc48177bfdda5 change-id: 20260530-qcom-armv7-1486308a835c Best regards, -- Sam Day <[email protected]>

