From: sashiko-bot@kernel.org
To: "Krishna Chaitanya Chundru" <krishna.chundru@oss.qualcomm.com>
Cc: linux-phy@lists.infradead.org, devicetree@vger.kernel.org,
linux-pci@vger.kernel.org, robh@kernel.org, conor+dt@kernel.org,
vkoul@kernel.org, neil.armstrong@linaro.org, olteanv@gmail.com
Subject: Re: [PATCH v3 6/6] arm64: qcom: monaco: Add PCIe Endpoint nodes
Date: Sat, 14 Nov 2026 01:32:28 +0000 [thread overview]
Message-ID: <sashiko-outbox-214007@kernel.org> (raw)
In-Reply-To: <20261114-monaco_ep-v3-6-7fe227cdfac0@oss.qualcomm.com>
Thank you for your contribution! Sashiko AI review found 2 potential
issues to consider:
- [Medium] arm64: dts: qcom: monaco: disallowed input-enable in pcie ep
tlmm states
- [Low] arm64: dts: qcom: monaco: board-specific PCIe EP GPIOs and
pinctrl in SoC dtsi
--
commit e2e513d816ae9e8683a2141418e5f09297f8dbd2
Author: Krishna Chaitanya Chundru <krishna.chundru@oss.qualcomm.com>
arm64: qcom: monaco: Add PCIe Endpoint nodes
This commit adds DeviceTree nodes and TLMM pin configurations for the two
PCIe Endpoint controllers on Qualcomm Monaco (QCS8300).
> diff --git a/arch/arm64/boot/dts/qcom/monaco.dtsi b/arch/arm64/boot/dts/qcom/monaco.dtsi
> index f27f0953ab9e0..4a1325aaf0726 100644
> --- a/arch/arm64/boot/dts/qcom/monaco.dtsi
> +++ b/arch/arm64/boot/dts/qcom/monaco.dtsi
[ ... ]
> @@ -2406,6 +2407,57 @@ pcieport0: pcie@0 {
> };
> };
>
> + pcie0_ep: pcie-ep@1c00000 {
[ ... ]
> + phys = <&pcie0_phy>;
> + phy-names = "pciephy";
> + reset-gpios = <&tlmm 2 GPIO_ACTIVE_LOW>;
> + wake-gpios = <&tlmm 0 GPIO_ACTIVE_LOW>;
> + pinctrl-0 = <&pcie0_ep_default_state>;
> + pinctrl-names = "default";
> + num-lanes = <2>;
> + linux,pci-domain = <0>;
> +
> + status = "disabled";
> + };
[Severity: Low]
Should reset-gpios, wake-gpios, and the GPIO pin configurations in
pcie0_ep_default_state and pcie1_ep_default_state live in board DTS files
rather than monaco.dtsi?
Only gpio1 (pcie0_clkreq) and gpio22 (pcie1_clkreq) have dedicated PCIe
pinmux functions in the QCS8300 TLMM. The PERST# and optional WAKE# pins
(gpio0, gpio2, gpio21, and gpio23) use generic GPIO muxing that varies across
Monaco boards, and the Root Complex pcie0 and pcie1 nodes in monaco.dtsi leave
those properties to the board files.
In addition, perst-pins in pcie0_ep_default_state and pcie1_ep_default_state
sets bias-pull-up on the GPIO_ACTIVE_LOW reset inputs, which pulls an
undriven PERST# line into the deasserted state and triggers link training in
qcom_pcie_ep_perst_irq_thread() instead of keeping reset asserted with
bias-pull-down. If any pinctrl nodes remain under tlmm in monaco.dtsi, they
should also be placed in alphabetical order after cam0-default-state.
[ ... ]
> @@ -6239,6 +6342,50 @@ tlmm: pinctrl@f100000 {
> #interrupt-cells = <2>;
> wakeup-parent = <&pdc>;
>
> + pcie0_ep_default_state: pcie0-ep-default-state {
> + wake-pins {
> + pins = "gpio0";
> + function = "gpio";
> + drive-strength = <2>;
> + };
> +
> + clkreq-pins {
> + pins = "gpio1";
> + function = "pcie0_clkreq";
> + drive-strength = <2>;
> + bias-pull-up;
> + };
> +
> + perst-pins {
> + pins = "gpio2";
> + function = "gpio";
> + input-enable;
> + bias-pull-up;
> + };
> + };
> +
> + pcie1_ep_default_state: pcie1-ep-default-state {
> + wake-pins {
> + pins = "gpio21";
> + function = "gpio";
> + drive-strength = <2>;
> + };
> +
> + clkreq-pins {
> + pins = "gpio22";
> + function = "pcie1_clkreq";
> + drive-strength = <2>;
> + bias-pull-up;
> + };
> +
> + perst-pins {
> + pins = "gpio23";
> + function = "gpio";
> + input-enable;
> + bias-pull-up;
> + };
> + };
[Severity: Medium]
Does input-enable in perst-pins under pcie0_ep_default_state and
pcie1_ep_default_state break dtbs_check validation for Monaco boards?
Documentation/devicetree/bindings/pinctrl/qcom,qcs8300-tlmm.yaml validates
subnodes against qcom,tlmm-common.yaml#/$defs/qcom-tlmm-state, which sets
input-enable: false because Qualcomm TLMM pins do not have an input-buffer
enable bit. Dropping input-enable avoids the schema validation failure.
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261114-monaco_ep-v3-0-7fe227cdfac0@oss.qualcomm.com?part=6
WARNING: multiple messages have this Message-ID (diff)
From: sashiko-bot@kernel.org
To: "Krishna Chaitanya Chundru" <krishna.chundru@oss.qualcomm.com>
Cc: linux-phy@lists.infradead.org, devicetree@vger.kernel.org,
linux-pci@vger.kernel.org, robh@kernel.org, conor+dt@kernel.org,
vkoul@kernel.org, neil.armstrong@linaro.org, olteanv@gmail.com
Subject: Re: [PATCH v3 6/6] arm64: qcom: monaco: Add PCIe Endpoint nodes
Date: Sat, 14 Nov 2026 01:32:28 +0000 [thread overview]
Message-ID: <sashiko-outbox-214007@kernel.org> (raw)
In-Reply-To: <20261114-monaco_ep-v3-6-7fe227cdfac0@oss.qualcomm.com>
Thank you for your contribution! Sashiko AI review found 2 potential
issues to consider:
- [Medium] arm64: dts: qcom: monaco: disallowed input-enable in pcie ep
tlmm states
- [Low] arm64: dts: qcom: monaco: board-specific PCIe EP GPIOs and
pinctrl in SoC dtsi
--
commit e2e513d816ae9e8683a2141418e5f09297f8dbd2
Author: Krishna Chaitanya Chundru <krishna.chundru@oss.qualcomm.com>
arm64: qcom: monaco: Add PCIe Endpoint nodes
This commit adds DeviceTree nodes and TLMM pin configurations for the two
PCIe Endpoint controllers on Qualcomm Monaco (QCS8300).
> diff --git a/arch/arm64/boot/dts/qcom/monaco.dtsi b/arch/arm64/boot/dts/qcom/monaco.dtsi
> index f27f0953ab9e0..4a1325aaf0726 100644
> --- a/arch/arm64/boot/dts/qcom/monaco.dtsi
> +++ b/arch/arm64/boot/dts/qcom/monaco.dtsi
[ ... ]
> @@ -2406,6 +2407,57 @@ pcieport0: pcie@0 {
> };
> };
>
> + pcie0_ep: pcie-ep@1c00000 {
[ ... ]
> + phys = <&pcie0_phy>;
> + phy-names = "pciephy";
> + reset-gpios = <&tlmm 2 GPIO_ACTIVE_LOW>;
> + wake-gpios = <&tlmm 0 GPIO_ACTIVE_LOW>;
> + pinctrl-0 = <&pcie0_ep_default_state>;
> + pinctrl-names = "default";
> + num-lanes = <2>;
> + linux,pci-domain = <0>;
> +
> + status = "disabled";
> + };
[Severity: Low]
Should reset-gpios, wake-gpios, and the GPIO pin configurations in
pcie0_ep_default_state and pcie1_ep_default_state live in board DTS files
rather than monaco.dtsi?
Only gpio1 (pcie0_clkreq) and gpio22 (pcie1_clkreq) have dedicated PCIe
pinmux functions in the QCS8300 TLMM. The PERST# and optional WAKE# pins
(gpio0, gpio2, gpio21, and gpio23) use generic GPIO muxing that varies across
Monaco boards, and the Root Complex pcie0 and pcie1 nodes in monaco.dtsi leave
those properties to the board files.
In addition, perst-pins in pcie0_ep_default_state and pcie1_ep_default_state
sets bias-pull-up on the GPIO_ACTIVE_LOW reset inputs, which pulls an
undriven PERST# line into the deasserted state and triggers link training in
qcom_pcie_ep_perst_irq_thread() instead of keeping reset asserted with
bias-pull-down. If any pinctrl nodes remain under tlmm in monaco.dtsi, they
should also be placed in alphabetical order after cam0-default-state.
[ ... ]
> @@ -6239,6 +6342,50 @@ tlmm: pinctrl@f100000 {
> #interrupt-cells = <2>;
> wakeup-parent = <&pdc>;
>
> + pcie0_ep_default_state: pcie0-ep-default-state {
> + wake-pins {
> + pins = "gpio0";
> + function = "gpio";
> + drive-strength = <2>;
> + };
> +
> + clkreq-pins {
> + pins = "gpio1";
> + function = "pcie0_clkreq";
> + drive-strength = <2>;
> + bias-pull-up;
> + };
> +
> + perst-pins {
> + pins = "gpio2";
> + function = "gpio";
> + input-enable;
> + bias-pull-up;
> + };
> + };
> +
> + pcie1_ep_default_state: pcie1-ep-default-state {
> + wake-pins {
> + pins = "gpio21";
> + function = "gpio";
> + drive-strength = <2>;
> + };
> +
> + clkreq-pins {
> + pins = "gpio22";
> + function = "pcie1_clkreq";
> + drive-strength = <2>;
> + bias-pull-up;
> + };
> +
> + perst-pins {
> + pins = "gpio23";
> + function = "gpio";
> + input-enable;
> + bias-pull-up;
> + };
> + };
[Severity: Medium]
Does input-enable in perst-pins under pcie0_ep_default_state and
pcie1_ep_default_state break dtbs_check validation for Monaco boards?
Documentation/devicetree/bindings/pinctrl/qcom,qcs8300-tlmm.yaml validates
subnodes against qcom,tlmm-common.yaml#/$defs/qcom-tlmm-state, which sets
input-enable: false because Qualcomm TLMM pins do not have an input-buffer
enable bit. Dropping input-enable avoids the schema validation failure.
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261114-monaco_ep-v3-0-7fe227cdfac0@oss.qualcomm.com?part=6
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
next prev parent reply other threads:[~2026-11-14 1:32 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-14 1:13 [PATCH v3 0/6] PCI: qcom-ep: Add PCIe Endpoint support for Monaco Krishna Chaitanya Chundru
2026-11-14 1:13 ` Krishna Chaitanya Chundru
2026-11-14 1:13 ` [PATCH v3 1/6] dt-bindings: phy: qcom,sc8280xp-qmp-pcie-phy: Add qcs8300 16 GT/s PHY Krishna Chaitanya Chundru
2026-11-14 1:13 ` Krishna Chaitanya Chundru
2026-11-14 1:16 ` sashiko-bot
2026-11-14 1:13 ` [PATCH v3 2/6] dt-bindings: PCI: qcom-ep: Add QCS8300 compatible Krishna Chaitanya Chundru
2026-11-14 1:13 ` Krishna Chaitanya Chundru
2026-11-14 1:16 ` sashiko-bot
2026-11-14 1:13 ` [PATCH v3 3/6] phy: qcom: qmp-pcie: Add endpoint PHY configuration for QCS8300 Krishna Chaitanya Chundru
2026-11-14 1:13 ` Krishna Chaitanya Chundru
2026-11-14 1:21 ` sashiko-bot
2026-11-14 1:13 ` [PATCH v3 4/6] PCI: qcom-ep: Set initial interconnect bandwidth before enabling clocks Krishna Chaitanya Chundru
2026-11-14 1:13 ` Krishna Chaitanya Chundru
2026-11-14 1:18 ` sashiko-bot
2026-11-14 1:18 ` sashiko-bot
2026-11-14 1:13 ` [PATCH v3 5/6] arm64: qcom: monaco: Fix pcie1_phy compatible to list qcs8300 first Krishna Chaitanya Chundru
2026-11-14 1:13 ` Krishna Chaitanya Chundru
2026-11-14 1:18 ` sashiko-bot
2026-11-14 1:13 ` [PATCH v3 6/6] arm64: qcom: monaco: Add PCIe Endpoint nodes Krishna Chaitanya Chundru
2026-11-14 1:13 ` Krishna Chaitanya Chundru
2026-11-14 1:32 ` sashiko-bot [this message]
2026-11-14 1:32 ` sashiko-bot
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=sashiko-outbox-214007@kernel.org \
--to=sashiko-bot@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=krishna.chundru@oss.qualcomm.com \
--cc=linux-pci@vger.kernel.org \
--cc=linux-phy@lists.infradead.org \
--cc=neil.armstrong@linaro.org \
--cc=olteanv@gmail.com \
--cc=robh@kernel.org \
--cc=sashiko-reviews@lists.linux.dev \
--cc=vkoul@kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.