Devicetree
 help / color / mirror / Atom feed
From: William Bright <william.bright@imd-tec.com>
To: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Cc: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>,
	Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Bjorn Andersson <andersson@kernel.org>,
	Konrad Dybcio <konradybcio@kernel.org>,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-arm-msm@vger.kernel.org
Subject: Re: [PATCH v4 4/4] arm64: dts: qcom: Add IMDT QCS8550 SBC
Date: Tue, 30 Jun 2026 16:04:38 +0100	[thread overview]
Message-ID: <akPbBuWU11mrCsfD@will-Legion-Slim-5-16APH8> (raw)
In-Reply-To: <c56732c2-2aff-4c3f-801b-b798c95918fc@oss.qualcomm.com>

On Mon, Jun 29, 2026 at 04:03:18PM +0200, Konrad Dybcio wrote:
> On 6/29/26 12:25 PM, William Bright wrote:
> > On Fri, Jun 26, 2026 at 05:18:20PM +0200, Konrad Dybcio wrote:
> 
> [...]
> 
> > The PCIe switch we are using is a NXP CBTU02044HEJ, this is a simple
> > 1->2 switch that is not PCIe enumerable. Given that there isn't support
> > for this IC already in the kernel and that it will take quite a few
> > weeks/months for me to cobble something together, I am thinking that it
> > might make sense to drop PCIe support from this patch-series in V5 and
> > then submit a seperate patch-series with a driver and bindings for this
> > IC whenever I get something working. Are you OK with this?
> 
> Sure
> 
> I'm a bit curious why do you have a switch there in the first
> place - is there anything else connected to the other port?
> 
Yeah both PCIe ports are used.
Here's a diagram of both pcie0 and pcie1:
      pcie0                           pcie1
	|                               |
	|                               |
	|                               |
	|                               |
	|                               v
	|                     +-------------------+
	|                     |    PCIe Switch    |
	|                     |   CBTU02044HEJ    |
	|                     +-------------------+
	|                       /               \
	|                      /                 \
	|                     / GPIO16 = Low      \ GPIO16 = High
	v                    v                     v
+-------------------+   +-----------+   +-------------+
|    M.2 Key E      |   |  LAN7430  |   |  M.2 Key B  |
|      Slot         |   | (Gigabit  |   |    Slot     |
|                   |   | Ethernet) |   |             |
+-------------------+   +-----------+   +-------------+ 
We used the CBTU02044HEJ PCIe switch on pcie1 so that we could use pcie1
for ethernet or M.2 Key B with static boot-time selection of either.
My limited understanding is that enumerable PCIe switches are expensive
and hard to get although that might be changing. With pcie0 it looks
like I can just add the Key E connector DT node like you suggested and I
will drop pcie1 support for now.
> Would you like for that to be switchable at runtime?
> 
> +Mani will probably be interested
> 
> Konrad
I didn't intend for this to be possible but its not a negative if this
can be done. My original plan was to use the below .dtso when using Key
B: 
	// SPDX-License-Identifier: BSD-3-Clause
	/*
	* Copyright (c) 2026 IMD Technologies Ltd
	*
	* There are two options for PCIe routing on the IMDT QCS8550 SBC.
	* By default, the PCIe switch is configured to route to the GBE PHY, but
	* this can be changed to route to the M.2 slot Key B by setting 
	* pcie_switch_sel_gpio high
	 */
	/dts-v1/;
	/plugin/;

	#include <dt-bindings/gpio/gpio.h>

	&pcie_switch_sel_gpio {
			/* Change the PCIe switch so that key B routing is selected by
			* inverting the GPIO polarity.
			*/
			gpios = <16 GPIO_ACTIVE_LOW>;
	};

Regards

Will


  reply	other threads:[~2026-06-30 15:04 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-10  8:57 [PATCH v4 0/4] arm64: dts: qcom: Add IMDT QCS8550 SBC William Bright
2026-06-10  8:57 ` [PATCH v4 1/4] dt-bindings: vendor-prefixes: Add IMDT William Bright
2026-06-10  8:57 ` [PATCH v4 2/4] dt-bindings: arm: qcom: Document IMDT QCS8550 SBC/SoM William Bright
2026-06-10  8:57 ` [PATCH v4 3/4] arm64: dts: qcom: Add IMDT QCS8550 SoM William Bright
2026-06-26 15:08   ` Konrad Dybcio
2026-06-10  8:57 ` [PATCH v4 4/4] arm64: dts: qcom: Add IMDT QCS8550 SBC William Bright
2026-06-10  9:05   ` sashiko-bot
2026-06-26 15:18   ` Konrad Dybcio
2026-06-29 10:25     ` William Bright
2026-06-29 14:03       ` Konrad Dybcio
2026-06-30 15:04         ` William Bright [this message]
2026-06-24 13:34 ` [PATCH v4 0/4] " William Bright

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=akPbBuWU11mrCsfD@will-Legion-Slim-5-16APH8 \
    --to=william.bright@imd-tec.com \
    --cc=andersson@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=konrad.dybcio@oss.qualcomm.com \
    --cc=konradybcio@kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=manivannan.sadhasivam@oss.qualcomm.com \
    --cc=robh@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox