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. 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