* Re: [PATCH v6 1/2] dt-bindings: usb: Add Parade PS8830 Type-C retimer bindings
@ 2025-02-07 21:16 kernel test robot
0 siblings, 0 replies; 4+ messages in thread
From: kernel test robot @ 2025-02-07 21:16 UTC (permalink / raw)
To: oe-kbuild; +Cc: lkp
::::::
:::::: Manual check reason: "dtcheck: binding changes may go via different trees"
::::::
BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
In-Reply-To: <20250206-x1e80100-ps8830-v6-1-60b1e49cfa8d@linaro.org>
References: <20250206-x1e80100-ps8830-v6-1-60b1e49cfa8d@linaro.org>
TO: Abel Vesa <abel.vesa@linaro.org>
Hi Abel,
kernel test robot noticed the following build warnings:
[auto build test WARNING on 00f3246adeeacbda0bd0b303604e46eb59c32e6e]
url: https://github.com/intel-lab-lkp/linux/commits/Abel-Vesa/dt-bindings-usb-Add-Parade-PS8830-Type-C-retimer-bindings/20250206-173603
base: 00f3246adeeacbda0bd0b303604e46eb59c32e6e
patch link: https://lore.kernel.org/r/20250206-x1e80100-ps8830-v6-1-60b1e49cfa8d%40linaro.org
patch subject: [PATCH v6 1/2] dt-bindings: usb: Add Parade PS8830 Type-C retimer bindings
:::::: branch date: 2 days ago
:::::: commit date: 2 days ago
config: arm64-randconfig-052-20250207 (https://download.01.org/0day-ci/archive/20250208/202502080505.KUOSSGXi-lkp@intel.com/config)
compiler: aarch64-linux-gcc (GCC) 14.2.0
dtschema version: 2024.12.dev6+gc4da38d
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250208/202502080505.KUOSSGXi-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/r/202502080505.KUOSSGXi-lkp@intel.com/
dtcheck warnings: (new ones prefixed by >>)
arch/arm64/boot/dts/qcom/x1e80100.dtsi:4817.11-4827.7: Warning (graph_child_address): /soc@0/usb@a2f8800/usb@a200000/ports: graph node has single child node 'port@0', #address-cells/#size-cells are not necessary
>> arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dtb: typec-mux@8: 'clock-names' does not match any of the regexes: 'pinctrl-[0-9]+'
from schema $id: http://devicetree.org/schemas/usb/parade,ps8830.yaml#
>> arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dtb: typec-mux@8: 'clock-names' does not match any of the regexes: 'pinctrl-[0-9]+'
from schema $id: http://devicetree.org/schemas/usb/parade,ps8830.yaml#
--
arch/arm64/boot/dts/qcom/x1e80100.dtsi:4817.11-4827.7: Warning (graph_child_address): /soc@0/usb@a2f8800/usb@a200000/ports: graph node has single child node 'port@0', #address-cells/#size-cells are not necessary
>> arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus13.dtb: typec-mux@8: 'clock-names' does not match any of the regexes: 'pinctrl-[0-9]+'
from schema $id: http://devicetree.org/schemas/usb/parade,ps8830.yaml#
>> arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus13.dtb: typec-mux@8: 'clock-names' does not match any of the regexes: 'pinctrl-[0-9]+'
from schema $id: http://devicetree.org/schemas/usb/parade,ps8830.yaml#
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v6 1/2] dt-bindings: usb: Add Parade PS8830 Type-C retimer bindings
@ 2025-02-08 1:57 kernel test robot
0 siblings, 0 replies; 4+ messages in thread
From: kernel test robot @ 2025-02-08 1:57 UTC (permalink / raw)
To: oe-kbuild; +Cc: lkp
::::::
:::::: Manual check reason: "dtcheck: binding changes may go via different trees"
::::::
BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
In-Reply-To: <20250206-x1e80100-ps8830-v6-1-60b1e49cfa8d@linaro.org>
References: <20250206-x1e80100-ps8830-v6-1-60b1e49cfa8d@linaro.org>
TO: Abel Vesa <abel.vesa@linaro.org>
Hi Abel,
kernel test robot noticed the following build warnings:
[auto build test WARNING on 00f3246adeeacbda0bd0b303604e46eb59c32e6e]
url: https://github.com/intel-lab-lkp/linux/commits/Abel-Vesa/dt-bindings-usb-Add-Parade-PS8830-Type-C-retimer-bindings/20250206-173603
base: 00f3246adeeacbda0bd0b303604e46eb59c32e6e
patch link: https://lore.kernel.org/r/20250206-x1e80100-ps8830-v6-1-60b1e49cfa8d%40linaro.org
patch subject: [PATCH v6 1/2] dt-bindings: usb: Add Parade PS8830 Type-C retimer bindings
:::::: branch date: 2 days ago
:::::: commit date: 2 days ago
config: arm64-randconfig-051-20250207 (https://download.01.org/0day-ci/archive/20250208/202502080938.GMeci62j-lkp@intel.com/config)
compiler: aarch64-linux-gcc (GCC) 14.2.0
dtschema version: 2024.12.dev6+gc4da38d
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250208/202502080938.GMeci62j-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/r/202502080938.GMeci62j-lkp@intel.com/
dtcheck warnings: (new ones prefixed by >>)
arch/arm64/boot/dts/qcom/x1e80100.dtsi:4817.11-4827.7: Warning (graph_child_address): /soc@0/usb@a2f8800/usb@a200000/ports: graph node has single child node 'port@0', #address-cells/#size-cells are not necessary
>> arch/arm64/boot/dts/qcom/x1e001de-devkit.dtb: typec-mux@8: 'clock-names' does not match any of the regexes: 'pinctrl-[0-9]+'
from schema $id: http://devicetree.org/schemas/usb/parade,ps8830.yaml#
>> arch/arm64/boot/dts/qcom/x1e001de-devkit.dtb: typec-mux@8: 'clock-names' does not match any of the regexes: 'pinctrl-[0-9]+'
from schema $id: http://devicetree.org/schemas/usb/parade,ps8830.yaml#
>> arch/arm64/boot/dts/qcom/x1e001de-devkit.dtb: typec-mux@8: 'clock-names' does not match any of the regexes: 'pinctrl-[0-9]+'
from schema $id: http://devicetree.org/schemas/usb/parade,ps8830.yaml#
--
arch/arm64/boot/dts/qcom/x1e80100.dtsi:4817.11-4827.7: Warning (graph_child_address): /soc@0/usb@a2f8800/usb@a200000/ports: graph node has single child node 'port@0', #address-cells/#size-cells are not necessary
>> arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus15.dtb: typec-mux@8: 'clock-names' does not match any of the regexes: 'pinctrl-[0-9]+'
from schema $id: http://devicetree.org/schemas/usb/parade,ps8830.yaml#
>> arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus15.dtb: typec-mux@8: 'clock-names' does not match any of the regexes: 'pinctrl-[0-9]+'
from schema $id: http://devicetree.org/schemas/usb/parade,ps8830.yaml#
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH v6 0/2] usb: typec: Add new driver for Parade PS8830 Type-C Retimer
@ 2025-02-06 9:28 Abel Vesa
2025-02-06 9:28 ` [PATCH v6 1/2] dt-bindings: usb: Add Parade PS8830 Type-C retimer bindings Abel Vesa
0 siblings, 1 reply; 4+ messages in thread
From: Abel Vesa @ 2025-02-06 9:28 UTC (permalink / raw)
To: Heikki Krogerus, Greg Kroah-Hartman, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio
Cc: Rajendra Nayak, Sibi Sankar, Johan Hovold, Dmitry Baryshkov,
Trilok Soni, Christophe JAILLET, linux-kernel, linux-usb,
linux-arm-msm, devicetree, Abel Vesa
The Parade PS8830 is a Type-C multi-protocol retimer that is controlled
via I2C. It provides altmode and orientation handling and usually sits
between the Type-C port and the PHY.
It is currently used alongside Qualcomm Snapdragon X Elite SoCs on quite
a few laptops already.
This new driver adds support for the following 3 modes:
- DP 4lanes (pin assignments C and E)
- DP 2lanes + USB3 (pin assignment D)
- USB3
This retimer is a LTTPR (Link-Training Tunable PHY Repeater) which means
it can support link training from source to itself. This means that the
DP driver needs to be aware of the repeater presence and to handle
the link training accordingly. This is currently missing from msm dp
driver, but there is already a patchset [1] on the list that adds it.
The support for LTTPR in drm/msm/dp is here (v5):
https://lore.kernel.org/all/20250203-drm-dp-msm-add-lttpr-transparent-mode-set-v5-4-c865d0e56d6e@linaro.org/
Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
---
Changes in v6:
- Dropped the DT patches as they should not be merged until the LTTPR
and the fixes in ucsi and pmic glink altmode are also merged,
otherwise it would render the external DP and the resume from
system suspend broken.
- Replaced dev_err_probe with dev_err for typec switch and retimer
register failure handling, like Johan suggested.
- Fixed the gpio orientation for when the retimer is already
initialized.
- Dropped the useless "No SVID" comment in ps883x_retimer_set()
- Added definition of all ports (including port@2) in dt-bindings
schema.
- Link to v5: https://lore.kernel.org/r/20241112-x1e80100-ps8830-v5-0-4ad83af4d162@linaro.org
Changes in v5:
- Renamed binding schema to be the same as the compatible.
- Dropped the ps8830,boot-on from the schema.
- Added register offsets and bits names to the driver, like Konrad
suggested.
- Reordered the vregs and clocks enabling, as per Johan's request.
- Used the dev_err_probe for regmap init failure and dropped the
multiple regulator disable calls, replacing it with single call to
helper, as Christophe suggested. Also replaced dev_err with
dev_err_probe on typec_switch_register and typec_mux_register failure.
- Added some new pinctrl specific properties to all pmic provided
gpios that control retimer vregs.
- Re-ordered alphabetically the retimers default state pinconfs.
- Added the T14s patches with same exact support, as per Johan's
request.
- Link to v4: https://lore.kernel.org/r/20241101-x1e80100-ps8830-v4-0-f0f7518b263e@linaro.org
Changes in v4:
- Renamed the driver and bindings schema to ps883x to allow future
support for the PS8833.
- Dropped the dedicated DT property for keeping the retimers from
resetting on probe, and replaced that with a read to figure out
if it has been already configured or not. This involves leaving the
reset gpio as-is on probe if the retimer has been already configured.
- Replaced the fwnode_typec_switch_get() call with typec_switch_get()
- Replaced the fwnode_typec_mux_get() call with typec_mux_get()
- Dropped the clock name, as there is only one clock. As per Bjorn's
suggestion.
- Dropped regcache as it seems it is not needed.
- Re-worded all commit messages to explain better the problem and the
proposed changes.
- Link to v3: https://lore.kernel.org/r/20241022-x1e80100-ps8830-v3-0-68a95f351e99@linaro.org
Changes in v3:
- Reworked the schema binding by using the usb/usb-switch.yaml defined
port graph and properties. Addressed all comments from Johan and
Dmitry.
- Dropped the manual caching of the config values on regmap write in the
driver.
- Reordered the DP pin assignment states within the switch clause, as
Dmitry suggested.
- Added SVID check to not allow any altmode other than DP.
- Added DT patches (retimer for USB orientation handling and DP
enablement). Did this in order to offer a full picture of how it all
fits together.
- Split the DP enablement in DT in a separate patchset so the USB
handling can be merged separately.
- Added ps8830,boot-on to let the driver know it is supposed to skip
resetting the retimer on driver probe, as the bootloader might already
let it in a pre-configured state.
- Marked all retimer voltage regulators as boot-on since we want to
maintain the state for coldplug orientation.
- Added pinconf for all retimer0 gpios.
- Didn't pick up Konrad's T-b tags and Krzysztof's R-b tag as the rework
is quite extensive. Especially because of the ps8830,boot-on and what
it does.
- Link to v2: https://lore.kernel.org/r/20241004-x1e80100-ps8830-v2-0-5cd8008c8c40@linaro.org
Changes in v2:
- Addressed all comments from Johan and Konrad.
- Reworked the handling of the vregs so it would be more cleaner.
Dropped the usage of bulk regulators API and handled them separately.
Also discribed all regulators according to data sheet.
- Added all delays according to data sheet.
- Fixed coldplug (on boot) orientation detection.
- Didn't pick Krzysztof's R-b tag because the bindings changed w.r.t
supplies.
- Link to v1: https://lore.kernel.org/r/20240829-x1e80100-ps8830-v1-0-bcc4790b1d45@linaro.org
---
Abel Vesa (2):
dt-bindings: usb: Add Parade PS8830 Type-C retimer bindings
usb: typec: Add support for Parade PS8830 Type-C Retimer
.../devicetree/bindings/usb/parade,ps8830.yaml | 140 +++++++
drivers/usb/typec/mux/Kconfig | 10 +
drivers/usb/typec/mux/Makefile | 1 +
drivers/usb/typec/mux/ps883x.c | 437 +++++++++++++++++++++
4 files changed, 588 insertions(+)
---
base-commit: 00f3246adeeacbda0bd0b303604e46eb59c32e6e
change-id: 20240521-x1e80100-ps8830-d5ccca95b557
Best regards,
--
Abel Vesa <abel.vesa@linaro.org>
^ permalink raw reply [flat|nested] 4+ messages in thread* [PATCH v6 1/2] dt-bindings: usb: Add Parade PS8830 Type-C retimer bindings
2025-02-06 9:28 [PATCH v6 0/2] usb: typec: Add new driver for Parade PS8830 Type-C Retimer Abel Vesa
@ 2025-02-06 9:28 ` Abel Vesa
2025-02-06 18:15 ` Conor Dooley
0 siblings, 1 reply; 4+ messages in thread
From: Abel Vesa @ 2025-02-06 9:28 UTC (permalink / raw)
To: Heikki Krogerus, Greg Kroah-Hartman, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio
Cc: Rajendra Nayak, Sibi Sankar, Johan Hovold, Dmitry Baryshkov,
Trilok Soni, Christophe JAILLET, linux-kernel, linux-usb,
linux-arm-msm, devicetree, Abel Vesa
The Parade PS8830 is a USB4, DisplayPort and Thunderbolt 4 retimer,
controlled over I2C. It usually sits between a USB/DisplayPort PHY and the
Type-C connector, and provides orientation and altmode handling.
Currently, it is found on all boards featuring the Qualcomm Snapdragon
X Elite SoCs.
Document bindings for its new driver. Future-proof the schema for the
PS8833 variant, which seems to be similar to PS8830.
Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
---
.../devicetree/bindings/usb/parade,ps8830.yaml | 140 +++++++++++++++++++++
1 file changed, 140 insertions(+)
diff --git a/Documentation/devicetree/bindings/usb/parade,ps8830.yaml b/Documentation/devicetree/bindings/usb/parade,ps8830.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..935d57f5d26fe597308f1200ace9559255bad1e4
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/parade,ps8830.yaml
@@ -0,0 +1,140 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/usb/parade,ps8830.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Parade PS883x USB and DisplayPort Retimer
+
+maintainers:
+ - Abel Vesa <abel.vesa@linaro.org>
+
+properties:
+ compatible:
+ enum:
+ - parade,ps8830
+
+ reg:
+ maxItems: 1
+
+ clocks:
+ items:
+ - description: XO Clock
+
+ reset-gpios:
+ maxItems: 1
+
+ vdd-supply:
+ description: power supply (1.07V)
+
+ vdd33-supply:
+ description: power supply (3.3V)
+
+ vdd33-cap-supply:
+ description: power supply (3.3V)
+
+ vddar-supply:
+ description: power supply (1.07V)
+
+ vddat-supply:
+ description: power supply (1.07V)
+
+ vddio-supply:
+ description: power supply (1.2V or 1.8V)
+
+ orientation-switch: true
+ retimer-switch: true
+
+ ports:
+ $ref: /schemas/graph.yaml#/properties/ports
+ properties:
+ port@0:
+ $ref: /schemas/graph.yaml#/properties/port
+ description: Super Speed (SS) Output endpoint to the Type-C connector
+
+ port@1:
+ $ref: /schemas/graph.yaml#/$defs/port-base
+ description: Super Speed (SS) Input endpoint from the Super-Speed PHY
+ unevaluatedProperties: false
+
+ port@2:
+ $ref: /schemas/graph.yaml#/properties/port
+ description:
+ Sideband Use (SBU) AUX lines endpoint to the Type-C connector for the purpose of
+ handling altmode muxing and orientation switching.
+
+required:
+ - compatible
+ - reg
+ - clocks
+ - reset-gpios
+ - vdd-supply
+ - vdd33-supply
+ - vdd33-cap-supply
+ - vddat-supply
+ - vddio-supply
+ - orientation-switch
+ - retimer-switch
+
+allOf:
+ - $ref: usb-switch.yaml#
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ typec-mux@8 {
+ compatible = "parade,ps8830";
+ reg = <0x8>;
+
+ clocks = <&clk_rtmr_xo>;
+
+ vdd-supply = <&vreg_rtmr_1p15>;
+ vdd33-supply = <&vreg_rtmr_3p3>;
+ vdd33-cap-supply = <&vreg_rtmr_3p3>;
+ vddar-supply = <&vreg_rtmr_1p15>;
+ vddat-supply = <&vreg_rtmr_1p15>;
+ vddio-supply = <&vreg_rtmr_1p8>;
+
+ reset-gpios = <&tlmm 10 GPIO_ACTIVE_LOW>;
+
+ retimer-switch;
+ orientation-switch;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ endpoint {
+ remote-endpoint = <&typec_con_ss>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+
+ endpoint {
+ remote-endpoint = <&usb_phy_ss>;
+ };
+ };
+
+ port@2 {
+ reg = <2>;
+
+ endpoint {
+ remote-endpoint = <&typec_dp_aux>;
+ };
+ };
+ };
+ };
+ };
+...
--
2.34.1
^ permalink raw reply related [flat|nested] 4+ messages in thread* Re: [PATCH v6 1/2] dt-bindings: usb: Add Parade PS8830 Type-C retimer bindings
2025-02-06 9:28 ` [PATCH v6 1/2] dt-bindings: usb: Add Parade PS8830 Type-C retimer bindings Abel Vesa
@ 2025-02-06 18:15 ` Conor Dooley
0 siblings, 0 replies; 4+ messages in thread
From: Conor Dooley @ 2025-02-06 18:15 UTC (permalink / raw)
To: Abel Vesa
Cc: Heikki Krogerus, Greg Kroah-Hartman, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio,
Rajendra Nayak, Sibi Sankar, Johan Hovold, Dmitry Baryshkov,
Trilok Soni, Christophe JAILLET, linux-kernel, linux-usb,
linux-arm-msm, devicetree
[-- Attachment #1: Type: text/plain, Size: 709 bytes --]
On Thu, Feb 06, 2025 at 11:28:27AM +0200, Abel Vesa wrote:
> The Parade PS8830 is a USB4, DisplayPort and Thunderbolt 4 retimer,
> controlled over I2C. It usually sits between a USB/DisplayPort PHY and the
> Type-C connector, and provides orientation and altmode handling.
>
> Currently, it is found on all boards featuring the Qualcomm Snapdragon
> X Elite SoCs.
>
> Document bindings for its new driver. Future-proof the schema for the
> PS8833 variant, which seems to be similar to PS8830.
>
> Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
This seems fine, but usb switches aren't something I know much about..
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
Cheers,
Conor.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2025-02-08 1:58 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-07 21:16 [PATCH v6 1/2] dt-bindings: usb: Add Parade PS8830 Type-C retimer bindings kernel test robot
-- strict thread matches above, loose matches on Subject: below --
2025-02-08 1:57 kernel test robot
2025-02-06 9:28 [PATCH v6 0/2] usb: typec: Add new driver for Parade PS8830 Type-C Retimer Abel Vesa
2025-02-06 9:28 ` [PATCH v6 1/2] dt-bindings: usb: Add Parade PS8830 Type-C retimer bindings Abel Vesa
2025-02-06 18:15 ` Conor Dooley
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.