Add the binding example for the USB3.1 Genesys Logic GL3523
integrates with USB 3.1 Gen 1 Super Speed and USB 2.0 High-Speed
hub.
For onboard hub controllers that support USB 3.x and USB 2.0 hubs
with shared resets and power supplies, this property is used to identify
the hubs with which these are shared.
GL3523 has built-in 5V to 3.3V and 5V to 1.2V regulators, which serves
power to the USB HUB, it uses 5V power regulator.
Reviewed-by: Conor Dooley <[email protected]>
Signed-off-by: Anand Moon <[email protected]>
---
V6: fix the description of the regulators
Updated the commit message for regulator updates.
add reviewed by Conor Dooley
[1] https://lore.kernel.org/all/[email protected]/
v5: upgrade peer-hub description : Conor Dooley
[0] https://www.genesyslogic.com.tw/en/product_view.php?show=67 [Block Diagram]
v4: Fix the description of peer-hub and update the commit message.
Schematics of the Odroid N2+
https://dn.odroid.com/S922X/ODROID-N2/Schematic/odroid-n2_rev0.6_20210121.pdf
V3: fix the dt_binding_check error, added new example for Genesys GL3523
v2: added Genesys GL3523 binding
v1: none
---
.../bindings/usb/genesys,gl850g.yaml | 65 +++++++++++++++++--
1 file changed, 61 insertions(+), 4 deletions(-)
diff --git a/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml b/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml
index ee08b9c3721f..c6f63a69396d 100644
--- a/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml
+++ b/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml
@@ -9,9 +9,6 @@ title: Genesys Logic USB hub controller
maintainers:
- Icenowy Zheng <[email protected]>
-allOf:
- - $ref: usb-device.yaml#
-
properties:
compatible:
enum:
@@ -27,12 +24,46 @@ properties:
vdd-supply:
description:
- the regulator that provides 3.3V core power to the hub.
+ The regulator that provides 3.3V or 5.0V core power to the hub.
+
+ peer-hub:
+ $ref: /schemas/types.yaml#/definitions/phandle
+ description:
+ For onboard hub controllers that support USB 3.x and USB 2.0 hubs
+ with shared resets and power supplies, this property is used to identify
+ the hubs with which these are shared.
required:
- compatible
- reg
+allOf:
+ - $ref: usb-device.yaml#
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - usb5e3,608
+ then:
+ properties:
+ peer-hub: false
+ vdd-supply: false
+ reset-gpios: true
+
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - usb5e3,610
+ - usb5e3,620
+ then:
+ properties:
+ peer-hub: true
+ vdd-supply: true
+ reset-gpios: true
+
additionalProperties: false
examples:
@@ -49,3 +80,29 @@ examples:
reset-gpios = <&pio 7 2 GPIO_ACTIVE_LOW>;
};
};
+
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+ usb {
+ dr_mode = "host";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ /* 2.0 hub on port 1 */
+ hub_2_0: hub@1 {
+ compatible = "usb5e3,610";
+ reg = <1>;
+ peer-hub = <&hub_3_0>;
+ reset-gpios = <&gpio 20 GPIO_ACTIVE_LOW>;
+ vdd-supply = <&vcc_5v>;
+ };
+
+ /* 3.1 hub on port 4 */
+ hub_3_0: hub@2 {
+ compatible = "usb5e3,620";
+ reg = <2>;
+ peer-hub = <&hub_2_0>;
+ reset-gpios = <&gpio 20 GPIO_ACTIVE_LOW>;
+ vdd-supply = <&vcc_5v>;
+ };
+ };
--
2.42.0
On Mon, Dec 04, 2023 at 08:14:25PM +0530, Anand Moon wrote:
> Add the binding example for the USB3.1 Genesys Logic GL3523
> integrates with USB 3.1 Gen 1 Super Speed and USB 2.0 High-Speed
> hub.
>
> For onboard hub controllers that support USB 3.x and USB 2.0 hubs
> with shared resets and power supplies, this property is used to identify
> the hubs with which these are shared.
>
> GL3523 has built-in 5V to 3.3V and 5V to 1.2V regulators, which serves
> power to the USB HUB, it uses 5V power regulator.
>
> Reviewed-by: Conor Dooley <[email protected]>
> Signed-off-by: Anand Moon <[email protected]>
> ---
> V6: fix the description of the regulators
> Updated the commit message for regulator updates.
> add reviewed by Conor Dooley
> [1] https://lore.kernel.org/all/[email protected]/
> v5: upgrade peer-hub description : Conor Dooley
> [0] https://www.genesyslogic.com.tw/en/product_view.php?show=67 [Block Diagram]
> v4: Fix the description of peer-hub and update the commit message.
> Schematics of the Odroid N2+
> https://dn.odroid.com/S922X/ODROID-N2/Schematic/odroid-n2_rev0.6_20210121.pdf
> V3: fix the dt_binding_check error, added new example for Genesys GL3523
> v2: added Genesys GL3523 binding
> v1: none
> ---
> .../bindings/usb/genesys,gl850g.yaml | 65 +++++++++++++++++--
> 1 file changed, 61 insertions(+), 4 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml b/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml
> index ee08b9c3721f..c6f63a69396d 100644
> --- a/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml
> +++ b/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml
> @@ -9,9 +9,6 @@ title: Genesys Logic USB hub controller
> maintainers:
> - Icenowy Zheng <[email protected]>
>
> -allOf:
> - - $ref: usb-device.yaml#
> -
> properties:
> compatible:
> enum:
> @@ -27,12 +24,46 @@ properties:
>
> vdd-supply:
> description:
> - the regulator that provides 3.3V core power to the hub.
> + The regulator that provides 3.3V or 5.0V core power to the hub.
> +
> + peer-hub:
> + $ref: /schemas/types.yaml#/definitions/phandle
> + description:
> + For onboard hub controllers that support USB 3.x and USB 2.0 hubs
> + with shared resets and power supplies, this property is used to identify
> + the hubs with which these are shared.
>
> required:
> - compatible
> - reg
>
> +allOf:
> + - $ref: usb-device.yaml#
> + - if:
> + properties:
> + compatible:
> + contains:
> + enum:
> + - usb5e3,608
> + then:
> + properties:
> + peer-hub: false
> + vdd-supply: false
> + reset-gpios: true
> +
> + - if:
> + properties:
> + compatible:
> + contains:
> + enum:
> + - usb5e3,610
> + - usb5e3,620
> + then:
> + properties:
> + peer-hub: true
> + vdd-supply: true
> + reset-gpios: true
No need for this if schema. The default is they are allowed.
Rob
Hi Rob,
On Wed, 6 Dec 2023 at 19:23, Rob Herring <[email protected]> wrote:
>
> On Mon, Dec 04, 2023 at 08:14:25PM +0530, Anand Moon wrote:
> > Add the binding example for the USB3.1 Genesys Logic GL3523
> > integrates with USB 3.1 Gen 1 Super Speed and USB 2.0 High-Speed
> > hub.
> >
> > For onboard hub controllers that support USB 3.x and USB 2.0 hubs
> > with shared resets and power supplies, this property is used to identify
> > the hubs with which these are shared.
> >
> > GL3523 has built-in 5V to 3.3V and 5V to 1.2V regulators, which serves
> > power to the USB HUB, it uses 5V power regulator.
> >
> > Reviewed-by: Conor Dooley <[email protected]>
> > Signed-off-by: Anand Moon <[email protected]>
> > ---
> > V6: fix the description of the regulators
> > Updated the commit message for regulator updates.
> > add reviewed by Conor Dooley
> > [1] https://lore.kernel.org/all/[email protected]/
> > v5: upgrade peer-hub description : Conor Dooley
> > [0] https://www.genesyslogic.com.tw/en/product_view.php?show=67 [Block Diagram]
> > v4: Fix the description of peer-hub and update the commit message.
> > Schematics of the Odroid N2+
> > https://dn.odroid.com/S922X/ODROID-N2/Schematic/odroid-n2_rev0.6_20210121.pdf
> > V3: fix the dt_binding_check error, added new example for Genesys GL3523
> > v2: added Genesys GL3523 binding
> > v1: none
> > ---
> > .../bindings/usb/genesys,gl850g.yaml | 65 +++++++++++++++++--
> > 1 file changed, 61 insertions(+), 4 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml b/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml
> > index ee08b9c3721f..c6f63a69396d 100644
> > --- a/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml
> > +++ b/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml
> > @@ -9,9 +9,6 @@ title: Genesys Logic USB hub controller
> > maintainers:
> > - Icenowy Zheng <[email protected]>
> >
> > -allOf:
> > - - $ref: usb-device.yaml#
> > -
> > properties:
> > compatible:
> > enum:
> > @@ -27,12 +24,46 @@ properties:
> >
> > vdd-supply:
> > description:
> > - the regulator that provides 3.3V core power to the hub.
> > + The regulator that provides 3.3V or 5.0V core power to the hub.
> > +
> > + peer-hub:
> > + $ref: /schemas/types.yaml#/definitions/phandle
> > + description:
> > + For onboard hub controllers that support USB 3.x and USB 2.0 hubs
> > + with shared resets and power supplies, this property is used to identify
> > + the hubs with which these are shared.
> >
> > required:
> > - compatible
> > - reg
> >
> > +allOf:
> > + - $ref: usb-device.yaml#
> > + - if:
> > + properties:
> > + compatible:
> > + contains:
> > + enum:
> > + - usb5e3,608
> > + then:
> > + properties:
> > + peer-hub: false
> > + vdd-supply: false
> > + reset-gpios: true
> > +
> > + - if:
> > + properties:
> > + compatible:
> > + contains:
> > + enum:
> > + - usb5e3,610
> > + - usb5e3,620
> > + then:
> > + properties:
> > + peer-hub: true
> > + vdd-supply: true
> > + reset-gpios: true
>
> No need for this if schema. The default is they are allowed.
>
If I move reset-gpios to required, I observe the below warning.
DTC_CHK Documentation/devicetree/bindings/usb/maxim,max33359.example.dtb
/home/alarm/linux-amlogic-5.y-devel/Documentation/devicetree/bindings/usb/usb-device.example.dtb:
hub@1: 'reset-gpio' is a required property
from schema $id: http://devicetree.org/schemas/usb/genesys,gl850g.yaml#
DTC_CHK Documentation/devicetree/bindings/usb/mediatek,musb.example.dtb
DTC_CHK Documentation/devicetree/bindings/usb/usb251xb.example.dtb
DTC_CHK Documentation/devicetree/bindings/usb/realtek,rts5411.example.dtb
/home/alarm/linux-amlogic-5.y-devel/Documentation/devicetree/bindings/usb/genesys,gl850g.example.dtb:
hub@1: 'reset-gpio' is a required property
from schema $id: http://devicetree.org/schemas/usb/genesys,gl850g.yaml#
DTC_CHK Documentation/devicetree/bindings/usb/brcm,bdc.example.dtb
/home/alarm/linux-amlogic-5.y-devel/Documentation/devicetree/bindings/usb/genesys,gl850g.example.dtb:
hub@1: 'reset-gpio' is a required property
from schema $id: http://devicetree.org/schemas/usb/genesys,gl850g.yaml#
DTC_CHK Documentation/devicetree/bindings/usb/xlnx,usb2.example.dtb
/home/alarm/linux-amlogic-5.y-devel/Documentation/devicetree/bindings/usb/genesys,gl850g.example.dtb:
hub@2: 'reset-gpio' is a required property
from schema $id: http://devicetree.org/schemas/usb/genesys,gl850g.yaml#
DTC_CHK Documentation/devicetree/bindings/usb/starfive,jh7110-usb.example.dtb
> Rob
Thanks
-Anand
On 06/12/2023 18:14, Anand Moon wrote:
> Hi Rob,
>
> On Wed, 6 Dec 2023 at 19:23, Rob Herring <[email protected]> wrote:
>>
>> On Mon, Dec 04, 2023 at 08:14:25PM +0530, Anand Moon wrote:
>>> Add the binding example for the USB3.1 Genesys Logic GL3523
>>> integrates with USB 3.1 Gen 1 Super Speed and USB 2.0 High-Speed
>>> hub.
>>>
>>> For onboard hub controllers that support USB 3.x and USB 2.0 hubs
>>> with shared resets and power supplies, this property is used to identify
>>> the hubs with which these are shared.
>>>
>>> GL3523 has built-in 5V to 3.3V and 5V to 1.2V regulators, which serves
>>> power to the USB HUB, it uses 5V power regulator.
>>>
>>> Reviewed-by: Conor Dooley <[email protected]>
>>> Signed-off-by: Anand Moon <[email protected]>
>>> ---
>>> V6: fix the description of the regulators
>>> Updated the commit message for regulator updates.
>>> add reviewed by Conor Dooley
>>> [1] https://lore.kernel.org/all/[email protected]/
>>> v5: upgrade peer-hub description : Conor Dooley
>>> [0] https://www.genesyslogic.com.tw/en/product_view.php?show=67 [Block Diagram]
>>> v4: Fix the description of peer-hub and update the commit message.
>>> Schematics of the Odroid N2+
>>> https://dn.odroid.com/S922X/ODROID-N2/Schematic/odroid-n2_rev0.6_20210121.pdf
>>> V3: fix the dt_binding_check error, added new example for Genesys GL3523
>>> v2: added Genesys GL3523 binding
>>> v1: none
>>> ---
>>> .../bindings/usb/genesys,gl850g.yaml | 65 +++++++++++++++++--
>>> 1 file changed, 61 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml b/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml
>>> index ee08b9c3721f..c6f63a69396d 100644
>>> --- a/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml
>>> +++ b/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml
>>> @@ -9,9 +9,6 @@ title: Genesys Logic USB hub controller
>>> maintainers:
>>> - Icenowy Zheng <[email protected]>
>>>
>>> -allOf:
>>> - - $ref: usb-device.yaml#
>>> -
>>> properties:
>>> compatible:
>>> enum:
>>> @@ -27,12 +24,46 @@ properties:
>>>
>>> vdd-supply:
>>> description:
>>> - the regulator that provides 3.3V core power to the hub.
>>> + The regulator that provides 3.3V or 5.0V core power to the hub.
>>> +
>>> + peer-hub:
>>> + $ref: /schemas/types.yaml#/definitions/phandle
>>> + description:
>>> + For onboard hub controllers that support USB 3.x and USB 2.0 hubs
>>> + with shared resets and power supplies, this property is used to identify
>>> + the hubs with which these are shared.
>>>
>>> required:
>>> - compatible
>>> - reg
>>>
>>> +allOf:
>>> + - $ref: usb-device.yaml#
>>> + - if:
>>> + properties:
>>> + compatible:
>>> + contains:
>>> + enum:
>>> + - usb5e3,608
>>> + then:
>>> + properties:
>>> + peer-hub: false
>>> + vdd-supply: false
>>> + reset-gpios: true
>>> +
>>> + - if:
>>> + properties:
>>> + compatible:
>>> + contains:
>>> + enum:
>>> + - usb5e3,610
>>> + - usb5e3,620
>>> + then:
>>> + properties:
>>> + peer-hub: true
>>> + vdd-supply: true
>>> + reset-gpios: true
>>
>> No need for this if schema. The default is they are allowed.
>>
>
> If I move reset-gpios to required, I observe the below warning.
>
> DTC_CHK Documentation/devicetree/bindings/usb/maxim,max33359.example.dtb
> /home/alarm/linux-amlogic-5.y-devel/Documentation/devicetree/bindings/usb/usb-device.example.dtb:
> hub@1: 'reset-gpio' is a required property
> from schema $id: http://devicetree.org/schemas/usb/genesys,gl850g.yaml#
Where are the properties defined? If you open the binding you see:
nowhere. You cannot define properties in some variant with "true".
Please define all of them in top-level and only narrow/constrain when
applicable.
Best regards,
Krzysztof
Hi Krzysztof
On Thu, 7 Dec 2023 at 14:00, Krzysztof Kozlowski
<[email protected]> wrote:
>
> On 06/12/2023 18:14, Anand Moon wrote:
> > Hi Rob,
> >
> > On Wed, 6 Dec 2023 at 19:23, Rob Herring <[email protected]> wrote:
> >>
> >> On Mon, Dec 04, 2023 at 08:14:25PM +0530, Anand Moon wrote:
> >>> Add the binding example for the USB3.1 Genesys Logic GL3523
> >>> integrates with USB 3.1 Gen 1 Super Speed and USB 2.0 High-Speed
> >>> hub.
> >>>
> >>> For onboard hub controllers that support USB 3.x and USB 2.0 hubs
> >>> with shared resets and power supplies, this property is used to identify
> >>> the hubs with which these are shared.
> >>>
> >>> GL3523 has built-in 5V to 3.3V and 5V to 1.2V regulators, which serves
> >>> power to the USB HUB, it uses 5V power regulator.
> >>>
> >>> Reviewed-by: Conor Dooley <[email protected]>
> >>> Signed-off-by: Anand Moon <[email protected]>
> >>> ---
> >>> V6: fix the description of the regulators
> >>> Updated the commit message for regulator updates.
> >>> add reviewed by Conor Dooley
> >>> [1] https://lore.kernel.org/all/[email protected]/
> >>> v5: upgrade peer-hub description : Conor Dooley
> >>> [0] https://www.genesyslogic.com.tw/en/product_view.php?show=67 [Block Diagram]
> >>> v4: Fix the description of peer-hub and update the commit message.
> >>> Schematics of the Odroid N2+
> >>> https://dn.odroid.com/S922X/ODROID-N2/Schematic/odroid-n2_rev0.6_20210121.pdf
> >>> V3: fix the dt_binding_check error, added new example for Genesys GL3523
> >>> v2: added Genesys GL3523 binding
> >>> v1: none
> >>> ---
> >>> .../bindings/usb/genesys,gl850g.yaml | 65 +++++++++++++++++--
> >>> 1 file changed, 61 insertions(+), 4 deletions(-)
> >>>
> >>> diff --git a/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml b/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml
> >>> index ee08b9c3721f..c6f63a69396d 100644
> >>> --- a/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml
> >>> +++ b/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml
> >>> @@ -9,9 +9,6 @@ title: Genesys Logic USB hub controller
> >>> maintainers:
> >>> - Icenowy Zheng <[email protected]>
> >>>
> >>> -allOf:
> >>> - - $ref: usb-device.yaml#
> >>> -
> >>> properties:
> >>> compatible:
> >>> enum:
> >>> @@ -27,12 +24,46 @@ properties:
> >>>
> >>> vdd-supply:
> >>> description:
> >>> - the regulator that provides 3.3V core power to the hub.
> >>> + The regulator that provides 3.3V or 5.0V core power to the hub.
> >>> +
> >>> + peer-hub:
> >>> + $ref: /schemas/types.yaml#/definitions/phandle
> >>> + description:
> >>> + For onboard hub controllers that support USB 3.x and USB 2.0 hubs
> >>> + with shared resets and power supplies, this property is used to identify
> >>> + the hubs with which these are shared.
> >>>
> >>> required:
> >>> - compatible
> >>> - reg
> >>>
> >>> +allOf:
> >>> + - $ref: usb-device.yaml#
> >>> + - if:
> >>> + properties:
> >>> + compatible:
> >>> + contains:
> >>> + enum:
> >>> + - usb5e3,608
> >>> + then:
> >>> + properties:
> >>> + peer-hub: false
> >>> + vdd-supply: false
> >>> + reset-gpios: true
> >>> +
> >>> + - if:
> >>> + properties:
> >>> + compatible:
> >>> + contains:
> >>> + enum:
> >>> + - usb5e3,610
> >>> + - usb5e3,620
> >>> + then:
> >>> + properties:
> >>> + peer-hub: true
> >>> + vdd-supply: true
> >>> + reset-gpios: true
> >>
> >> No need for this if schema. The default is they are allowed.
> >>
> >
> > If I move reset-gpios to required, I observe the below warning.
> >
> > DTC_CHK Documentation/devicetree/bindings/usb/maxim,max33359.example.dtb
> > /home/alarm/linux-amlogic-5.y-devel/Documentation/devicetree/bindings/usb/usb-device.example.dtb:
> > hub@1: 'reset-gpio' is a required property
> > from schema $id: http://devicetree.org/schemas/usb/genesys,gl850g.yaml#
>
> Where are the properties defined? If you open the binding you see:
> nowhere. You cannot define properties in some variant with "true".
> Please define all of them in top-level and only narrow/constrain when
> applicable.
>
What I meant is the example below, required meant applicable for both
the binding
But it shows me the above warning.
required:
- compatible
- reg
- reset-gpio
allOf:
- $ref: usb-device.yaml#
- if:
properties:
compatible:
contains:
enum:
- usb5e3,608
then:
properties:
peer-hub: false
vdd-supply: false
- if:
properties:
compatible:
contains:
enum:
- usb5e3,610
- usb5e3,620
then:
properties:
peer-hub: true
vdd-supply: true
additionalProperties: false
>
> Best regards,
> Krzysztof
>
Thanks
-Anand
On 07/12/2023 13:33, Anand Moon wrote:
> Hi Krzysztof
>
> On Thu, 7 Dec 2023 at 14:00, Krzysztof Kozlowski
> <[email protected]> wrote:
>>
>> On 06/12/2023 18:14, Anand Moon wrote:
>>> Hi Rob,
>>>
>>> On Wed, 6 Dec 2023 at 19:23, Rob Herring <[email protected]> wrote:
>>>>
>>>> On Mon, Dec 04, 2023 at 08:14:25PM +0530, Anand Moon wrote:
>>>>> Add the binding example for the USB3.1 Genesys Logic GL3523
>>>>> integrates with USB 3.1 Gen 1 Super Speed and USB 2.0 High-Speed
>>>>> hub.
>>>>>
>>>>> For onboard hub controllers that support USB 3.x and USB 2.0 hubs
>>>>> with shared resets and power supplies, this property is used to identify
>>>>> the hubs with which these are shared.
>>>>>
>>>>> GL3523 has built-in 5V to 3.3V and 5V to 1.2V regulators, which serves
>>>>> power to the USB HUB, it uses 5V power regulator.
>>>>>
>>>>> Reviewed-by: Conor Dooley <[email protected]>
>>>>> Signed-off-by: Anand Moon <[email protected]>
>>>>> ---
>>>>> V6: fix the description of the regulators
>>>>> Updated the commit message for regulator updates.
>>>>> add reviewed by Conor Dooley
>>>>> [1] https://lore.kernel.org/all/[email protected]/
>>>>> v5: upgrade peer-hub description : Conor Dooley
>>>>> [0] https://www.genesyslogic.com.tw/en/product_view.php?show=67 [Block Diagram]
>>>>> v4: Fix the description of peer-hub and update the commit message.
>>>>> Schematics of the Odroid N2+
>>>>> https://dn.odroid.com/S922X/ODROID-N2/Schematic/odroid-n2_rev0.6_20210121.pdf
>>>>> V3: fix the dt_binding_check error, added new example for Genesys GL3523
>>>>> v2: added Genesys GL3523 binding
>>>>> v1: none
>>>>> ---
>>>>> .../bindings/usb/genesys,gl850g.yaml | 65 +++++++++++++++++--
>>>>> 1 file changed, 61 insertions(+), 4 deletions(-)
>>>>>
>>>>> diff --git a/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml b/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml
>>>>> index ee08b9c3721f..c6f63a69396d 100644
>>>>> --- a/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml
>>>>> +++ b/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml
>>>>> @@ -9,9 +9,6 @@ title: Genesys Logic USB hub controller
>>>>> maintainers:
>>>>> - Icenowy Zheng <[email protected]>
>>>>>
>>>>> -allOf:
>>>>> - - $ref: usb-device.yaml#
>>>>> -
>>>>> properties:
>>>>> compatible:
>>>>> enum:
>>>>> @@ -27,12 +24,46 @@ properties:
>>>>>
>>>>> vdd-supply:
>>>>> description:
>>>>> - the regulator that provides 3.3V core power to the hub.
>>>>> + The regulator that provides 3.3V or 5.0V core power to the hub.
>>>>> +
>>>>> + peer-hub:
>>>>> + $ref: /schemas/types.yaml#/definitions/phandle
>>>>> + description:
>>>>> + For onboard hub controllers that support USB 3.x and USB 2.0 hubs
>>>>> + with shared resets and power supplies, this property is used to identify
>>>>> + the hubs with which these are shared.
>>>>>
>>>>> required:
>>>>> - compatible
>>>>> - reg
>>>>>
>>>>> +allOf:
>>>>> + - $ref: usb-device.yaml#
>>>>> + - if:
>>>>> + properties:
>>>>> + compatible:
>>>>> + contains:
>>>>> + enum:
>>>>> + - usb5e3,608
>>>>> + then:
>>>>> + properties:
>>>>> + peer-hub: false
>>>>> + vdd-supply: false
>>>>> + reset-gpios: true
>>>>> +
>>>>> + - if:
>>>>> + properties:
>>>>> + compatible:
>>>>> + contains:
>>>>> + enum:
>>>>> + - usb5e3,610
>>>>> + - usb5e3,620
>>>>> + then:
>>>>> + properties:
>>>>> + peer-hub: true
>>>>> + vdd-supply: true
>>>>> + reset-gpios: true
>>>>
>>>> No need for this if schema. The default is they are allowed.
>>>>
>>>
>>> If I move reset-gpios to required, I observe the below warning.
>>>
>>> DTC_CHK Documentation/devicetree/bindings/usb/maxim,max33359.example.dtb
>>> /home/alarm/linux-amlogic-5.y-devel/Documentation/devicetree/bindings/usb/usb-device.example.dtb:
>>> hub@1: 'reset-gpio' is a required property
>>> from schema $id: http://devicetree.org/schemas/usb/genesys,gl850g.yaml#
>>
>> Where are the properties defined? If you open the binding you see:
>> nowhere. You cannot define properties in some variant with "true".
>> Please define all of them in top-level and only narrow/constrain when
>> applicable.
>>
> What I meant is the example below, required meant applicable for both
> the binding
> But it shows me the above warning.
My explanation stands... So again:
>> Please define all of them in top-level and only narrow/constrain when
>> applicable.
Best regards,
Krzysztof
Hi Krzysztof,
On Thu, 7 Dec 2023 at 18:11, Krzysztof Kozlowski
<[email protected]> wrote:
>
> On 07/12/2023 13:33, Anand Moon wrote:
> > Hi Krzysztof
> >
> > On Thu, 7 Dec 2023 at 14:00, Krzysztof Kozlowski
> > <[email protected]> wrote:
> >>
> >> On 06/12/2023 18:14, Anand Moon wrote:
> >>> Hi Rob,
> >>>
> >>> On Wed, 6 Dec 2023 at 19:23, Rob Herring <[email protected]> wrote:
> >>>>
> >>>> On Mon, Dec 04, 2023 at 08:14:25PM +0530, Anand Moon wrote:
> >>>>> Add the binding example for the USB3.1 Genesys Logic GL3523
> >>>>> integrates with USB 3.1 Gen 1 Super Speed and USB 2.0 High-Speed
> >>>>> hub.
> >>>>>
> >>>>> For onboard hub controllers that support USB 3.x and USB 2.0 hubs
> >>>>> with shared resets and power supplies, this property is used to identify
> >>>>> the hubs with which these are shared.
> >>>>>
> >>>>> GL3523 has built-in 5V to 3.3V and 5V to 1.2V regulators, which serves
> >>>>> power to the USB HUB, it uses 5V power regulator.
> >>>>>
> >>>>> Reviewed-by: Conor Dooley <[email protected]>
> >>>>> Signed-off-by: Anand Moon <[email protected]>
> >>>>> ---
> >>>>> V6: fix the description of the regulators
> >>>>> Updated the commit message for regulator updates.
> >>>>> add reviewed by Conor Dooley
> >>>>> [1] https://lore.kernel.org/all/[email protected]/
> >>>>> v5: upgrade peer-hub description : Conor Dooley
> >>>>> [0] https://www.genesyslogic.com.tw/en/product_view.php?show=67 [Block Diagram]
> >>>>> v4: Fix the description of peer-hub and update the commit message.
> >>>>> Schematics of the Odroid N2+
> >>>>> https://dn.odroid.com/S922X/ODROID-N2/Schematic/odroid-n2_rev0.6_20210121.pdf
> >>>>> V3: fix the dt_binding_check error, added new example for Genesys GL3523
> >>>>> v2: added Genesys GL3523 binding
> >>>>> v1: none
> >>>>> ---
> >>>>> .../bindings/usb/genesys,gl850g.yaml | 65 +++++++++++++++++--
> >>>>> 1 file changed, 61 insertions(+), 4 deletions(-)
> >>>>>
> >>>>> diff --git a/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml b/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml
> >>>>> index ee08b9c3721f..c6f63a69396d 100644
> >>>>> --- a/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml
> >>>>> +++ b/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml
> >>>>> @@ -9,9 +9,6 @@ title: Genesys Logic USB hub controller
> >>>>> maintainers:
> >>>>> - Icenowy Zheng <[email protected]>
> >>>>>
> >>>>> -allOf:
> >>>>> - - $ref: usb-device.yaml#
> >>>>> -
> >>>>> properties:
> >>>>> compatible:
> >>>>> enum:
> >>>>> @@ -27,12 +24,46 @@ properties:
> >>>>>
> >>>>> vdd-supply:
> >>>>> description:
> >>>>> - the regulator that provides 3.3V core power to the hub.
> >>>>> + The regulator that provides 3.3V or 5.0V core power to the hub.
> >>>>> +
> >>>>> + peer-hub:
> >>>>> + $ref: /schemas/types.yaml#/definitions/phandle
> >>>>> + description:
> >>>>> + For onboard hub controllers that support USB 3.x and USB 2.0 hubs
> >>>>> + with shared resets and power supplies, this property is used to identify
> >>>>> + the hubs with which these are shared.
> >>>>>
> >>>>> required:
> >>>>> - compatible
> >>>>> - reg
> >>>>>
> >>>>> +allOf:
> >>>>> + - $ref: usb-device.yaml#
> >>>>> + - if:
> >>>>> + properties:
> >>>>> + compatible:
> >>>>> + contains:
> >>>>> + enum:
> >>>>> + - usb5e3,608
> >>>>> + then:
> >>>>> + properties:
> >>>>> + peer-hub: false
> >>>>> + vdd-supply: false
> >>>>> + reset-gpios: true
> >>>>> +
> >>>>> + - if:
> >>>>> + properties:
> >>>>> + compatible:
> >>>>> + contains:
> >>>>> + enum:
> >>>>> + - usb5e3,610
> >>>>> + - usb5e3,620
> >>>>> + then:
> >>>>> + properties:
> >>>>> + peer-hub: true
> >>>>> + vdd-supply: true
> >>>>> + reset-gpios: true
> >>>>
> >>>> No need for this if schema. The default is they are allowed.
> >>>>
> >>>
> >>> If I move reset-gpios to required, I observe the below warning.
> >>>
> >>> DTC_CHK Documentation/devicetree/bindings/usb/maxim,max33359.example.dtb
> >>> /home/alarm/linux-amlogic-5.y-devel/Documentation/devicetree/bindings/usb/usb-device.example.dtb:
> >>> hub@1: 'reset-gpio' is a required property
> >>> from schema $id: http://devicetree.org/schemas/usb/genesys,gl850g.yaml#
> >>
> >> Where are the properties defined? If you open the binding you see:
> >> nowhere. You cannot define properties in some variant with "true".
> >> Please define all of them in top-level and only narrow/constrain when
> >> applicable.
> >>
> > What I meant is the example below, required meant applicable for both
> > the binding
> > But it shows me the above warning.
>
> My explanation stands... So again:
>
> >> Please define all of them in top-level and only narrow/constrain when
> >> applicable.
>
Apologies, But I have tried this multiple times but have not been able
to fix the device tree warning
I have verified that example
Documentation/devicetree/bindings/usb/genesys,gl850g.example.dts
generate is correct
required:
- compatible
- reg
- reset-gpio
- peer-hub
- vdd-supply
allOf:
- $ref: usb-device.yaml#
- if:
properties:
compatible:
contains:
enum:
- usb5e3,608
then:
properties:
peer-hub: false
vdd-supply: false
- if:
properties:
compatible:
contains:
enum:
- usb5e3,610
- usb5e3,620
then:
properties:
peer-hub: true
vdd-supply: true
additionalProperties: false
> Best regards,
> Krzysztof
>
Thanks
-Anand
On 08/12/2023 01:24, Anand Moon wrote:
>>>>>
>>>>> If I move reset-gpios to required, I observe the below warning.
>>>>>
>>>>> DTC_CHK Documentation/devicetree/bindings/usb/maxim,max33359.example.dtb
>>>>> /home/alarm/linux-amlogic-5.y-devel/Documentation/devicetree/bindings/usb/usb-device.example.dtb:
>>>>> hub@1: 'reset-gpio' is a required property
>>>>> from schema $id: http://devicetree.org/schemas/usb/genesys,gl850g.yaml#
>>>>
>>>> Where are the properties defined? If you open the binding you see:
>>>> nowhere. You cannot define properties in some variant with "true".
>>>> Please define all of them in top-level and only narrow/constrain when
>>>> applicable.
>>>>
>>> What I meant is the example below, required meant applicable for both
>>> the binding
>>> But it shows me the above warning.
>>
>> My explanation stands... So again:
>>
>>>> Please define all of them in top-level and only narrow/constrain when
>>>> applicable.
>>
> Apologies, But I have tried this multiple times but have not been able
> to fix the device tree warning
Did you document all properties in top-level "properties:" block?
Best regards,
Krzysztof
Hi Krzysztof,
On Fri, 8 Dec 2023 at 13:14, Krzysztof Kozlowski
<[email protected]> wrote:
>
> On 08/12/2023 01:24, Anand Moon wrote:
> >>>>>
> >>>>> If I move reset-gpios to required, I observe the below warning.
> >>>>>
> >>>>> DTC_CHK Documentation/devicetree/bindings/usb/maxim,max33359.example.dtb
> >>>>> /home/alarm/linux-amlogic-5.y-devel/Documentation/devicetree/bindings/usb/usb-device.example.dtb:
> >>>>> hub@1: 'reset-gpio' is a required property
> >>>>> from schema $id: http://devicetree.org/schemas/usb/genesys,gl850g.yaml#
> >>>>
> >>>> Where are the properties defined? If you open the binding you see:
> >>>> nowhere. You cannot define properties in some variant with "true".
> >>>> Please define all of them in top-level and only narrow/constrain when
> >>>> applicable.
> >>>>
> >>> What I meant is the example below, required meant applicable for both
> >>> the binding
> >>> But it shows me the above warning.
> >>
> >> My explanation stands... So again:
> >>
> >>>> Please define all of them in top-level and only narrow/constrain when
> >>>> applicable.
> >>
> > Apologies, But I have tried this multiple times but have not been able
> > to fix the device tree warning
>
> Did you document all properties in top-level "properties:" block?
>
Yes, I have,
Can you suggest a couple of examples to follow?
I looked at some of the YAML files but could not fix my issue.
Thanks
-Anand
On 08/12/2023 12:19, Anand Moon wrote:
> Hi Krzysztof,
>
> On Fri, 8 Dec 2023 at 13:14, Krzysztof Kozlowski
> <[email protected]> wrote:
>>
>> On 08/12/2023 01:24, Anand Moon wrote:
>>>>>>>
>>>>>>> If I move reset-gpios to required, I observe the below warning.
>>>>>>>
>>>>>>> DTC_CHK Documentation/devicetree/bindings/usb/maxim,max33359.example.dtb
>>>>>>> /home/alarm/linux-amlogic-5.y-devel/Documentation/devicetree/bindings/usb/usb-device.example.dtb:
>>>>>>> hub@1: 'reset-gpio' is a required property
>>>>>>> from schema $id: http://devicetree.org/schemas/usb/genesys,gl850g.yaml#
>>>>>>
>>>>>> Where are the properties defined? If you open the binding you see:
>>>>>> nowhere. You cannot define properties in some variant with "true".
>>>>>> Please define all of them in top-level and only narrow/constrain when
>>>>>> applicable.
>>>>>>
>>>>> What I meant is the example below, required meant applicable for both
>>>>> the binding
>>>>> But it shows me the above warning.
>>>>
>>>> My explanation stands... So again:
>>>>
>>>>>> Please define all of them in top-level and only narrow/constrain when
>>>>>> applicable.
>>>>
>>> Apologies, But I have tried this multiple times but have not been able
>>> to fix the device tree warning
>>
>> Did you document all properties in top-level "properties:" block?
>>
> Yes, I have,
>
> Can you suggest a couple of examples to follow?
> I looked at some of the YAML files but could not fix my issue.
99% of bindings. Look also at example-schema.
You can also attach here complete patch for fast look / short review.
Best regards,
Krzysztof
Hi Krzysztof,
On Fri, 8 Dec 2023 at 17:47, Krzysztof Kozlowski
<[email protected]> wrote:
>
> On 08/12/2023 12:19, Anand Moon wrote:
> > Hi Krzysztof,
> >
> > On Fri, 8 Dec 2023 at 13:14, Krzysztof Kozlowski
> > <[email protected]> wrote:
> >>
> >> On 08/12/2023 01:24, Anand Moon wrote:
> >>>>>>>
> >>>>>>> If I move reset-gpios to required, I observe the below warning.
> >>>>>>>
> >>>>>>> DTC_CHK Documentation/devicetree/bindings/usb/maxim,max33359.example.dtb
> >>>>>>> /home/alarm/linux-amlogic-5.y-devel/Documentation/devicetree/bindings/usb/usb-device.example.dtb:
> >>>>>>> hub@1: 'reset-gpio' is a required property
> >>>>>>> from schema $id: http://devicetree.org/schemas/usb/genesys,gl850g.yaml#
> >>>>>>
> >>>>>> Where are the properties defined? If you open the binding you see:
> >>>>>> nowhere. You cannot define properties in some variant with "true".
> >>>>>> Please define all of them in top-level and only narrow/constrain when
> >>>>>> applicable.
> >>>>>>
> >>>>> What I meant is the example below, required meant applicable for both
> >>>>> the binding
> >>>>> But it shows me the above warning.
> >>>>
> >>>> My explanation stands... So again:
> >>>>
> >>>>>> Please define all of them in top-level and only narrow/constrain when
> >>>>>> applicable.
> >>>>
> >>> Apologies, But I have tried this multiple times but have not been able
> >>> to fix the device tree warning
> >>
> >> Did you document all properties in top-level "properties:" block?
> >>
> > Yes, I have,
> >
> > Can you suggest a couple of examples to follow?
> > I looked at some of the YAML files but could not fix my issue.
>
> 99% of bindings. Look also at example-schema.
>
> You can also attach here complete patch for fast look / short review.
>
Please find the modified patch, I have tried a few things but none
resolve the binding warning.
I am not able to debug this.
-Thanks
Anand
-----8<----------8<----------8<----------8<----------8<----------8<-----
diff --git a/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml
b/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml
index ee08b9c3721f..7f75fa3c1945 100644
--- a/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml
+++ b/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml
@@ -9,9 +9,6 @@ title: Genesys Logic USB hub controller
maintainers:
- Icenowy Zheng <[email protected]>
-allOf:
- - $ref: usb-device.yaml#
-
properties:
compatible:
enum:
@@ -27,11 +24,47 @@ properties:
vdd-supply:
description:
- the regulator that provides 3.3V core power to the hub.
+ The regulator that provides 3.3V or 5.0V core power to the hub.
+
+ peer-hub:
+ $ref: /schemas/types.yaml#/definitions/phandle
+ description:
+ For onboard hub controllers that support USB 3.x and USB 2.0 hubs with
+ shared resets and power supplies, this property is used to identify the
+ hubs with which these are shared.
required:
- compatible
- reg
+ - vdd-supply
+ - reset-gpios
+ - peer-hub
+
+allOf:
+ - $ref: usb-device.yaml#
+
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - usb5e3,608
+ then:
+ properties:
+ peer-hub: false
+ vdd-supply: false
+
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - usb5e3,610
+ - usb5e3,620
+ then:
+ properties:
+ peer-hub: true
+ vdd-supply: true
additionalProperties: false
@@ -49,3 +82,29 @@ examples:
reset-gpios = <&pio 7 2 GPIO_ACTIVE_LOW>;
};
};
+
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+ usb {
+ dr_mode = "host";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ /* 2.0 hub on port 1 */
+ hub_2_0: hub@1 {
+ compatible = "usb5e3,610";
+ reg = <1>;
+ peer-hub = <&hub_3_0>;
+ reset-gpios = <&gpio 20 GPIO_ACTIVE_LOW>;
+ vdd-supply = <&vcc_5v>;
+ };
+
+ /* 3.1 hub on port 4 */
+ hub_3_0: hub@2 {
+ compatible = "usb5e3,620";
+ reg = <2>;
+ peer-hub = <&hub_2_0>;
+ reset-gpios = <&gpio 20 GPIO_ACTIVE_LOW>;
+ vdd-supply = <&vcc_5v>;
+ };
+ };
On 12/12/2023 07:22, Anand Moon wrote:
> Hi Krzysztof,
>
> On Fri, 8 Dec 2023 at 17:47, Krzysztof Kozlowski
> <[email protected]> wrote:
>>
>> On 08/12/2023 12:19, Anand Moon wrote:
>>> Hi Krzysztof,
>>>
>>> On Fri, 8 Dec 2023 at 13:14, Krzysztof Kozlowski
>>> <[email protected]> wrote:
>>>>
>>>> On 08/12/2023 01:24, Anand Moon wrote:
>>>>>>>>>
>>>>>>>>> If I move reset-gpios to required, I observe the below warning.
>>>>>>>>>
>>>>>>>>> DTC_CHK Documentation/devicetree/bindings/usb/maxim,max33359.example.dtb
>>>>>>>>> /home/alarm/linux-amlogic-5.y-devel/Documentation/devicetree/bindings/usb/usb-device.example.dtb:
>>>>>>>>> hub@1: 'reset-gpio' is a required property
>>>>>>>>> from schema $id: http://devicetree.org/schemas/usb/genesys,gl850g.yaml#
>>>>>>>>
>>>>>>>> Where are the properties defined? If you open the binding you see:
>>>>>>>> nowhere. You cannot define properties in some variant with "true".
>>>>>>>> Please define all of them in top-level and only narrow/constrain when
>>>>>>>> applicable.
>>>>>>>>
>>>>>>> What I meant is the example below, required meant applicable for both
>>>>>>> the binding
>>>>>>> But it shows me the above warning.
>>>>>>
>>>>>> My explanation stands... So again:
>>>>>>
>>>>>>>> Please define all of them in top-level and only narrow/constrain when
>>>>>>>> applicable.
>>>>>>
>>>>> Apologies, But I have tried this multiple times but have not been able
>>>>> to fix the device tree warning
>>>>
>>>> Did you document all properties in top-level "properties:" block?
>>>>
>>> Yes, I have,
>>>
>>> Can you suggest a couple of examples to follow?
>>> I looked at some of the YAML files but could not fix my issue.
>>
>> 99% of bindings. Look also at example-schema.
>>
>> You can also attach here complete patch for fast look / short review.
>>
>
> Please find the modified patch, I have tried a few things but none
> resolve the binding warning.
> I am not able to debug this.
And where is the warning or the issue? Can you describe what problem do
you have?
>
> -Thanks
> Anand
> -----8<----------8<----------8<----------8<----------8<----------8<-----
> diff --git a/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml
> b/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml
> index ee08b9c3721f..7f75fa3c1945 100644
> --- a/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml
> +++ b/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml
> @@ -9,9 +9,6 @@ title: Genesys Logic USB hub controller
> maintainers:
> - Icenowy Zheng <[email protected]>
>
> -allOf:
> - - $ref: usb-device.yaml#
> -
> properties:
> compatible:
> enum:
> @@ -27,11 +24,47 @@ properties:
>
> vdd-supply:
> description:
> - the regulator that provides 3.3V core power to the hub.
> + The regulator that provides 3.3V or 5.0V core power to the hub.
> +
> + peer-hub:
> + $ref: /schemas/types.yaml#/definitions/phandle
> + description:
> + For onboard hub controllers that support USB 3.x and USB 2.0 hubs with
> + shared resets and power supplies, this property is used to identify the
> + hubs with which these are shared.
>
> required:
> - compatible
> - reg
> + - vdd-supply
> + - reset-gpios
> + - peer-hub
> +
> +allOf:
> + - $ref: usb-device.yaml#
> +
> + - if:
> + properties:
> + compatible:
> + contains:
> + enum:
> + - usb5e3,608
> + then:
> + properties:
> + peer-hub: false
> + vdd-supply: false
> +
> + - if:
> + properties:
> + compatible:
> + contains:
> + enum:
> + - usb5e3,610
> + - usb5e3,620
> + then:
> + properties:
> + peer-hub: true
> + vdd-supply: true
Drop this if:, redundant.
Best regards,
Krzysztof
Hi Krzysztof,
On Tue, 12 Dec 2023 at 14:10, Krzysztof Kozlowski
<[email protected]> wrote:
>
> On 12/12/2023 07:22, Anand Moon wrote:
> > Hi Krzysztof,
> >
> > On Fri, 8 Dec 2023 at 17:47, Krzysztof Kozlowski
> > <[email protected]> wrote:
> >>
> >> On 08/12/2023 12:19, Anand Moon wrote:
> >>> Hi Krzysztof,
> >>>
> >>> On Fri, 8 Dec 2023 at 13:14, Krzysztof Kozlowski
> >>> <[email protected]> wrote:
> >>>>
> >>>> On 08/12/2023 01:24, Anand Moon wrote:
> >>>>>>>>>
> >>>>>>>>> If I move reset-gpios to required, I observe the below warning.
> >>>>>>>>>
> >>>>>>>>> DTC_CHK Documentation/devicetree/bindings/usb/maxim,max33359.example.dtb
> >>>>>>>>> /home/alarm/linux-amlogic-5.y-devel/Documentation/devicetree/bindings/usb/usb-device.example.dtb:
> >>>>>>>>> hub@1: 'reset-gpio' is a required property
> >>>>>>>>> from schema $id: http://devicetree.org/schemas/usb/genesys,gl850g.yaml#
> >>>>>>>>
> >>>>>>>> Where are the properties defined? If you open the binding you see:
> >>>>>>>> nowhere. You cannot define properties in some variant with "true".
> >>>>>>>> Please define all of them in top-level and only narrow/constrain when
> >>>>>>>> applicable.
> >>>>>>>>
> >>>>>>> What I meant is the example below, required meant applicable for both
> >>>>>>> the binding
> >>>>>>> But it shows me the above warning.
> >>>>>>
> >>>>>> My explanation stands... So again:
> >>>>>>
> >>>>>>>> Please define all of them in top-level and only narrow/constrain when
> >>>>>>>> applicable.
> >>>>>>
> >>>>> Apologies, But I have tried this multiple times but have not been able
> >>>>> to fix the device tree warning
> >>>>
> >>>> Did you document all properties in top-level "properties:" block?
> >>>>
> >>> Yes, I have,
> >>>
> >>> Can you suggest a couple of examples to follow?
> >>> I looked at some of the YAML files but could not fix my issue.
> >>
> >> 99% of bindings. Look also at example-schema.
> >>
> >> You can also attach here complete patch for fast look / short review.
> >>
> >
> > Please find the modified patch, I have tried a few things but none
> > resolve the binding warning.
> > I am not able to debug this.
>
> And where is the warning or the issue? Can you describe what problem do
> you have?
Here is the list of warnings I observed with this patch
DTC_CHK Documentation/devicetree/bindings/usb/nvidia,tegra186-xusb.example.dtb
/home/amoon/mainline/linux-amlogic-6.y-devel/Documentation/devicetree/bindings/usb/usb-device.example.dtb:
hub@1: 'vdd-supply' is a required property
from schema $id: http://devicetree.org/schemas/usb/genesys,gl850g.yaml#
/home/amoon/mainline/linux-amlogic-6.y-devel/Documentation/devicetree/bindings/usb/usb-device.example.dtb:
hub@1: 'reset-gpios' is a required property
from schema $id: http://devicetree.org/schemas/usb/genesys,gl850g.yaml#
/home/amoon/mainline/linux-amlogic-6.y-devel/Documentation/devicetree/bindings/usb/usb-device.example.dtb:
hub@1: 'peer-hub' is a required property
from schema $id: http://devicetree.org/schemas/usb/genesys,gl850g.yaml#
DTC_CHK Documentation/devicetree/bindings/usb/ti,tps6598x.example.dtb
DTC_CHK Documentation/devicetree/bindings/usb/xlnx,usb2.example.dtb
DTC_CHK Documentation/devicetree/bindings/usb/renesas,usb-xhci.example.dtb
DTC_CHK Documentation/devicetree/bindings/usb/renesas,usbhs.example.dtb
DTC_CHK Documentation/devicetree/bindings/usb/brcm,bcm7445-ehci.example.dtb
DTC_CHK Documentation/devicetree/bindings/usb/cypress,cypd4226.example.dtb
DTC_CHK Documentation/devicetree/bindings/usb/cdns,usb3.example.dtb
DTC_CHK Documentation/devicetree/bindings/usb/renesas,rzn1-usbf.example.dtb
DTC_CHK Documentation/devicetree/bindings/usb/nvidia,tegra124-xusb.example.dtb
DTC_CHK Documentation/devicetree/bindings/usb/ci-hdrc-usb2.example.dtb
DTC_CHK Documentation/devicetree/bindings/usb/brcm,usb-pinmap.example.dtb
DTC_CHK Documentation/devicetree/bindings/usb/renesas,usb3-peri.example.dtb
DTC_CHK Documentation/devicetree/bindings/usb/qcom,pmic-typec.example.dtb
DTC_CHK Documentation/devicetree/bindings/usb/microchip,usb5744.example.dtb
DTC_CHK Documentation/devicetree/bindings/usb/smsc,usb3503.example.dtb
DTC_CHK Documentation/devicetree/bindings/usb/mediatek,musb.example.dtb
DTC_CHK Documentation/devicetree/bindings/usb/vialab,vl817.example.dtb
DTC_CHK Documentation/devicetree/bindings/usb/marvell,pxau2o-ehci.example.dtb
DTC_CHK Documentation/devicetree/bindings/usb/richtek,rt1711h.example.dtb
DTC_CHK Documentation/devicetree/bindings/usb/usb.example.dtb
DTC_CHK Documentation/devicetree/bindings/usb/realtek,rts5411.example.dtb
DTC_CHK Documentation/devicetree/bindings/usb/nvidia,tegra210-xusb.example.dtb
DTC_CHK Documentation/devicetree/bindings/usb/realtek,rtd-dwc3.example.dtb
DTC_CHK Documentation/devicetree/bindings/usb/usb-drd.example.dtb
DTC_CHK Documentation/devicetree/bindings/usb/genesys,gl850g.example.dtb
DTC_CHK Documentation/devicetree/bindings/usb/ti,j721e-usb.example.dtb
DTC_CHK Documentation/devicetree/bindings/usb/ti,am62-usb.example.dtb
/home/amoon/mainline/linux-amlogic-6.y-devel/Documentation/devicetree/bindings/usb/genesys,gl850g.example.dtb:
hub@1: 'vdd-supply' is a required property
from schema $id: http://devicetree.org/schemas/usb/genesys,gl850g.yaml#
/home/amoon/mainline/linux-amlogic-6.y-devel/Documentation/devicetree/bindings/usb/genesys,gl850g.example.dtb:
hub@1: 'peer-hub' is a required property
from schema $id: http://devicetree.org/schemas/usb/genesys,gl850g.yaml#
DTC_CHK Documentation/devicetree/bindings/usb/renesas,rzv2m-usb3drd.example.dtb
DTC_CHK Documentation/devicetree/bindings/usb/usb-hcd.example.dtb
DTC_CHK Documentation/devicetree/bindings/usb/fsl,imx8mq-dwc3.example.dtb
DTC_CHK Documentation/devicetree/bindings/usb/mediatek,mtu3.example.dtb
/home/amoon/mainline/linux-amlogic-6.y-devel/Documentation/devicetree/bindings/usb/usb-hcd.example.dtb:
hub@1: 'vdd-supply' is a required property
from schema $id: http://devicetree.org/schemas/usb/genesys,gl850g.yaml#
/home/amoon/mainline/linux-amlogic-6.y-devel/Documentation/devicetree/bindings/usb/usb-hcd.example.dtb:
hub@1: 'reset-gpios' is a required property
from schema $id: http://devicetree.org/schemas/usb/genesys,gl850g.yaml#
/home/amoon/mainline/linux-amlogic-6.y-devel/Documentation/devicetree/bindings/usb/usb-hcd.example.dtb:
hub@1: 'peer-hub' is a required property
from schema $id: http://devicetree.org/schemas/usb/genesys,gl850g.yaml#
DTC_CHK Documentation/devicetree/bindings/usb/nxp,isp1760.example.dtb
>
> >
> > -Thanks
> > Anand
> > -----8<----------8<----------8<----------8<----------8<----------8<-----
> > diff --git a/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml
> > b/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml
> > index ee08b9c3721f..7f75fa3c1945 100644
> > --- a/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml
> > +++ b/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml
> > @@ -9,9 +9,6 @@ title: Genesys Logic USB hub controller
> > maintainers:
> > - Icenowy Zheng <[email protected]>
> >
> > -allOf:
> > - - $ref: usb-device.yaml#
> > -
> > properties:
> > compatible:
> > enum:
> > @@ -27,11 +24,47 @@ properties:
> >
> > vdd-supply:
> > description:
> > - the regulator that provides 3.3V core power to the hub.
> > + The regulator that provides 3.3V or 5.0V core power to the hub.
> > +
> > + peer-hub:
> > + $ref: /schemas/types.yaml#/definitions/phandle
> > + description:
> > + For onboard hub controllers that support USB 3.x and USB 2.0 hubs with
> > + shared resets and power supplies, this property is used to identify the
> > + hubs with which these are shared.
> >
> > required:
> > - compatible
> > - reg
> > + - vdd-supply
> > + - reset-gpios
> > + - peer-hub
> > +
> > +allOf:
> > + - $ref: usb-device.yaml#
> > +
> > + - if:
> > + properties:
> > + compatible:
> > + contains:
> > + enum:
> > + - usb5e3,608
> > + then:
> > + properties:
> > + peer-hub: false
> > + vdd-supply: false
> > +
> > + - if:
> > + properties:
> > + compatible:
> > + contains:
> > + enum:
> > + - usb5e3,610
> > + - usb5e3,620
> > + then:
> > + properties:
> > + peer-hub: true
> > + vdd-supply: true
>
> Drop this if:, redundant.
>
No, this does not resolve the above issue.
>
Thanks
-Anand
On 12/12/2023 12:37, Anand Moon wrote:
>
> Here is the list of warnings I observed with this patch
>
> DTC_CHK Documentation/devicetree/bindings/usb/nvidia,tegra186-xusb.example.dtb
> /home/amoon/mainline/linux-amlogic-6.y-devel/Documentation/devicetree/bindings/usb/usb-device.example.dtb:
> hub@1: 'vdd-supply' is a required property
You always require the property, but it is not valid for some devices.
Just require it only where it is applicable (in if:then: clause).
> from schema $id: http://devicetree.org/schemas/usb/genesys,gl850g.yaml#
> /home/amoon/mainline/linux-amlogic-6.y-devel/Documentation/devicetree/bindings/usb/usb-device.example.dtb:
> hub@1: 'reset-gpios' is a required property
> from schema $id: http://devicetree.org/schemas/usb/genesys,gl850g.yaml#
> /home/amoon/mainline/linux-amlogic-6.y-devel/Documentation/devicetree/bindings/usb/usb-device.example.dtb:
> hub@1: 'peer-hub' is a required property
...
>>> + - if:
>>> + properties:
>>> + compatible:
>>> + contains:
>>> + enum:
>>> + - usb5e3,610
>>> + - usb5e3,620
>>> + then:
>>> + properties:
>>> + peer-hub: true
>>> + vdd-supply: true
>>
>> Drop this if:, redundant.
>>
> No, this does not resolve the above issue.
It shouldn't resolve it, not related.
Best regards,
Krzysztof
Hi Krzysztof,
On Tue, 12 Dec 2023 at 17:22, Krzysztof Kozlowski
<[email protected]> wrote:
>
> On 12/12/2023 12:37, Anand Moon wrote:
> >
> > Here is the list of warnings I observed with this patch
> >
> > DTC_CHK Documentation/devicetree/bindings/usb/nvidia,tegra186-xusb.example.dtb
> > /home/amoon/mainline/linux-amlogic-6.y-devel/Documentation/devicetree/bindings/usb/usb-device.example.dtb:
> > hub@1: 'vdd-supply' is a required property
>
> You always require the property, but it is not valid for some devices.
> Just require it only where it is applicable (in if:then: clause).
>
I had already done this check many times before.
my v6 original patch was doing the same and it passed all the tests
but since I updated the required field it not parsing correctly.
required:
- compatible
- reg
- vdd-supply
- reset-gpios
- peer-hub
>
> > from schema $id: http://devicetree.org/schemas/usb/genesys,gl850g.yaml#
> > /home/amoon/mainline/linux-amlogic-6.y-devel/Documentation/devicetree/bindings/usb/usb-device.example.dtb:
> > hub@1: 'reset-gpios' is a required property
> > from schema $id: http://devicetree.org/schemas/usb/genesys,gl850g.yaml#
> > /home/amoon/mainline/linux-amlogic-6.y-devel/Documentation/devicetree/bindings/usb/usb-device.example.dtb:
> > hub@1: 'peer-hub' is a required property
>
> ...
>
> >>> + - if:
> >>> + properties:
> >>> + compatible:
> >>> + contains:
> >>> + enum:
> >>> + - usb5e3,610
> >>> + - usb5e3,620
> >>> + then:
> >>> + properties:
> >>> + peer-hub: true
> >>> + vdd-supply: true
> >>
> >> Drop this if:, redundant.
> >>
> > No, this does not resolve the above issue.
>
> It shouldn't resolve it, not related.
>
ok
>
> Best regards,
> Krzysztof
Thanks
-Anand
On 12/12/2023 13:51, Anand Moon wrote:
> Hi Krzysztof,
>
> On Tue, 12 Dec 2023 at 17:22, Krzysztof Kozlowski
> <[email protected]> wrote:
>>
>> On 12/12/2023 12:37, Anand Moon wrote:
>>>
>>> Here is the list of warnings I observed with this patch
>>>
>>> DTC_CHK Documentation/devicetree/bindings/usb/nvidia,tegra186-xusb.example.dtb
>>> /home/amoon/mainline/linux-amlogic-6.y-devel/Documentation/devicetree/bindings/usb/usb-device.example.dtb:
>>> hub@1: 'vdd-supply' is a required property
>>
>> You always require the property, but it is not valid for some devices.
>> Just require it only where it is applicable (in if:then: clause).
>>
> I had already done this check many times before.
I don't ask you to check. I ask you to change the code.
> my v6 original patch was doing the same and it passed all the tests
> but since I updated the required field it not parsing correctly.
Your original v6 patch was different. I don't understand what you are
trying to achieve. Or rather: how is it different, that my simple advice
above does not work for you (as in the past you reply with some really
unrelated sentence).
Best regards,
Krzysztof
Hi Krzysztof,
On Tue, 12 Dec 2023 at 18:39, Krzysztof Kozlowski
<[email protected]> wrote:
>
> On 12/12/2023 13:51, Anand Moon wrote:
> > Hi Krzysztof,
> >
> > On Tue, 12 Dec 2023 at 17:22, Krzysztof Kozlowski
> > <[email protected]> wrote:
> >>
> >> On 12/12/2023 12:37, Anand Moon wrote:
> >>>
> >>> Here is the list of warnings I observed with this patch
> >>>
> >>> DTC_CHK Documentation/devicetree/bindings/usb/nvidia,tegra186-xusb.example.dtb
> >>> /home/amoon/mainline/linux-amlogic-6.y-devel/Documentation/devicetree/bindings/usb/usb-device.example.dtb:
> >>> hub@1: 'vdd-supply' is a required property
> >>
> >> You always require the property, but it is not valid for some devices.
> >> Just require it only where it is applicable (in if:then: clause).
> >>
> > I had already done this check many times before.
>
> I don't ask you to check. I ask you to change the code.
>
I have tried this and it's not working for me.
> > my v6 original patch was doing the same and it passed all the tests
> > but since I updated the required field it not parsing correctly.
>
> Your original v6 patch was different. I don't understand what you are
> trying to achieve. Or rather: how is it different, that my simple advice
> above does not work for you (as in the past you reply with some really
> unrelated sentence).
>
Ok, It's my poor English grammar, thanks for your review comments.
> Best regards,
> Krzysztof
>
Thanks
-Anand
Hi Krzysztof,
On Tue, 12 Dec 2023 at 18:47, Anand Moon <[email protected]> wrote:
>
> Hi Krzysztof,
>
> On Tue, 12 Dec 2023 at 18:39, Krzysztof Kozlowski
> <[email protected]> wrote:
> >
> > On 12/12/2023 13:51, Anand Moon wrote:
> > > Hi Krzysztof,
> > >
> > > On Tue, 12 Dec 2023 at 17:22, Krzysztof Kozlowski
> > > <[email protected]> wrote:
> > >>
> > >> On 12/12/2023 12:37, Anand Moon wrote:
> > >>>
> > >>> Here is the list of warnings I observed with this patch
> > >>>
> > >>> DTC_CHK Documentation/devicetree/bindings/usb/nvidia,tegra186-xusb.example.dtb
> > >>> /home/amoon/mainline/linux-amlogic-6.y-devel/Documentation/devicetree/bindings/usb/usb-device.example.dtb:
> > >>> hub@1: 'vdd-supply' is a required property
> > >>
> > >> You always require the property, but it is not valid for some devices.
> > >> Just require it only where it is applicable (in if:then: clause).
> > >>
> > > I had already done this check many times before.
> >
> > I don't ask you to check. I ask you to change the code.
> >
> I have tried this and it's not working for me.
>
> > > my v6 original patch was doing the same and it passed all the tests
> > > but since I updated the required field it not parsing correctly.
> >
> > Your original v6 patch was different. I don't understand what you are
> > trying to achieve. Or rather: how is it different, that my simple advice
> > above does not work for you (as in the past you reply with some really
> > unrelated sentence).
> >
> Ok, It's my poor English grammar, thanks for your review comments.
>
> > Best regards,
> > Krzysztof
> >
Any reason this device tree binding got removed,I cannot find this file
Can not find the commit which removed this file.
[0] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/usb?h=v6.9-rc2
Thanks
-Anand
On 04/04/2024 06:27, Anand Moon wrote:
> Hi Krzysztof,
>
> On Tue, 12 Dec 2023 at 18:47, Anand Moon <[email protected]> wrote:
>>
>> Hi Krzysztof,
>>
>> On Tue, 12 Dec 2023 at 18:39, Krzysztof Kozlowski
>> <[email protected]> wrote:
>>>
>>> On 12/12/2023 13:51, Anand Moon wrote:
>>>> Hi Krzysztof,
>>>>
>>>> On Tue, 12 Dec 2023 at 17:22, Krzysztof Kozlowski
>>>> <[email protected]> wrote:
>>>>>
>>>>> On 12/12/2023 12:37, Anand Moon wrote:
>>>>>>
>>>>>> Here is the list of warnings I observed with this patch
>>>>>>
>>>>>> DTC_CHK Documentation/devicetree/bindings/usb/nvidia,tegra186-xusb.example.dtb
>>>>>> /home/amoon/mainline/linux-amlogic-6.y-devel/Documentation/devicetree/bindings/usb/usb-device.example.dtb:
>>>>>> hub@1: 'vdd-supply' is a required property
>>>>>
>>>>> You always require the property, but it is not valid for some devices.
>>>>> Just require it only where it is applicable (in if:then: clause).
>>>>>
>>>> I had already done this check many times before.
>>>
>>> I don't ask you to check. I ask you to change the code.
>>>
>> I have tried this and it's not working for me.
>>
>>>> my v6 original patch was doing the same and it passed all the tests
>>>> but since I updated the required field it not parsing correctly.
>>>
>>> Your original v6 patch was different. I don't understand what you are
>>> trying to achieve. Or rather: how is it different, that my simple advice
>>> above does not work for you (as in the past you reply with some really
>>> unrelated sentence).
>>>
>> Ok, It's my poor English grammar, thanks for your review comments.
>>
>>> Best regards,
>>> Krzysztof
>>>
>
> Any reason this device tree binding got removed,I cannot find this file
> Can not find the commit which removed this file.
Use git log.
Best regards,
Krzysztof
Hi,
On Thu, 4 Apr 2024 at 11:42, Krzysztof Kozlowski
<[email protected]> wrote:
>
> On 04/04/2024 06:27, Anand Moon wrote:
> > Hi Krzysztof,
> >
> > On Tue, 12 Dec 2023 at 18:47, Anand Moon <[email protected]> wrote:
> >>
> >> Hi Krzysztof,
> >>
> >> On Tue, 12 Dec 2023 at 18:39, Krzysztof Kozlowski
> >> <[email protected]> wrote:
> >>>
> >>> On 12/12/2023 13:51, Anand Moon wrote:
> >>>> Hi Krzysztof,
> >>>>
> >>>> On Tue, 12 Dec 2023 at 17:22, Krzysztof Kozlowski
> >>>> <[email protected]> wrote:
> >>>>>
> >>>>> On 12/12/2023 12:37, Anand Moon wrote:
> >>>>>>
> >>>>>> Here is the list of warnings I observed with this patch
> >>>>>>
> >>>>>> DTC_CHK Documentation/devicetree/bindings/usb/nvidia,tegra186-xusb.example.dtb
> >>>>>> /home/amoon/mainline/linux-amlogic-6.y-devel/Documentation/devicetree/bindings/usb/usb-device.example.dtb:
> >>>>>> hub@1: 'vdd-supply' is a required property
> >>>>>
> >>>>> You always require the property, but it is not valid for some devices.
> >>>>> Just require it only where it is applicable (in if:then: clause).
> >>>>>
> >>>> I had already done this check many times before.
> >>>
> >>> I don't ask you to check. I ask you to change the code.
> >>>
> >> I have tried this and it's not working for me.
> >>
> >>>> my v6 original patch was doing the same and it passed all the tests
> >>>> but since I updated the required field it not parsing correctly.
> >>>
> >>> Your original v6 patch was different. I don't understand what you are
> >>> trying to achieve. Or rather: how is it different, that my simple advice
> >>> above does not work for you (as in the past you reply with some really
> >>> unrelated sentence).
> >>>
> >> Ok, It's my poor English grammar, thanks for your review comments.
> >>
> >>> Best regards,
> >>> Krzysztof
> >>>
> >
> > Any reason this device tree binding got removed,I cannot find this file
> > Can not find the commit which removed this file.
>
> Use git log.
>
> Best regards,
> Krzysztof
>
Hi Krzysztof,
On Thu, 4 Apr 2024 at 12:02, Anand Moon <[email protected]> wrote:
>
> Hi,
>
> On Thu, 4 Apr 2024 at 11:42, Krzysztof Kozlowski
> <[email protected]> wrote:
> >
> > On 04/04/2024 06:27, Anand Moon wrote:
> > > Hi Krzysztof,
> > >
> > > On Tue, 12 Dec 2023 at 18:47, Anand Moon <[email protected]> wrote:
> > >>
> > >> Hi Krzysztof,
> > >>
> > >> On Tue, 12 Dec 2023 at 18:39, Krzysztof Kozlowski
> > >> <[email protected]> wrote:
> > >>>
> > >>> On 12/12/2023 13:51, Anand Moon wrote:
> > >>>> Hi Krzysztof,
> > >>>>
> > >>>> On Tue, 12 Dec 2023 at 17:22, Krzysztof Kozlowski
> > >>>> <[email protected]> wrote:
> > >>>>>
> > >>>>> On 12/12/2023 12:37, Anand Moon wrote:
> > >>>>>>
> > >>>>>> Here is the list of warnings I observed with this patch
> > >>>>>>
> > >>>>>> DTC_CHK Documentation/devicetree/bindings/usb/nvidia,tegra186-xusb.example.dtb
> > >>>>>> /home/amoon/mainline/linux-amlogic-6.y-devel/Documentation/devicetree/bindings/usb/usb-device.example.dtb:
> > >>>>>> hub@1: 'vdd-supply' is a required property
> > >>>>>
> > >>>>> You always require the property, but it is not valid for some devices.
> > >>>>> Just require it only where it is applicable (in if:then: clause).
> > >>>>>
> > >>>> I had already done this check many times before.
> > >>>
> > >>> I don't ask you to check. I ask you to change the code.
> > >>>
> > >> I have tried this and it's not working for me.
> > >>
> > >>>> my v6 original patch was doing the same and it passed all the tests
> > >>>> but since I updated the required field it not parsing correctly.
> > >>>
> > >>> Your original v6 patch was different. I don't understand what you are
> > >>> trying to achieve. Or rather: how is it different, that my simple advice
> > >>> above does not work for you (as in the past you reply with some really
> > >>> unrelated sentence).
> > >>>
> > >> Ok, It's my poor English grammar, thanks for your review comments.
> > >>
> > >>> Best regards,
> > >>> Krzysztof
> > >>>
> > >
> > > Any reason this device tree binding got removed,I cannot find this file
> > > Can not find the commit which removed this file.
> >
> > Use git log.
> >
I got confused with the file name and my local changes.
> > Best regards,
> > Krzysztof
> >
Thanks
-Anand