Thread (34 messages) flat view 34 messages, 9 authors, 10d ago

Re: [PATCH v5 00/15] Add initial support for Qualcomm Kuno SoC

From: Hardeep Sharma <hidden>
Date: 2026-09-09 06:43:19
Also in: linux-arm-msm, linux-clk, linux-devicetree, linux-gpio, linux-pm, lkml

On 8/27/2026 11:21 PM, Hardeep Sharma wrote:
This series adds initial support for the Qualcomm Kuno SoC and the Kuno
IDP reference board.

Kuno is a 32-bit ARM (Cortex-A7) Qualcomm platform. This series brings up
the essential SoC infrastructure required to boot to a serial console:

   - Global Clock Controller (GCC) and RPMh clock controller
   - RPMh power domains
   - Interconnect (NoC) provider
   - TLMM pin controller
   - PDC interrupt controller and SCM firmware interface
   - Devicetree for the SoC and the Kuno IDP board

The soc: qcom: geni-se patch allows the GENI serial engine driver to be
selected on 32-bit ARM Qualcomm SoCs, which the debug UART console
depends on.

Signed-off-by: Hardeep Sharma <redacted>
---
Changes in v5:
- Selected QCOM_GDSC from the Kuno GCC config. The driver registers GDSCs
   (added in v4), so like the other Qualcomm GCC drivers it must select
   QCOM_GDSC; otherwise, in a configuration where nothing else enables it
   (e.g. COMPILE_TEST or a minimal Kuno-only build), gdsc_register() returns
   -ENOSYS and the clock controller fails to probe.
- Link to v4: https://lore.kernel.org/all/20260827-kuno-soc-support-v4-0-dd34f235fc1a@oss.qualcomm.com/ (local)

Changes in v4:
- Addressed v3 review feedback:
   - Registered the interconnect NoC provider from an explicit
     core_initcall() instead of module_platform_driver(), matching the
     established qcom interconnect driver convention.
   - Replaced the NA mux-slot placeholder with _ across the pinctrl
     PINGROUP table, matching the upstream qcom pinctrl convention.
   - Added minItems: 1 to the interconnect binding clocks property so a
     single clock is valid (system-noc), and aligned the binding
     examples with the sdx75 labelled-node style.
   - Added GDSC power-domain support to the Kuno GCC: the binding now
     defines GDSC macros and the driver registers the EMAC0, PCIe and
     USB20 GDSCs, so #power-domain-cells has real backing providers.
   - Split the cpu-idle-states phandle list so each phandle is on its
     own line.
   - Collected Acked-by / Reviewed-by tags from v3.
- Link to v3: https://lore.kernel.org/all/20260821-kuno-soc-support-v3-0-196e2b306368@oss.qualcomm.com/ (local)

Changes in v3:
- Addressed v2 review feedback:
   - Reworked the interconnect binding clocks: dropped clock-names and
     replaced the flexible min/maxItems list with fixed per-compatible
     clocks (aggre-noc: 2, system-noc: 1), required where present and
     disallowed otherwise, matching the sdx75/glymur shape.
   - Made #power-domain-cells required on the Kuno GCC binding and
     declared it on the SoC gcc node, since the Kuno GCC hosts GDSCs and
     is a power-domain provider (following qcom,sdx75-gcc); the driver's
     GDSC support will follow separately.
   - Made the GPIO65/66 QDSS CTI trig1 funcsel-3 route selectable: added
     a distinct qdss_cti_trig1_mire pin function (and allowed it in the
     TLMM binding enum), as the duplicate funcsel-2/3 entry left
     funcsel-3 unreachable.
   - Collected Acked-by / Reviewed-by tags from v2.
- Link to v2: https://lore.kernel.org/all/20260814-kuno-soc-support-v2-0-3079794f0f73@oss.qualcomm.com/ (local)

Changes in v2:
- Addressed v1 review feedback:
   - Reworked soc: qcom: geni-se commit message; dropped the Fixes: tag.
   - Reworded dt-bindings commit messages to the "Document X for the
     Qualcomm Kuno SoC" one-liner form.
   - Canonicalized copyright headers on interconnect binding / driver /
     NoC ID header to the single-line Qualcomm Technologies form.
   - Dropped unused <linux/mod_devicetable.h> from the interconnect
     driver.
   - Fixed MODULE_DESCRIPTION casing "KUNO" -> "Kuno" in the interconnect
     driver.
   - Extended interconnect binding to optionally allow up to four QoS AHB
     clocks (matches sdx75/glymur shape).
   - Cleaned up brace/space style in gcc-kuno.c to match peer clock
     drivers.
   - Reworked initial DTS: moved idle-states / domain-idle-states inside
     cpus{}, wrapped fixed clocks in a clocks{} container with peer node
     names (xo-board, sleep-clk), dropped the pcie_pipe_clk fixed-clock
     stub (the GCC 4th clock now uses <0> in DTS to match the sdx75
     idiom; the YAML example uses a named placeholder), dropped the
     RPMHPD_CX power-domain reference on GCC (Kuno GCC has no GDSCs /
     no corner votes / no pm_runtime, so the reference was inert), and
     added a bootloader hand-off comment on the memory node.
   - Collected Acked-by / Reviewed-by tags from v1.
