Message ID | 20240527-topic-sm8x50-upstream-phy-combo-typec-mux-v2-0-a03e68d7b8fc@linaro.org |
---|---|
Headers | show |
Series | arm64: qcom: allow up to 4 lanes for the Type-C DisplayPort Altmode | expand |
On Mon, May 27, 2024 at 10:42:32AM GMT, Neil Armstrong wrote: > Register a typec mux in order to change the PHY mode on the Type-C > mux events depending on the mode and the svid when in Altmode setup. > > The DisplayPort phy should be left enabled if is still powered on > by the DRM DisplayPort controller, so bail out until the DisplayPort > PHY is not powered off. > > The Type-C Mode/SVID only changes on plug/unplug, and USB SAFE states > will be set in between of USB-Only, Combo and DisplayPort Only so > this will leave enough time to the DRM DisplayPort controller to > turn of the DisplayPort PHY. > > The patchset also includes bindings changes and DT changes. > > This has been successfully tested on an SM8550 board, but the > Thinkpad X13s deserved testing between non-PD USB, non-PD DisplayPort, > PD USB Hubs and PD Altmode Dongles to make sure the switch works > as expected. > > The DisplayPort 4 lanes setup can be check with: > $ cat /sys/kernel/debug/dri/ae01000.display-controller/DP-1/dp_debug > name = msm_dp > drm_dp_link > rate = 540000 > num_lanes = 4 Has the issue with the USB controller dying on us been resolved? Regards, Bjorn
On 28/05/2024 15:48, Bjorn Andersson wrote: > On Mon, May 27, 2024 at 10:42:32AM GMT, Neil Armstrong wrote: >> Register a typec mux in order to change the PHY mode on the Type-C >> mux events depending on the mode and the svid when in Altmode setup. >> >> The DisplayPort phy should be left enabled if is still powered on >> by the DRM DisplayPort controller, so bail out until the DisplayPort >> PHY is not powered off. >> >> The Type-C Mode/SVID only changes on plug/unplug, and USB SAFE states >> will be set in between of USB-Only, Combo and DisplayPort Only so >> this will leave enough time to the DRM DisplayPort controller to >> turn of the DisplayPort PHY. >> >> The patchset also includes bindings changes and DT changes. >> >> This has been successfully tested on an SM8550 board, but the >> Thinkpad X13s deserved testing between non-PD USB, non-PD DisplayPort, >> PD USB Hubs and PD Altmode Dongles to make sure the switch works >> as expected. >> >> The DisplayPort 4 lanes setup can be check with: >> $ cat /sys/kernel/debug/dri/ae01000.display-controller/DP-1/dp_debug >> name = msm_dp >> drm_dp_link >> rate = 540000 >> num_lanes = 4 > > Has the issue with the USB controller dying on us been resolved? No, this would require some changes in dwc3 & ucsi to support the USB_ROLE_NONE I haven't looked into this yet. Neil > > Regards, > Bjorn
On Mon May 27, 2024 at 10:42 AM CEST, Neil Armstrong wrote: > Register a typec mux in order to change the PHY mode on the Type-C > mux events depending on the mode and the svid when in Altmode setup. > > The DisplayPort phy should be left enabled if is still powered on > by the DRM DisplayPort controller, so bail out until the DisplayPort > PHY is not powered off. > > The Type-C Mode/SVID only changes on plug/unplug, and USB SAFE states > will be set in between of USB-Only, Combo and DisplayPort Only so > this will leave enough time to the DRM DisplayPort controller to > turn of the DisplayPort PHY. > > The patchset also includes bindings changes and DT changes. > > This has been successfully tested on an SM8550 board, but the > Thinkpad X13s deserved testing between non-PD USB, non-PD DisplayPort, > PD USB Hubs and PD Altmode Dongles to make sure the switch works > as expected. > > The DisplayPort 4 lanes setup can be check with: > $ cat /sys/kernel/debug/dri/ae01000.display-controller/DP-1/dp_debug > name = msm_dp > drm_dp_link > rate = 540000 > num_lanes = 4 > ... > > This patchset depends on [1] to allow broadcasting the type-c mode > to the PHY, otherwise the PHY will keep the combo state while the > retimer would setup the 4 lanes in DP mode. > > [1] https://lore.kernel.org/all/20240527-topic-sm8x50-upstream-retimer-broadcast-mode-v1-0-79ec91381aba@linaro.org/ Hi Neil, Is there anything happening on this patchset? From what I can see there were a few comments on the patches, would be nice if we could get this in at some point. Regards Luca > > To: Bjorn Andersson <andersson@kernel.org> > To: Konrad Dybcio <konrad.dybcio@linaro.org> > To: Vinod Koul <vkoul@kernel.org> > To: Kishon Vijay Abraham I <kishon@kernel.org> > To: Rob Herring <robh@kernel.org> > To: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org> > To: Conor Dooley <conor+dt@kernel.org> > To: Krzysztof Kozlowski <krzk+dt@kernel.org> > Cc: linux-arm-msm@vger.kernel.org > Cc: linux-phy@lists.infradead.org > Cc: devicetree@vger.kernel.org > Cc: linux-kernel@vger.kernel.org > Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> > > Changes in v2: > - Reference usb-switch.yaml in bindings patch > - Fix switch/case indenting > - Check svid for USB_TYPEC_DP_SID > - Fix X13s patch subject > - Update SM8650 patch to enable 4 lanes on HDK aswell > - Link to v1: https://lore.kernel.org/r/20240229-topic-sm8x50-upstream-phy-combo-typec-mux-v1-0-07e24a231840@linaro.org > > --- > Neil Armstrong (7): > dt-bindings: phy: qcom,sc8280xp-qmp-usb43dp: Reference usb-switch.yaml to allow mode-switch > phy: qcom: qmp-combo: store DP phy power state > phy: qcom: qmp-combo: introduce QPHY_MODE > phy: qcom: qmp-combo: register a typec mux to change the QPHY_MODE > arm64: dts: qcom-sm8550: allow 4 lanes for DisplayPort and enable QMP PHY mode-switch > arm64: dts: qcom-sm8650: allow 4 lanes for DisplayPort and enable QMP PHY mode-switch > arm64: dts: qcom: sc8280xp-lenovo-thinkpad-x13: allow 4 lanes for DisplayPort and enable QMP PHY mode-switch > > .../phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml | 7 +- > .../dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts | 6 +- > arch/arm64/boot/dts/qcom/sm8550-hdk.dts | 3 +- > arch/arm64/boot/dts/qcom/sm8550-qrd.dts | 3 +- > arch/arm64/boot/dts/qcom/sm8650-hdk.dts | 3 +- > arch/arm64/boot/dts/qcom/sm8650-qrd.dts | 3 +- > drivers/phy/qualcomm/phy-qcom-qmp-combo.c | 169 +++++++++++++++++++-- > 7 files changed, 174 insertions(+), 20 deletions(-) > --- > base-commit: d4eef8b2e18d3e4d2343fb3bb975f8ac4522129a > change-id: 20240229-topic-sm8x50-upstream-phy-combo-typec-mux-31b5252513c9 > > Best regards,
Register a typec mux in order to change the PHY mode on the Type-C mux events depending on the mode and the svid when in Altmode setup. The DisplayPort phy should be left enabled if is still powered on by the DRM DisplayPort controller, so bail out until the DisplayPort PHY is not powered off. The Type-C Mode/SVID only changes on plug/unplug, and USB SAFE states will be set in between of USB-Only, Combo and DisplayPort Only so this will leave enough time to the DRM DisplayPort controller to turn of the DisplayPort PHY. The patchset also includes bindings changes and DT changes. This has been successfully tested on an SM8550 board, but the Thinkpad X13s deserved testing between non-PD USB, non-PD DisplayPort, PD USB Hubs and PD Altmode Dongles to make sure the switch works as expected. The DisplayPort 4 lanes setup can be check with: $ cat /sys/kernel/debug/dri/ae01000.display-controller/DP-1/dp_debug name = msm_dp drm_dp_link rate = 540000 num_lanes = 4 ... This patchset depends on [1] to allow broadcasting the type-c mode to the PHY, otherwise the PHY will keep the combo state while the retimer would setup the 4 lanes in DP mode. [1] https://lore.kernel.org/all/20240527-topic-sm8x50-upstream-retimer-broadcast-mode-v1-0-79ec91381aba@linaro.org/ To: Bjorn Andersson <andersson@kernel.org> To: Konrad Dybcio <konrad.dybcio@linaro.org> To: Vinod Koul <vkoul@kernel.org> To: Kishon Vijay Abraham I <kishon@kernel.org> To: Rob Herring <robh@kernel.org> To: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org> To: Conor Dooley <conor+dt@kernel.org> To: Krzysztof Kozlowski <krzk+dt@kernel.org> Cc: linux-arm-msm@vger.kernel.org Cc: linux-phy@lists.infradead.org Cc: devicetree@vger.kernel.org Cc: linux-kernel@vger.kernel.org Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> Changes in v2: - Reference usb-switch.yaml in bindings patch - Fix switch/case indenting - Check svid for USB_TYPEC_DP_SID - Fix X13s patch subject - Update SM8650 patch to enable 4 lanes on HDK aswell - Link to v1: https://lore.kernel.org/r/20240229-topic-sm8x50-upstream-phy-combo-typec-mux-v1-0-07e24a231840@linaro.org --- Neil Armstrong (7): dt-bindings: phy: qcom,sc8280xp-qmp-usb43dp: Reference usb-switch.yaml to allow mode-switch phy: qcom: qmp-combo: store DP phy power state phy: qcom: qmp-combo: introduce QPHY_MODE phy: qcom: qmp-combo: register a typec mux to change the QPHY_MODE arm64: dts: qcom-sm8550: allow 4 lanes for DisplayPort and enable QMP PHY mode-switch arm64: dts: qcom-sm8650: allow 4 lanes for DisplayPort and enable QMP PHY mode-switch arm64: dts: qcom: sc8280xp-lenovo-thinkpad-x13: allow 4 lanes for DisplayPort and enable QMP PHY mode-switch .../phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml | 7 +- .../dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts | 6 +- arch/arm64/boot/dts/qcom/sm8550-hdk.dts | 3 +- arch/arm64/boot/dts/qcom/sm8550-qrd.dts | 3 +- arch/arm64/boot/dts/qcom/sm8650-hdk.dts | 3 +- arch/arm64/boot/dts/qcom/sm8650-qrd.dts | 3 +- drivers/phy/qualcomm/phy-qcom-qmp-combo.c | 169 +++++++++++++++++++-- 7 files changed, 174 insertions(+), 20 deletions(-) --- base-commit: d4eef8b2e18d3e4d2343fb3bb975f8ac4522129a change-id: 20240229-topic-sm8x50-upstream-phy-combo-typec-mux-31b5252513c9 Best regards,