]> git.dujemihanovic.xyz Git - u-boot.git/commit
usb: dwc3-generic: Allow different controller DT node pattern
authorKunihiko Hayashi <hayashi.kunihiko@socionext.com>
Mon, 20 Feb 2023 05:50:26 +0000 (14:50 +0900)
committerMarek Vasut <marex@denx.de>
Wed, 22 Feb 2023 18:40:11 +0000 (19:40 +0100)
commitf7b7c721332c2e262035d306296d53c2511763a0
tree8610d3de4001e9edcd8a58ae71e2efc0d8f2b480
parentc6583354b7c1aaa9608b2f92221608e42c21f1dd
usb: dwc3-generic: Allow different controller DT node pattern

The most of devicetree has the following USB node structure.
The controller node is placed as a child node of the glue node.
Current dwc3-generic driver works on this premise.

    glue {
        /* glue node */
usb {
            /* controller node */
};
    };

However, UniPhier original devicetree has the following USB node structure.
The controller node is separately placed from the glue node.

    usb {
        /* controller node */
    };
    glue {
        /* glue node */
    };

In dwc_glue_bind(), this patch provides .glue_get_ctrl_dev() callback to
get such a controller node and binds the driver related to the node.

If this callback isn't defined, dwc_glue_bind() looks for the controller
nodes from the child nodes, as before.

Suggested-by: Marek Vasut <marex@denx.de>
Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
Reviewed-by: Marek Vasut <marex@denx.de>
drivers/usb/dwc3/dwc3-generic.c