Hello, On Mon, 21 Jan 2019 12:23:32 +0100, Miquel Raynal wrote: > +- compatible: Should be one of: > + * "marvell,a3700-utmi-host-phy" for the PHY connected to > + the USB2 host-only controller. > + * "marvell,a3700-utmi-otg-phy" for the PHY connected to > + the USB3 and USB2 OTG capable controller. Do we really need different compatible strings for those ? I assume the IP block is exactly the same for the two PHYs, right ? If so, we should use the same compatible string. Didn't we discuss that we can lookup from the PHY whether the USB controller it is connected to is in host mode or otg mode ? > +Example: > + > + usb2_utmi_host_phy: phy@5f000 { > + compatible = "marvell,armada-3700-utmi-host-phy"; > + reg = <0x5f000 0x800>; > + marvell,usb-misc-reg = <&usb2_syscon>; > + #phy-cells = <0>; > + }; > + > + usb2_syscon: system-controller@5f800 { > + compatible = "marvell,usb2-host-miscellaneous", "syscon"; > + reg = <0x5f800 0x800>; > + }; Those registers are contiguous to the register range of the PHY itself. What was the criteria used to decide that we need two separate DT nodes for these ? Best regards, Thomas -- Thomas Petazzoni, CTO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com