rk3399-roc-pc does not boot

Corentin Labbe clabbe.montjoie at gmail.com
Fri Jun 17 04:35:20 PDT 2022


Le Fri, Jun 17, 2022 at 10:58:03AM +0100, Robin Murphy a écrit :
> On 2022-06-17 10:06, Corentin Labbe wrote:
> > Hello
> > 
> > I try to add rk3399-roc-pc to kernelCI but this board fail to ends its boot with any kernel I try.
> > It boot normally up to starting init but it stucks shorty after.
> > It fail on 5.10, 5.15, 5.17, 5.18 and linux-next.
> > When disabling CONFIG_USB, the board boots successfully.
> > 
> > In dmesg I see OF: graph: no port node found in /i2c at ff160000/usb-typec at 22
> > According to Documentation/devicetree/bindings/usb/fcs,fusb302.txt, the port is mandatory.
> > Can it be possible that the problem was that the power port being disabled ?
> 
> Indeed, I believe the OF graph error is just a meaningless annoyance, 
> but the general problem sounds like it's probably the same thing that's 
> come up before:
> 
> https://lore.kernel.org/all/0ac6bbe7-6395-526d-213c-ac58a19d8673@fivetechno.de/
> 
> Disabling CONFIG_TYPEC_FUSB302 or blacklisting the fusb302 module should 
> help confirm that. I have no idea if it's still an open problem, or if 
> it's been fixed and you might just need to define the proper power role 
> in the DT; this just triggered a memory of that older thread :)
> 

If I comment fusb0 node in arch/arm64/boot/dts/rockchip/rk3399-roc-pc.dtsi, the board boot well.

With the following patch, the boards boot well also:
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 at 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 at 0 {
+                                       reg = <0>;
+                               };
+                       };
+               };
        };
 
        mp8859: regulator at 66 {

I think this patch is the proper way to fix, I will send it soon.



More information about the Linux-rockchip mailing list