On Fri, Dec 11, 2020 at 6:04 AM Aswath Govindraju <a-govindraju@xxxxxx> wrote: > > 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 You didn't look hard enough. There are lots. > ``` > compatible: > anyOf: > - const: ti,am64-usb > - const: ti,j721e-usb This is really no different than a single 'enum' with the 2 values. 'anyOf' means one or more in the list are true, but more than 1 is impossible here. If you have different possible lengths of values, then you need 'oneOf' for each case and then 'items' when you have a value with multiple entries: oneOf: - const: ti,j721e-usb - items: - 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 > > >