Devicetree
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Antony Kurniawan Soemardi via B4 Relay"
	<devnull+linux.smankusors.com@kernel.org>
Cc: devicetree@vger.kernel.org, conor+dt@kernel.org, robh@kernel.org
Subject: Re: [PATCH v3 05/10] ARM: dts: qcom: msm8960: add RPM clock controller and fix USB clocks
Date: Mon, 01 Jun 2026 09:09:21 +0000	[thread overview]
Message-ID: <20260601090921.B76661F00893@smtp.kernel.org> (raw)
In-Reply-To: <20260601-msm8960-wifi-v3-5-fec6ac8dba02@smankusors.com>

Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:

New issues:
- [Low] Device Tree binding schema violation: `qcom,ci-hdrc` defines 3 clocks, but the `ci-hdrc-usb2.yaml` schema restricts `clocks` and `clock-names` properties to a maximum of 2 items.

Pre-existing issues:
- [High] The APQ8064 device tree misses the RPM fabric clock dependency for its USB nodes (`usb1`, `usb3`, `usb4`), leading to broken USB functionality.
--

commit bf5021df5ce13a6b631bed12c18c025b975c7150
Author: Antony Kurniawan Soemardi <linux@smankusors.com>

ARM: dts: qcom: msm8960: add RPM clock controller and fix USB clocks

The RPM clock controller manages clocks shared between the application
processor and the RPM firmware, including fabric and bus clocks required
by several peripherals.

With the RPM clock controller now available in the device tree, the USB
controller must explicitly declare its dependency on
RPM_DAYTONA_FABRIC_CLK. Without this declaration, the clock framework
would consider it unused and disable it, breaking USB functionality.

This also corrects the previous misuse of USB_HS1_XCVR_CLK as the core
clock. The XCVR clock is in fact used for PHY/reset handling rather than
as the main core clock.

> A similar issue has been observed on APQ8064, where missing the RPM
> fabric clock dependency leads to broken USB.

[Severity: High]
This is a pre-existing issue, but since the commit message notes that
APQ8064 is broken due to the missing RPM fabric clock dependency, should we
fix the usb1, usb3, and usb4 nodes in arch/arm/boot/dts/qcom/qcom-apq8064.dtsi
as well?

For example, in qcom-apq8064.dtsi the usb1 node currently looks like this:

usb1: usb@12500000 {
    ...
    clocks = <&gcc USB_HS1_XCVR_CLK>, <&gcc USB_HS1_H_CLK>;
    clock-names = "core", "iface";
}

Since rpmcc is already enabled for APQ8064, the clock framework will disable
the RPM fabric clock as unused, rendering the APQ8064 USB controller fully
inoperable. Is it worth including a fix for qcom-apq8064.dtsi in this patch
series to restore that functionality?

> diff --git a/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi b/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi
> index fd28401cebb5e..1ae399c5a81f0 100644
> --- a/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi
> +++ b/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi

[ ... ]

> @@ -507,8 +519,12 @@ usb1: usb@12500000 {
>  			reg = <0x12500000 0x200>,
>  			      <0x12500200 0x200>;
>  			interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
> -			clocks = <&gcc USB_HS1_XCVR_CLK>, <&gcc USB_HS1_H_CLK>;
> -			clock-names = "core", "iface";
> +			clocks = <&gcc USB_HS1_H_CLK>,
> +				 <&rpmcc RPM_DAYTONA_FABRIC_CLK>,
> +				 <&gcc USB_HS1_XCVR_CLK>;
> +			clock-names = "iface",
> +				      "core",
> +				      "fs";

[Severity: Low]
Does adding a third clock here violate the device tree binding schema?

Looking at Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml, the clocks
and clock-names properties are restricted to a maximum of 2 items:

  clocks:
    minItems: 1
    maxItems: 2

  clock-names:
    minItems: 1
    maxItems: 2

Will this cause dtbs_check validation failures? Even if the ci_hdrc_msm
driver handles the optional fs clock correctly at runtime using
devm_clk_get_optional(), should the schema be updated to allow up to 3
items before adding them to the device tree?

>  			assigned-clocks = <&gcc USB_HS1_XCVR_CLK>;
>  			assigned-clock-rates = <60000000>;
>  			resets = <&gcc USB_HS1_RESET>;

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260601-msm8960-wifi-v3-0-fec6ac8dba02@smankusors.com?part=5

  reply	other threads:[~2026-06-01  9:09 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-01  8:51 [PATCH v3 00/10] ARM: qcom: msm8960: enable WCNSS (Bluetooth & Wi-Fi) Antony Kurniawan Soemardi via B4 Relay
2026-06-01  8:51 ` [PATCH v3 01/10] dt-bindings: clock: qcom,rpmcc: add msm8960 compatible Antony Kurniawan Soemardi via B4 Relay
2026-06-01  8:51 ` [PATCH v3 02/10] dt-bindings: mfd: syscon: add qcom,msm8960-sps-sic Antony Kurniawan Soemardi via B4 Relay
2026-06-01  8:51 ` [PATCH v3 03/10] mfd: qcom_rpm: add msm8960 QDSS clock resource Antony Kurniawan Soemardi via B4 Relay
2026-06-01 11:34   ` Dmitry Baryshkov
2026-06-01  8:51 ` [PATCH v3 04/10] clk: qcom: clk-rpm: add msm8960 compatible Antony Kurniawan Soemardi via B4 Relay
2026-06-01 11:37   ` Dmitry Baryshkov
2026-06-01 11:38   ` Dmitry Baryshkov
2026-06-01 13:36     ` Antony Kurniawan Soemardi
2026-06-01  8:51 ` [PATCH v3 05/10] ARM: dts: qcom: msm8960: add RPM clock controller and fix USB clocks Antony Kurniawan Soemardi via B4 Relay
2026-06-01  9:09   ` sashiko-bot [this message]
2026-06-01 12:06   ` Dmitry Baryshkov
2026-06-01  8:51 ` [PATCH v3 06/10] ARM: dts: qcom: msm8960: add SCM Antony Kurniawan Soemardi via B4 Relay
2026-06-01  8:51 ` [PATCH v3 07/10] ARM: dts: qcom: msm8960: add SMEM & hwlock Antony Kurniawan Soemardi via B4 Relay
2026-06-01  8:51 ` [PATCH v3 08/10] ARM: dts: qcom: msm8960: add SMSM & SPS Antony Kurniawan Soemardi via B4 Relay
2026-06-01  9:02   ` sashiko-bot
2026-06-01  8:51 ` [PATCH v3 09/10] ARM: dts: qcom: msm8960: add Riva Antony Kurniawan Soemardi via B4 Relay
2026-06-01  8:51 ` [PATCH v3 10/10] ARM: dts: qcom: msm8960: huashan: enable Wi-Fi and Bluetooth Antony Kurniawan Soemardi via B4 Relay
2026-06-01 12:07   ` Dmitry Baryshkov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260601090921.B76661F00893@smtp.kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=devnull+linux.smankusors.com@kernel.org \
    --cc=robh@kernel.org \
    --cc=sashiko-reviews@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox