Re: [PATCH] dt-bindings: usb: samsung,exynos-dwc3: allow unit address in DTS

From: Rob Herring
Date: Wed Jan 25 2023 - 16:13:41 EST


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
>