]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
usb: dwc3-generic: Add rk3568 support
authorJonas Karlman <jonas@kwiboo.se>
Sun, 30 Jul 2023 22:59:57 +0000 (22:59 +0000)
committerKever Yang <kever.yang@rock-chips.com>
Mon, 31 Jul 2023 06:40:38 +0000 (14:40 +0800)
RK3568 share glue and ctrl in a single node. Use glue_get_ctrl_dev to
return the glue node as the ctrl node.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Marek Vasut <marex@denx.de>
drivers/usb/dwc3/dwc3-generic.c

index 2331ac45313235826e0bedb61e318d1f58fdbf24..79203f820415491aae0901c3e2b2fb635eed9144 100644 (file)
@@ -405,6 +405,19 @@ struct dwc3_glue_ops ti_ops = {
        .glue_configure = dwc3_ti_glue_configure,
 };
 
+static int dwc3_rk_glue_get_ctrl_dev(struct udevice *dev, ofnode *node)
+{
+       *node = dev_ofnode(dev);
+       if (!ofnode_valid(*node))
+               return -EINVAL;
+
+       return 0;
+}
+
+struct dwc3_glue_ops rk_ops = {
+       .glue_get_ctrl_dev = dwc3_rk_glue_get_ctrl_dev,
+};
+
 static int dwc3_glue_bind_common(struct udevice *parent, ofnode node)
 {
        const char *name = ofnode_get_name(node);
@@ -596,6 +609,7 @@ static const struct udevice_id dwc3_glue_ids[] = {
        { .compatible = "ti,am654-dwc3" },
        { .compatible = "rockchip,rk3328-dwc3" },
        { .compatible = "rockchip,rk3399-dwc3" },
+       { .compatible = "rockchip,rk3568-dwc3", .data = (ulong)&rk_ops },
        { .compatible = "qcom,dwc3" },
        { .compatible = "fsl,imx8mp-dwc3", .data = (ulong)&imx8mp_ops },
        { .compatible = "fsl,imx8mq-dwc3" },