[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <29f1ddef-6165-951c-946c-661adf620442@linaro.org>
Date: Thu, 26 Jan 2023 14:54:45 +0100
From: Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>
To: Rob Herring <robh@...nel.org>
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
Alim Akhtar <alim.akhtar@...sung.com>,
linux-usb@...r.kernel.org, devicetree@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org,
linux-samsung-soc@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] dt-bindings: usb: samsung,exynos-dwc3: allow unit address
in DTS
On 26/01/2023 14:41, Rob Herring wrote:
> On Thu, Jan 26, 2023 at 4:48 AM Krzysztof Kozlowski
> <krzysztof.kozlowski@...aro.org> wrote:
>>
>> On 25/01/2023 22:13, Rob Herring wrote:
>>> 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...
>>
>> You mean something like this (diff against this patchset):
>> ----------
>> diff --git a/arch/arm/boot/dts/exynos54xx.dtsi
>> b/arch/arm/boot/dts/exynos54xx.dtsi
>> index 08786fd9c6ea..75b6f9678672 100644
>> --- a/arch/arm/boot/dts/exynos54xx.dtsi
>> +++ b/arch/arm/boot/dts/exynos54xx.dtsi
>> @@ -142,16 +142,15 @@ hsi2c_7: i2c@...d0000 {
>> status = "disabled";
>> };
>>
>> - usbdrd3_0: usb-wrapper@...00000 {
>> + usbdrd3_0: usb-wrapper {
>
> Why did you drop the unit-address? Unit-address is valid with 'reg' or 'ranges'.
I misunderstood your comment then. To which problem did you refer with
"The correct fix is ranges ...."? To my understanding this only changes
the unit address, so I won't have to change the node name
usb->usb-wrapper. Except this, my patches having empty ranges are
equivalent.
>
>> compatible = "samsung,exynos5250-dwusb3";
>> - reg = <0x12000000 0x10000>;
>> #address-cells = <1>;
>> #size-cells = <1>;
>> - ranges;
>> + ranges = <0x0 0x12000000 0x10000>;
>>
Best regards,
Krzysztof
Powered by blists - more mailing lists