[PATCH 0/8] arm: mach-snapdragon: Qualcomm clock driver cleanup

Sumit Garg sumit.garg at linaro.org
Wed Oct 25 15:06:13 CEST 2023


On Wed, 25 Oct 2023 at 18:17, Caleb Connolly <caleb.connolly at linaro.org> wrote:
>
> Hi Sumit,
>
> On 25/10/2023 13:10, Sumit Garg wrote:
> > Hi Caleb,
> >
> > On Wed, 25 Oct 2023 at 01:54, Caleb Connolly <caleb.connolly at linaro.org> wrote:
> >>
> >> 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.
> >
> > Thanks for your cleanup work. You should have at least CCed the board
> > maintainers (board/qualcomm/*/MAINTAINERS). Were you able to test this
> > series on all the existing Qcom platforms supported?
>
> Ah! I thought I had done but it seems not :/. Added them in now.
>
> I have only been able to test this series on db845c. I don't have access
> to qcs404, and no easy access to db820c or db410c (I'm unsure to what
> extent those two boards work at all with current upstream u-boot).

I can help to test on qcs404 and db410c (I have tested it recently so
it should work).

Jorge,

Do you still maintain db820c and can help with testing?

>
> I should have included this in the cover letter.
> >
> >>
> >> Further details are included in each commit.
> >
> > I will give this series a review.
>
> Thank you!
> >
> >>
> >> 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.
> >>
> >
> > I suppose this series would move us closer to directly importing DTs
> > from Linux. Do you plan to close the remaining gap (serial DT nodes
> > are on top of my head) before adding further platform support?
>
> Yes, I currently have patches to move pinctrl out of mach-snapdragon and
> fix support for upstream DT there, as well as fixes for a number of
> other drivers. The plan is then to import sdm845 devicetree from Linux
> and adjust db845c and starqltechn to use it. The three new platforms
> (QCM2290, SM6115 and SM8250) will all use upstream devicetree.
>

Good to see that coming.

-Sumit

> >
> >> 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@linaro.org/
> >>
> >> ---
> >> 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)
> >>
>
> --
> // Caleb (they/them)


More information about the U-Boot mailing list