On Wed, Jan 25, 2023 at 06:59:43PM +0100, Krzysztof Kozlowski wrote: > The Samsung Exynos SoC USB 3.0 DWC3 Controller is a simple wrapper of > actual DWC3 Controller device node. It handles necessary Samsung > Exynos-specific resources (regulators, clocks), but does not have its > own MMIO address space. > > However neither simple-bus bindings nor dtc W=1 accept device nodes in > soc@ node which do not have unit address. Therefore allow using > the address space of child device (actual DWC3 Controller) as the > wrapper's address. The correct fix is 'ranges' should have a value. Though the whole wrapper thing when there are no registers I dislike... > Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx> > > --- > > DTS fixes are here: > https://lore.kernel.org/linux-samsung-soc/20230125175751.675090-1-krzysztof.kozlowski@xxxxxxxxxx/T/#t > --- > .../devicetree/bindings/usb/samsung,exynos-dwc3.yaml | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/Documentation/devicetree/bindings/usb/samsung,exynos-dwc3.yaml b/Documentation/devicetree/bindings/usb/samsung,exynos-dwc3.yaml > index 6b9a3bcb3926..a94b1926dda0 100644 > --- a/Documentation/devicetree/bindings/usb/samsung,exynos-dwc3.yaml > +++ b/Documentation/devicetree/bindings/usb/samsung,exynos-dwc3.yaml > @@ -29,6 +29,9 @@ properties: > > ranges: true > > + reg: > + maxItems: 1 > + > '#size-cells': > const: 1 > > @@ -108,8 +111,9 @@ examples: > #include <dt-bindings/clock/exynos5420.h> > #include <dt-bindings/interrupt-controller/arm-gic.h> > > - usb { > + usb-wrapper@12000000 { > compatible = "samsung,exynos5250-dwusb3"; > + reg = <0x12000000 0x10000>; > #address-cells = <1>; > #size-cells = <1>; > ranges; > -- > 2.34.1 >