- Link to v1: https://lore.kernel.org/all/20260809-kuno-soc-support-v1-0-5e0ede4a0c72@oss.qualcomm.com/ (local)

---
Hardeep Sharma (15):
       soc: qcom: geni-se: allow selection on 32-bit ARM Qualcomm SoCs
       dt-bindings: power: rpmpd: Document Kuno RPMh power domains
       pmdomain: qcom: rpmhpd: Add power domains for Kuno
       dt-bindings: clock: qcom,rpmhcc: Add Kuno RPMh clock controller
       clk: qcom: clk-rpmh: Add support for Kuno RPMh clocks
       dt-bindings: interconnect: Add Qualcomm Kuno NoC
       interconnect: qcom: Add Kuno interconnect provider driver
       dt-bindings: pinctrl: qcom: Add Kuno TLMM
       pinctrl: qcom: Add Kuno pinctrl driver
       dt-bindings: clock: qcom: Add Kuno Global Clock Controller
       clk: qcom: Add Global Clock Controller driver for Kuno
       dt-bindings: interrupt-controller: qcom,pdc: Add Kuno compatible string
       dt-bindings: firmware: qcom,scm: Document SCM on Kuno SoC
       dt-bindings: arm: qcom: Document Kuno IDP board
       ARM: dts: qcom: Add initial device tree for Kuno SoC

  .../devicetree/bindings/arm/qcom-soc.yaml          |    4 +-
  Documentation/devicetree/bindings/arm/qcom.yaml    |    5 +
  .../devicetree/bindings/clock/qcom,kuno-gcc.yaml   |   52 +
  .../devicetree/bindings/clock/qcom,rpmhcc.yaml     |    1 +
  .../devicetree/bindings/firmware/qcom,scm.yaml     |    1 +
  .../bindings/interconnect/qcom,kuno-rpmh.yaml      |  118 ++
  .../bindings/interrupt-controller/qcom,pdc.yaml    |    1 +
  .../bindings/pinctrl/qcom,kuno-tlmm.yaml           |  110 ++
  .../devicetree/bindings/power/qcom,rpmpd.yaml      |    1 +
  arch/arm/boot/dts/qcom/Makefile                    |    1 +
  arch/arm/boot/dts/qcom/qcom-kuno-idp.dts           |   25 +
  arch/arm/boot/dts/qcom/qcom-kuno.dtsi              |  423 ++++++
  drivers/clk/qcom/Kconfig                           |   11 +
  drivers/clk/qcom/Makefile                          |    1 +
  drivers/clk/qcom/clk-rpmh.c                        |   15 +
  drivers/clk/qcom/gcc-kuno.c                        | 1483 ++++++++++++++++++++
  drivers/interconnect/qcom/Kconfig                  |   13 +
  drivers/interconnect/qcom/Makefile                 |    2 +
  drivers/interconnect/qcom/kuno.c                   |  988 +++++++++++++
  drivers/pinctrl/qcom/Kconfig.msm                   |   11 +
  drivers/pinctrl/qcom/Makefile                      |    1 +
  drivers/pinctrl/qcom/pinctrl-kuno.c                |  801 +++++++++++
  drivers/pmdomain/qcom/rpmhpd.c                     |   16 +
  drivers/soc/qcom/Kconfig                           |    1 -
  include/dt-bindings/clock/qcom,kuno-gcc.h          |  100 ++
  include/dt-bindings/interconnect/qcom,kuno.h       |   89 ++
  26 files changed, 4271 insertions(+), 3 deletions(-)
---
base-commit: f82a5da2f04960df9fb57489992d03dd5e64ec6f
change-id: 20260809-kuno-soc-support-1dab826de0bf

Best regards,
--
Hardeep Sharma [off-list ref]
Hello All,

Several patches from the series have already been picked up and applied
through their respective subsystem trees.

The remaining patches listed below are ready to be picked up as well:

  [PATCH v5 06/15] dt-bindings: interconnect: Add Qualcomm Kuno NoC
  [PATCH v5 07/15] interconnect: qcom: Add Kuno interconnect provider driver
  [PATCH v5 14/15] dt-bindings: arm: qcom: Document Kuno IDP board

Since the majority of the series has already been applied, I would
appreciate it if the remaining patches could also be considered for
inclusion.

Please let me know if there are any outstanding concerns or additional
changes required from my side.

Thank you for your time and review.

Best Wishes,
Hardeep Sharma

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help