From: sashiko-bot@kernel.org
To: "Wei Deng" <wei.deng@oss.qualcomm.com>
Cc: devicetree@vger.kernel.org, robh@kernel.org, conor+dt@kernel.org
Subject: Re: [PATCH v3 3/3] arm64: dts: qcom: hamoa-iot-evk: Describe the PCIe M.2 Key E connector
Date: Wed, 29 Jul 2026 10:52:14 +0000 [thread overview]
Message-ID: <20260729105214.AB0E81F00A3A@smtp.kernel.org> (raw)
In-Reply-To: <20260729-hamoa-m2-dts-v2-v3-3-4d7ef9274575@oss.qualcomm.com>
Thank you for your contribution! Sashiko AI review found 3 potential issue(s) to consider:
- [High] Switching to the M.2 power sequencer framework breaks Bluetooth initialization because the `hci_qca` driver and the `pwrseq-pcie-m2` driver use mismatched power sequencer target names, causing probe failure.
- [High] The `wifi-bt-connector` node omits the 1.8V IO supply (`vpcie1v8-supply`), breaking strict dependency tracking for the M.2 VIO.
- [Medium] The removal of the explicit `bluetooth` serdev node drops the `max-speed = <3200000>` property without an equivalent replacement mechanism, leading to a Bluetooth throughput regression.
--
--- Patch [3]: [PATCH v3 3/3] arm64: dts: qcom: hamoa-iot-evk: Describe the PCIe M.2 Key E connector ---
commit 519be148d37d417828c1284c945a2103a6f63bb5
Author: Wei Deng <wei.deng@oss.qualcomm.com>
arm64: dts: qcom: hamoa-iot-evk: Describe the PCIe M.2 Key E connector
This patch replaces the static WCN7850-specific Wi-Fi and Bluetooth nodes
with a dynamic pcie-m2-e-connector node. It delegates card power and dynamic
node creation to the pwrseq-pcie-m2 driver. The older dummy regulators and
chip-specific wcn7850-pmu nodes are removed.
> diff --git a/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts b/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts
> index c7ba4b353ddd2..a2632554aa83a 100644
> --- a/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts
> +++ b/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts
[ ... ]
> @@ -538,6 +512,55 @@ vreg_wwan: regulator-wwan {
> regulator-boot-on;
> };
>
> + wifi-bt-connector {
> + compatible = "pcie-m2-e-connector";
> + vpcie3v3-supply = <&vreg_wcn_3p3>;
[Severity: High]
This node appears to omit the 1.8V IO supply (vpcie1v8-supply) that was
previously supplied to the PMU as vddio-supply.
Since the pwrseq-pcie-m2 driver uses of_regulator_bulk_get_all() to acquire
all supplies, and vreg_l15b_1p8 is not marked as regulator-always-on in this
tree, could the IO domain lose power during runtime if all other consumers
release the 1.8V regulator?
> +
> + w-disable1-gpios = <&tlmm 117 GPIO_ACTIVE_LOW>;
> + w-disable2-gpios = <&tlmm 116 GPIO_ACTIVE_LOW>;
[Severity: High]
Could the w-disable2-gpios reset remain permanently asserted during Bluetooth
initialization?
When hci_qca probes the dynamic Bluetooth node, it attempts to acquire the
power sequencer using devm_pwrseq_get(&serdev->dev, "bluetooth"). However, the
pwrseq-pcie-m2 driver appears to register the target as "uart".
Will this name mismatch cause devm_pwrseq_get() to fail with -ENOENT,
prompting hci_qca to fall back to parsing direct regulators and GPIOs that are
no longer present, ultimately failing the probe?
> +
> + pinctrl-0 = <&wcn_wlan_en>, <&wcn_bt_en>;
> + pinctrl-names = "default";
[ ... ]
> @@ -1514,19 +1469,10 @@ wcn_usb_sw_n: wcn-usb-sw-n-state {
>
> &uart14 {
> status = "okay";
> +};
>
> - bluetooth {
> - compatible = "qcom,wcn7850-bt";
> - max-speed = <3200000>;
[Severity: Medium]
By removing this static bluetooth node, we lose the explicit max-speed
property.
Does the new dynamic node generation framework in the pwrseq-pcie-m2 driver
have a mechanism to inject the max-speed property into the dynamically created
UART serdev?
If not, will the hci_qca driver fall back to a lower default baud rate and
reduce Bluetooth throughput?
> -
> - vddaon-supply = <&vreg_pmu_aon_0p59>;
> - vddwlcx-supply = <&vreg_pmu_wlcx_0p8>;
> - vddwlmx-supply = <&vreg_pmu_wlmx_0p85>;
> - vddrfacmn-supply = <&vreg_pmu_rfa_cmn>;
> - vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>;
> - vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>;
> - vddrfa1p8-supply = <&vreg_pmu_rfa_1p8>;
> - };
> +&uart14_ep {
> + remote-endpoint = <&m2_e_uart_ep>;
> };
>
> &uart21 {
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260729-hamoa-m2-dts-v2-v3-0-4d7ef9274575@oss.qualcomm.com?part=3
prev parent reply other threads:[~2026-07-29 10:52 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-29 10:27 [PATCH v3 0/3] arm64: dts: qcom: hamoa-iot-evk: Enable M.2 Key E connector Wei Deng
2026-07-29 10:27 ` [PATCH v3 1/3] arm64: dts: qcom: hamoa: Number usb_2 HS port and add M.2 endpoint stubs Wei Deng
2026-07-29 10:46 ` Konrad Dybcio
2026-07-29 11:09 ` sashiko-bot
2026-07-29 10:27 ` [PATCH v3 2/3] arm64: dts: qcom: hamoa: Add compatible to the PCIe Root Port Wei Deng
2026-07-29 10:27 ` [PATCH v3 3/3] arm64: dts: qcom: hamoa-iot-evk: Describe the PCIe M.2 Key E connector Wei Deng
2026-07-29 10:45 ` Konrad Dybcio
2026-07-29 10:52 ` sashiko-bot [this message]
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=20260729105214.AB0E81F00A3A@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=robh@kernel.org \
--cc=sashiko-reviews@lists.linux.dev \
--cc=wei.deng@oss.qualcomm.com \
/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