diff mbox series

arm64: rockchip: rk3399-roc-pc: prevent fusb302 powering off the board during boot

Message ID 20220620110407.2393644-1-clabbe@baylibre.com (mailing list archive)
State New, archived
Headers show
Series arm64: rockchip: rk3399-roc-pc: prevent fusb302 powering off the board during boot | expand

Commit Message

Corentin LABBE June 20, 2022, 11:04 a.m. UTC
The rk3399-roc-pc never finish booting because it is powered off when probing
fusb302.

The type c port is disabled because not present in DT as can seen in dmesg:
OF: graph: no port node found in /i2c@ff3d0000/usb-typec@22

So adding the port in DT (as needed by the device tree schema of
fusb302), permits the board to survive and finish booting.

CC: stable@kernel.org # 5.10+
Fixes: 8bb878cf20ae ("arm64: dts: rockchip: add support for ROC-RK3399-PC board")
Signed-off-by: Corentin Labbe <clabbe@baylibre.com>
---
This patch is tested on 5.10.123, 5.15.48 and next-20220614

 arch/arm64/boot/dts/rockchip/rk3399-roc-pc.dtsi | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

Comments

Corentin LABBE June 20, 2022, 7:52 p.m. UTC | #1
Le Mon, Jun 20, 2022 at 11:04:07AM +0000, Corentin Labbe a écrit :
> The rk3399-roc-pc never finish booting because it is powered off when probing
> fusb302.
> 
> The type c port is disabled because not present in DT as can seen in dmesg:
> OF: graph: no port node found in /i2c@ff3d0000/usb-typec@22
> 
> So adding the port in DT (as needed by the device tree schema of
> fusb302), permits the board to survive and finish booting.
> 
> CC: stable@kernel.org # 5.10+
> Fixes: 8bb878cf20ae ("arm64: dts: rockchip: add support for ROC-RK3399-PC board")
> Signed-off-by: Corentin Labbe <clabbe@baylibre.com>
> ---
> This patch is tested on 5.10.123, 5.15.48 and next-20220614
> 

Please ignore this for now, it fixes the issue but
[   31.653778] typec_fusb302 7-0022: cannot register tcpm port, ret=-22
[   31.659415] typec_fusb302: probe of 7-0022 failed with error -22

So while having a board which boot fine is better, having everything well probed will be better.

For fixing the probe error, adding the following is sufficiant:
@@ -558,6 +559,9 @@ connector {
                        data-role = "host";
                        label = "USB-C";
                        power-role = "dual";
+                       op-sink-microwatt = <1000000>;
+                       sink-pdos = <PDO_FIXED(5000, 2500, PDO_FIXED_USB_COMM)>;
+                       source-pdos = <PDO_FIXED(5000, 1400, PDO_FIXED_USB_COMM)>;
 
                        ports {
                                #address-cells = <1>;
But this bring the initial issue, the board is still dont booting...
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/rockchip/rk3399-roc-pc.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-roc-pc.dtsi
index 0e45cc2d195b..60c400ca4034 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-roc-pc.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399-roc-pc.dtsi
@@ -552,6 +552,22 @@  fusb0: usb-typec@22 {
 		pinctrl-0 = <&fusb0_int>;
 		vbus-supply = <&vcc_vbus_typec0>;
 		status = "okay";
+
+		connector {
+			compatible = "usb-c-connector";
+			data-role = "host";
+			label = "USB-C";
+			power-role = "dual";
+
+			ports {
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				port@0 {
+					reg = <0>;
+				};
+			};
+		};
 	};
 
 	mp8859: regulator@66 {