
This series begins making some headway towards cleaning up Qualcomm platform support in u-boot. The following is a rough overview of the changes:
* Move the Qualcomm clock drivers out of mach-snapdragon and into clk/qcom * Introduce per-platform clock driver configs to decouple Qualcomm platform support from mach-snapdragon targets. * Add the IPQ4019 clock driver, removing it from mach-ipq40xx and introducing the reset map. * Merge the qcom reset driver is into clk/qcom and rework it to be compatible with upstream devicetrees. * A callback model is added so that multiple clock drivers can be compiled in at once. * SDM845 gains support for enabling/disabling all gate clocks (CBC's) by way of a new "gate_clk" abstraction. * Preperatory cleanup work is done to simplify the bringup process for new platforms.
Further details are included in each commit.
The primary goal of this series is to prepare for enabling several new Qualcomm platforms in u-boot as well as additional peripherals, while minimising the amount of copy/pasted board-specific code.
This series conflicts with a previous series introducing support for the Qualcomm RB2 board [1], I plan to resend this initial support pending acceptance of this series and several other cleanups.
[1]: https://lore.kernel.org/u-boot/20230324080418.3856409-1-bhupesh.sharma@linar...
--- Caleb Connolly (7): clk/qcom: move from mach-snapdragon clk/qcom: add per-platform configs clk/qcom: move ipq4019 driver from mach-ipq40xx clk/qcom: sdm845: add register map for simple gate clocks clk/qcom: use function pointers for enable and set_rate clk/qcom: add mnd_width to clk_rcg_set_rate_mnd() clk/qcom: fix rcg divider value
Konrad Dybcio (1): clk/qcom: handle resets and clocks in one device
arch/arm/Kconfig | 2 + arch/arm/dts/qcom-ipq4019.dtsi | 14 +- arch/arm/dts/qcs404-evb.dts | 19 +- arch/arm/mach-ipq40xx/Makefile | 1 - arch/arm/mach-ipq40xx/clock-ipq4019.c | 88 ------ arch/arm/mach-snapdragon/Kconfig | 4 + arch/arm/mach-snapdragon/Makefile | 5 - arch/arm/mach-snapdragon/clock-sdm845.c | 98 ------- arch/arm/mach-snapdragon/clock-snapdragon.c | 181 ------------ arch/arm/mach-snapdragon/clock-snapdragon.h | 48 ---- .../mach-snapdragon/include/mach/sysmap-sdm845.h | 3 + drivers/clk/Kconfig | 1 + drivers/clk/Makefile | 1 + drivers/clk/qcom/Kconfig | 52 ++++ drivers/clk/qcom/Makefile | 10 + .../clk/qcom}/clock-apq8016.c | 41 ++- .../clk/qcom}/clock-apq8096.c | 41 ++- .../reset-qcom.c => clk/qcom/clock-ipq4019.c} | 165 ++++------- drivers/clk/qcom/clock-qcom.c | 303 +++++++++++++++++++++ drivers/clk/qcom/clock-qcom.h | 96 +++++++ .../clk/qcom}/clock-qcs404.c | 97 +++++-- drivers/clk/qcom/clock-sdm845.c | 265 ++++++++++++++++++ drivers/reset/Kconfig | 7 - drivers/reset/Makefile | 1 - 24 files changed, 938 insertions(+), 605 deletions(-) --- base-commit: 30d01b582f2274eb8c808026c5fb4c33e9f2210d
// Caleb (they/them)