Re: [PATCH v4] dt-bindings: usb: Add new compatible string for AM64 SoC

From: Aswath Govindraju
Date: Fri Dec 11 2020 - 07:07:31 EST


Hi,
On 11/12/20 11:34 am, Aswath Govindraju wrote:
> Add compatible string in j721e-usb binding file as the same USB subsystem
> is present in AM64.
>
> Signed-off-by: Aswath Govindraju <a-govindraju@xxxxxx>
> ---
>
> Changes since v3:
> - used enum instead of anyOf.
>
> Changes since v2:
> - added changes done over the versions.
>
> Changes since v1:
> - replaced the '\t' at the beginning of the lines with spaces as it was
> causing the dt_binding_check to fail.
>
> Documentation/devicetree/bindings/usb/ti,j721e-usb.yaml | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/usb/ti,j721e-usb.yaml b/Documentation/devicetree/bindings/usb/ti,j721e-usb.yaml
> index 388245b91a55..1a5c7bbb40d1 100644
> --- a/Documentation/devicetree/bindings/usb/ti,j721e-usb.yaml
> +++ b/Documentation/devicetree/bindings/usb/ti,j721e-usb.yaml
> @@ -11,8 +11,9 @@ maintainers:
>
> properties:
> compatible:
> - items:
> - - const: ti,j721e-usb
> + enum:
> + - ti,j721e-usb
> + - ti,am64-usb
>

I am trying to use the compatible strings in the following manner

```
compatible = "ti,am64-usb", "ti,j721e-usb";

```
If I use above patch I am getting an error while doing a dtbs check.

```
/home/gsaswath/src/ti-linux-kernel/arch/arm64/boot/dts/ti/k3-am642-evm.dt.yaml:
cdns-usb@f900000: compatible: Additional items are not allowed
('ti,j721e-usb' was unexpected)
From schema:
/home/gsaswath/src/ti-linux-kernel/Documentation/devicetree/bindings/usb/ti,j721e-usb.yaml
/home/gsaswath/src/ti-linux-kernel/arch/arm64/boot/dts/ti/k3-am642-evm.dt.yaml:
cdns-usb@f900000: compatible: ['ti,am64-usb', 'ti,j721e-usb'] is too long
From schema:
/home/gsaswath/src/ti-linux-kernel/Documentation/devicetree/bindings/usb/ti,j721e-usb.yaml

```


I have looked around for examples but I am unable to find a similar
case. I tried using anyOf in the following manner

```
compatible:
anyOf:
- const: ti,am64-usb
- const: ti,j721e-usb
```

But I am getting an error

```
/home/gsaswath/src/ti-linux-kernel/Documentation/devicetree/bindings/usb/ti,j721e-usb.example.dt.yaml:
cdns_usb@4104000: compatible: 'anyOf' conditional failed, one must be fixed:
Additional items are not allowed ('ti,j721e-usb' was unexpected)
['ti,am64-usb', 'ti,j721e-usb'] is too long
'ti,j721e-usb' was expected
```

Doesn't anyof mean that the compatible strings can be used in any
combination ??

Thanks,
Aswath

> reg:
> description: module registers
>