Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [High] Missing Driver Support and DT Binding Documentation for 'renesas,usb2-phy-r9a08g046'
- [High] Unprobeable Device due to Missing Power Sequencer Provider
--
--- Patch [6]: [PATCH v7 6/9] arm64: dts: renesas: r9a08g046: Add USB2.0 host/phy device nodes ---
commit 0ab685ca95e56aea571685bc10fd9638d8846f8d
Author: Biju Das <[email protected]>
arm64: dts: renesas: r9a08g046: Add USB2.0 host/phy device nodes
Add USB2.0 device nodes to the RZ/G3L (r9a08g046) SoC DTSI, covering
the USB PHY controller, OHCI/EHCI host controllers, and USB2 PHYs for
both ports.
> diff --git a/arch/arm64/boot/dts/renesas/r9a08g046.dtsi b/arch/arm64/boot/dts/renesas/r9a08g046.dtsi
> index c63a857f0e5b0..2d8c8fd8a01cd 100644
> --- a/arch/arm64/boot/dts/renesas/r9a08g046.dtsi
> +++ b/arch/arm64/boot/dts/renesas/r9a08g046.dtsi
> @@ -1001,6 +1001,110 @@ queue3 {
> };
> };
>
> + phyrst: usbphy-ctrl@11e00000 {
> + compatible = "renesas,r9a08g046-usbphy-ctrl";
[Severity: High]
Does omitting the renesas,sysc-pwrrdy property here cause the driver to fail
to probe?
In drivers/reset/reset-rzg2l-usbphy-ctrl.c, when the driver sees that the
renesas,sysc-pwrrdy property is missing, it falls back to requesting a power
sequencer:
priv->pwrseq = devm_pwrseq_get(dev, "usb-pwrrdy");
if (IS_ERR(priv->pwrseq)) {
...
Since there is no power sequencer provider in the kernel exposing a "usb-pwrrdy"
target, devm_pwrseq_get() will return -EPROBE_DEFER. This would leave the USB
PHY and dependent host controllers permanently uninitialized.
> + reg = <0 0x11e00000 0 0x10000>;
> + clocks = <&cpg CPG_MOD R9A08G046_USB_PCLK>;
[ ... ]
> + ohci0: usb@11e10000 {
> + compatible = "generic-ohci";
[ ... ]
> + phys = <&usb2_phy0 1>;
> + phy-names = "usb";
> + power-domains = <&cpg>;
> + status = "disabled";
> + };
[ ... ]
> + usb2_phy0: usb-phy@11e10200 {
> + compatible = "renesas,usb2-phy-r9a08g046";
[Severity: High]
Will this node fail to bind to a driver?
The "renesas,usb2-phy-r9a08g046" compatible string doesn't appear to be
supported by the Renesas USB PHY driver (drivers/phy/renesas/phy-rcar-gen3-usb2.c),
and there is no fallback compatible string (such as "renesas,rzg2l-usb2-phy")
provided here.
Without a match in the driver's of_match_table, the PHY won't probe. Because
the OHCI and EHCI controllers depend on this PHY via their phys property, they
will also permanently fail to probe with -EPROBE_DEFER, rendering the USB ports
non-functional.
> + reg = <0 0x11e10200 0 0x700>;
> + interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
[ ... ]
--
Sashiko AI review · https://sashiko.dev/#/patchset/[email protected]?part=6
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.