Skip to content

Add support for MSM's mmio clocks

Stephen Boyd linux-arm-kernel linux-arm-msm linux-devicetree lkml 1 version New

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest13 patches 0 repliesNew

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/13clk: fixed-rate: Export clk_fixed_rate_register()drivers/clk/clk-fixed-rate.c+1 -00 replies
2/13clk: Add of_init_clk_data() to parse common clock bindingsdrivers/clk/clk.c include/linux/clk-provider.h+61 -10 replies
3/13clk: Add of_clk_match() for device driversdrivers/clk/clk.c include/linux/clk-provider.h+74 -00 replies
4/13clk: Add set_rate_and_parent() opDocumentation/clk.txt drivers/clk/clk.c include/linux/clk-provider.h+77 -190 replies
5/13clk: msm: Add support for phase locked loops (PLLs)Documentation/devicetree/bindings/clock/msm.txt drivers/clk/Kconfig drivers/clk/Makefile +4 more+326 -00 replies
6/13clk: msm: Add support for root clock generators (RCGs)Documentation/devicetree/bindings/clock/msm.txt drivers/clk/msm/Makefile drivers/clk/msm/clk-rcg.c +2 more+1221 -00 replies
7/13clk: msm: Add support for branches/gate clocksDocumentation/devicetree/bindings/clock/msm.txt drivers/clk/msm/Makefile drivers/clk/msm/clk-branch.c +1 more+267 -00 replies
8/13clk: msm: Add MSM clock driverdrivers/clk/msm/Makefile drivers/clk/msm/core.c drivers/clk/msm/internal.h+291 -00 replies
9/13clk: msm: Add support for MSM8960's global clock controller (GCC)Documentation/devicetree/bindings/clock/qcom,gcc.txt drivers/clk/msm/Kconfig drivers/clk/msm/Makefile +3 more+246 -00 replies
10/13clk: msm: Add support for MSM8960's multimedia clock controller (MMCC)Documentation/devicetree/bindings/clock/qcom,mmcc.txt drivers/clk/msm/Kconfig drivers/clk/msm/Makefile +3 more+193 -00 replies
11/13ARM: dts: msm: Add MSM8960 GCC DT nodesarch/arm/boot/dts/msm8960-cdp.dts+72 -00 replies
12/13ARM: dts: msm: Add MSM8960 MMCC DT nodesarch/arm/boot/dts/msm8960-cdp.dts+37 -00 replies
13/13ARM: dts: msm: Add clock entries for MSM8960 uart devicearch/arm/boot/dts/msm8960-cdp.dts+2 -00 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [RFC/PATCH 00/13] Add support for MSM's mmio clocks

Posting as an RFC because I haven't gone through and generated all the data needed yet. This is just a few clocks for now to give a general idea of where things are headed.

The first 4 patches are generic clock framework patches. They add support for finding clocks in DT and parsing them generically. They also add support for setting the rate and the parent at the same time based on patches from James Hogan's remuxing set_rate series [1].

After that we add MSM clock hardware support and then fill in the DT and data to actually register clocks. This is sufficient enough to get the UART going on my msm8960 device.

I'm currently waffling between the DT bindings being more descriptive versus just using the clocks as numbers method. From what I can tell nobody is complaining either way so it seems I could put all of the information I encode in C structs into DT. It would be great if more experienced DT persons could weigh in here.

Please note this patchset relies on my previous patch series that moves existing MSM clock code to the common clock framework [2].

Stephen Boyd (13):
clk: fixed-rate: Export clk_fixed_rate_register()
clk: Add of_init_clk_data() to parse common clock bindings
clk: Add of_clk_match() for device drivers
clk: Add set_rate_and_parent() op
clk: msm: Add support for phase locked loops (PLLs)
clk: msm: Add support for root clock generators (RCGs)
clk: msm: Add support for branches/gate clocks
clk: msm: Add MSM clock driver
clk: msm: Add support for MSM8960's global clock controller (GCC)
clk: msm: Add support for MSM8960's multimedia clock controller (MMCC)
ARM: dts: msm: Add MSM8960 GCC DT nodes
ARM: dts: msm: Add MSM8960 MMCC DT nodes
ARM: dts: msm: Add clock entries for MSM8960 uart device

 Documentation/clk.txt                              |   3 +
 Documentation/devicetree/bindings/clock/msm.txt    |  99 +++
 .../devicetree/bindings/clock/qcom,gcc.txt         |  55 ++
 .../devicetree/bindings/clock/qcom,mmcc.txt        |  38 ++
 arch/arm/boot/dts/msm8960-cdp.dts                  | 111 +++
 drivers/clk/Kconfig                                |   2 +
 drivers/clk/Makefile                               |   1 +
 drivers/clk/clk-fixed-rate.c                       |   1 +
 drivers/clk/clk.c                                  | 201 +++++-
 drivers/clk/msm/Kconfig                            |  22 +
 drivers/clk/msm/Makefile                           |  11 +
 drivers/clk/msm/clk-branch.c                       | 190 ++++++
 drivers/clk/msm/clk-branch.h                       |  48 ++
 drivers/clk/msm/clk-pll.c                          | 233 +++++++
 drivers/clk/msm/clk-pll.h                          |  43 ++
 drivers/clk/msm/clk-rcg.c                          | 754 +++++++++++++++++++++
 drivers/clk/msm/clk-rcg.h                          | 114 ++++
 drivers/clk/msm/clk-rcg2.c                         | 320 +++++++++
 drivers/clk/msm/core.c                             | 271 ++++++++
 drivers/clk/msm/gcc-8960.c                         | 174 +++++
 drivers/clk/msm/internal.h                         |  27 +
 drivers/clk/msm/mmcc-8960.c                        | 142 ++++
 include/linux/clk-provider.h                       |  28 +
 23 files changed, 2868 insertions(+), 20 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/clock/msm.txt
 create mode 100644 Documentation/devicetree/bindings/clock/qcom,gcc.txt
 create mode 100644 Documentation/devicetree/bindings/clock/qcom,mmcc.txt
 create mode 100644 drivers/clk/msm/Kconfig
 create mode 100644 drivers/clk/msm/Makefile
 create mode 100644 drivers/clk/msm/clk-branch.c
 create mode 100644 drivers/clk/msm/clk-branch.h
 create mode 100644 drivers/clk/msm/clk-pll.c
 create mode 100644 drivers/clk/msm/clk-pll.h
 create mode 100644 drivers/clk/msm/clk-rcg.c
 create mode 100644 drivers/clk/msm/clk-rcg.h
 create mode 100644 drivers/clk/msm/clk-rcg2.c
 create mode 100644 drivers/clk/msm/core.c
 create mode 100644 drivers/clk/msm/gcc-8960.c
 create mode 100644 drivers/clk/msm/internal.h
 create mode 100644 drivers/clk/msm/mmcc-8960.c

[1] <[email protected]>
[2]

Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation