Re: rk3399-roc-pc does not boot

From: Corentin Labbe
Date: Fri Jun 17 2022 - 07:35:35 EST


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@ff160000/usb-typec@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@xxxxxxxxxxxxx/
>
> 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@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 {

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