From: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
To: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Cc: Neil Armstrong <neil.armstrong@linaro.org>,
Vinod Koul <vkoul@kernel.org>,
Kishon Vijay Abraham I <kishon@kernel.org>,
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>,
Xilin Wu <sophon@radxa.com>,
linux-arm-msm@vger.kernel.org, linux-phy@lists.infradead.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v4 2/3] phy: qcom: qmp-combo: get the USB3 & DisplayPort lanes mapping from DT
Date: Mon, 6 Oct 2025 12:54:21 +0200 [thread overview]
Message-ID: <c4e12751-678b-4941-9e35-c7d904d1b128@oss.qualcomm.com> (raw)
In-Reply-To: <v4oxbjc4jho5uuz2k2ou4rvycdwifu2wuvbhldgfrm7ord4yqu@7ktz3a4233ff>
On 10/6/25 12:35 PM, Dmitry Baryshkov wrote:
> On Mon, Oct 06, 2025 at 12:08:22PM +0200, Konrad Dybcio wrote:
>> On 9/30/25 9:39 AM, Neil Armstrong wrote:
>>> The QMP USB3/DP Combo PHY hosts an USB3 phy and a DP PHY on top
>>> of a combo glue to route either lanes to the 4 shared physical lanes.
>>>
>>> The routing of the lanes can be:
>>> - 2 DP + 2 USB3
>>> - 4 DP
>>> - 2 USB3
>>>
>>> Get the lanes mapping from DT and stop registering the USB-C
>>> muxes in favor of a static mode and orientation detemined
>>> by the lanes mapping.
>>>
>>> This allows supporting boards with direct connection of USB3 and
>>> DisplayPort lanes to the QMP Combo PHY lanes, not using the
>>> USB-C Altmode feature.
>>>
>>> Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
>>> ---
[...]
>>
>> [...]
>>
>>> +struct qmp_combo_lane_mapping {
>>> + unsigned int lanes_count;
>>
>> "num_lanes"?
>>
>>> + enum typec_orientation orientation;
>>> + u32 lanes[4];
>>> +};
>>> +
>>> +static const struct qmp_combo_lane_mapping usb3_data_lanes[] = {
>>> + { 2, TYPEC_ORIENTATION_NORMAL, { 1, 0 }},
>>> + { 2, TYPEC_ORIENTATION_REVERSE, { 2, 3 }},
>>> +};
>>> +
>>> +static const struct qmp_combo_lane_mapping dp_data_lanes[] = {
>>> + { 1, TYPEC_ORIENTATION_NORMAL, { 0 }},
>>> + { 1, TYPEC_ORIENTATION_REVERSE, { 3 }},
>>
>> This is not corroborated by your bindings change ^
>>
>> I'm also frankly not sure whether it's pin 2 or 3 that 1-lane-DP
>> would be TXd on
>
> If we follow the standard, it should be 3 (RX2, TX2, TX1, RX1)
OK, then 3 it is
>
>>
>>> + { 2, TYPEC_ORIENTATION_NORMAL, { 3, 2 }},
>>> + { 2, TYPEC_ORIENTATION_REVERSE, { 0, 1 }},
>>> + { 4, TYPEC_ORIENTATION_NORMAL, { 3, 2, 1, 0 }},
>>> + { 4, TYPEC_ORIENTATION_REVERSE, { 0, 1, 2, 3 }},
>>
>> Would it be too cheesy to check orientation based like:
>
> That won't catch weird errors like {0, 2, 1, 3}.
Sure, but you can then drop the orientation field from the struct
>
>>
>> static bool qmpphy_mapping_orient_flipped(u32 *data_lanes)
>> {
>> return data_lanes[0] == 0;
>> }
and the compiler will hopefully nicely inline this into a
compare-and-branch-on-0
Konrad
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
next prev parent reply other threads:[~2025-10-06 10:54 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-30 7:39 [PATCH v4 0/3] arm64: qcom: x1e78100-lenovo-thinkpad-t14s: add support for HDMI output Neil Armstrong
2025-09-30 7:39 ` [PATCH v4 1/3] dt-bindings: phy: qcom,sc8280xp-qmp-usb43dp-phy: Document lanes mapping when not using in USB-C complex Neil Armstrong
2025-10-06 9:43 ` Konrad Dybcio
2025-10-06 9:48 ` Neil Armstrong
2025-09-30 7:39 ` [PATCH v4 2/3] phy: qcom: qmp-combo: get the USB3 & DisplayPort lanes mapping from DT Neil Armstrong
2025-09-30 18:56 ` Dmitry Baryshkov
2025-10-01 7:06 ` Neil Armstrong
2025-10-04 6:46 ` Dmitry Baryshkov
2025-10-06 10:08 ` Konrad Dybcio
2025-10-06 10:35 ` Dmitry Baryshkov
2025-10-06 10:54 ` Konrad Dybcio [this message]
2025-10-06 12:50 ` Neil Armstrong
2025-10-06 14:54 ` Konrad Dybcio
2025-09-30 7:39 ` [PATCH v4 3/3] arm64: dts: qcom: x1e78100-lenovo-thinkpad-t14s: add HDMI nodes Neil Armstrong
2025-09-30 19:18 ` Dmitry Baryshkov
2025-10-06 10:25 ` Konrad Dybcio
2025-09-30 14:39 ` [PATCH v4 0/3] arm64: qcom: x1e78100-lenovo-thinkpad-t14s: add support for HDMI output Rob Herring (Arm)
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=c4e12751-678b-4941-9e35-c7d904d1b128@oss.qualcomm.com \
--to=konrad.dybcio@oss.qualcomm.com \
--cc=andersson@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dmitry.baryshkov@oss.qualcomm.com \
--cc=kishon@kernel.org \
--cc=konradybcio@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-phy@lists.infradead.org \
--cc=neil.armstrong@linaro.org \
--cc=robh@kernel.org \
--cc=sophon@radxa.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox