Re: [PATCH v2 1/5] arm64: dts: qcom: nord: Add PCIe PHY and controller nodes
From: Shawn Guo
Date: Mon Oct 12 2026 - 02:37:59 EST
On Mon, Oct 12, 2026 at 10:52:34AM +0530, Krishna Chaitanya Chundru wrote:
>
>
> On 10/10/2026 8:04 AM, Shawn Guo wrote:
> > On Tue, Sep 15, 2026 at 09:56:28AM +0800, Shawn Guo wrote:
> >> From: Krishna Chaitanya Chundru <krishna.chundru@xxxxxxxxxxxxxxxx>
> >>
> >> Nord has four PCIe controllers backed by a single quadfurcated Gen5
> >> QMP PHY with four ports (A/B/C/D) and a common PCIe SMMU. The ports
> >> can be ganged into x16, x8+x8, x8+x4+x4 or x8+x4+x2+x2 topologies; the
> >> topology in effect is selected by firmware through the TCSR link-config
> >> mode register, which the PHY driver reads at probe time. Describe the
> >> x8+x4+x2+x2 topology, i.e. all four controllers usable, as that is the
> >> configuration the boards ship with.
> >>
> >> Add the controller and SMMU nodes to nord.dtsi, and the PHY node along
> >> with the per-controller clocks, resets, GDSCs, interconnects, OPP tables
> >> and TLMM pin states to nord-embedded.dtsi. The four PCIe pipe clocks
> >> also become available now, so hook them up as GCC parents in place of
> >> the <0> placeholders.
> >>
> >> The controllers and the PHY are left disabled here and enabled per
> >> board.
> >>
> >> Signed-off-by: Krishna Chaitanya Chundru <krishna.chundru@xxxxxxxxxxxxxxxx>
> >> Reviewed-by: Abel Vesa <abel.vesa@xxxxxxxxxxxxxxxx>
> >> Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxxxxxxxx>
> >> Signed-off-by: Shawn Guo <shengchao.guo@xxxxxxxxxxxxxxxx>
[...]
> >> &tlmm {
> >> + pcie0_default: pcie0-default-state {
> >> + wake-pins {
> >> + pins = "gpio0";
> >> + function = "gpio";
> >> + drive-strength = <2>;
> >> + bias-pull-up;
> >> + };
> >> +
> >> + clkreq-pins {
> >> + pins = "gpio1";
> >> + function = "pcie0_clk_req_n";
> >> + drive-strength = <2>;
> >> + bias-pull-up;
> >> + };
> >> +
> >> + perst-pins {
> >> + pins = "gpio2";
> >> + function = "gpio";
> >> + drive-strength = <2>;
> >> + bias-disable;
> >> + };
> > pcie0_clk_req_n is a SoC level pin function, so it has a good reason to
> > stay here. But wake and perst are board chosen GPIOs. I think they should
> > go to board DTS.
> Shawn, I don't see perst and wake gpios are changing per board, for that
> reason I added them here, but such requirement is coming we can move them to
> board file.
Well, we have only seen Ride and RRD so far. We never know how other Nord
based boards to come will choose the perst and wake GPIOs. This is
simply a board level configuration and should go to board dts.
Shawn