On Tue, Aug 8, 2023 at 11:33 PM Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx> wrote: > > On 09/08/2023 01:52, Tim Harvey wrote: > > On Sun, Aug 6, 2023 at 4:33 PM Fabio Estevam <festevam@xxxxxxxxx> wrote: > >> > >> From: Fabio Estevam <festevam@xxxxxxx> > >> > >> Pass "brcm,bcm4329-fmac" to fix the following schema warnings: > >> > >> imx8mp-venice-gw74xx.dtb: wifi@0: compatible: 'oneOf' conditional failed, one must be fixed: > >> ['cypress,cyw4373-fmac'] is too short > >> 'cypress,cyw4373-fmac' is not one of ['brcm,bcm4329-fmac', 'pci14e4,43dc', 'pci14e4,4464', 'pci14e4,4488', 'pci14e4,4425', 'pci14e4,4433'] > >> from schema $id: http://devicetree.org/schemas/net/wireless/brcm,bcm4329-fmac.yaml# > >> > >> imx8mn-venice-gw7902.dtb: wifi@0: compatible: 'oneOf' conditional failed, one must be fixed: > >> ['brcm,bcm43455-fmac'] is too short > >> 'brcm,bcm43455-fmac' is not one of ['brcm,bcm4329-fmac', 'pci14e4,43dc', 'pci14e4,4464', 'pci14e4,4488', 'pci14e4,4425', 'pci14e4,4433'] > >> from schema $id: http://devicetree.org/schemas/net/wireless/brcm,bcm4329-fmac.yaml# > >> > >> Signed-off-by: Fabio Estevam <festevam@xxxxxxx> > >> --- > >> arch/arm64/boot/dts/freescale/imx8mm-venice-gw7901.dts | 2 +- > >> arch/arm64/boot/dts/freescale/imx8mm-venice-gw7902.dts | 2 +- > >> arch/arm64/boot/dts/freescale/imx8mn-venice-gw7902.dts | 2 +- > >> arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx.dts | 2 +- > >> 4 files changed, 4 insertions(+), 4 deletions(-) > >> > >> diff --git a/arch/arm64/boot/dts/freescale/imx8mm-venice-gw7901.dts b/arch/arm64/boot/dts/freescale/imx8mm-venice-gw7901.dts > >> index 21d7b16d6f84..cde29aa1a0a2 100644 > >> --- a/arch/arm64/boot/dts/freescale/imx8mm-venice-gw7901.dts > >> +++ b/arch/arm64/boot/dts/freescale/imx8mm-venice-gw7901.dts > >> @@ -801,7 +801,7 @@ &usdhc1 { > >> status = "okay"; > >> > >> wifi@0 { > >> - compatible = "brcm,bcm43455-fmac"; > >> + compatible = "brcm,bcm43455-fmac", "brcm,bcm4329-fmac"; > >> reg = <0>; > >> }; > >> }; > >> diff --git a/arch/arm64/boot/dts/freescale/imx8mm-venice-gw7902.dts b/arch/arm64/boot/dts/freescale/imx8mm-venice-gw7902.dts > >> index 964cc4fc2ddf..0bff7a6fdca6 100644 > >> --- a/arch/arm64/boot/dts/freescale/imx8mm-venice-gw7902.dts > >> +++ b/arch/arm64/boot/dts/freescale/imx8mm-venice-gw7902.dts > >> @@ -726,7 +726,7 @@ &usdhc2 { > >> status = "okay"; > >> > >> wifi@0 { > >> - compatible = "brcm,bcm43455-fmac"; > >> + compatible = "brcm,bcm43455-fmac", "brcm,bcm4329-fmac"; > >> reg = <0>; > >> }; > >> }; > >> diff --git a/arch/arm64/boot/dts/freescale/imx8mn-venice-gw7902.dts b/arch/arm64/boot/dts/freescale/imx8mn-venice-gw7902.dts > >> index 3ac011bbc025..9a36edc60394 100644 > >> --- a/arch/arm64/boot/dts/freescale/imx8mn-venice-gw7902.dts > >> +++ b/arch/arm64/boot/dts/freescale/imx8mn-venice-gw7902.dts > >> @@ -679,7 +679,7 @@ &usdhc2 { > >> status = "okay"; > >> > >> wifi@0 { > >> - compatible = "brcm,bcm43455-fmac"; > >> + compatible = "brcm,bcm43455-fmac", "brcm,bcm4329-fmac"; > >> reg = <0>; > >> }; > >> }; > >> diff --git a/arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx.dts b/arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx.dts > >> index 3473423ac939..faa370a5885f 100644 > >> --- a/arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx.dts > >> +++ b/arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx.dts > >> @@ -737,7 +737,7 @@ &usdhc1 { > >> status = "okay"; > >> > >> wifi@0 { > >> - compatible = "cypress,cyw4373-fmac"; > >> + compatible = "cypress,cyw4373-fmac", "brcm,bcm4329-fmac"; > >> reg = <0>; > >> }; > >> }; > >> -- > >> 2.34.1 > >> > > > > Fabio, > > > > Thank you for your continued efforts to squash out all these > > dt-binding warnings/issues. > > > > Can you explain what the difference is in the dt-binding yaml between > > compatible/oneOf/items/{enum,const} and compatible/oneOf/enum? The > > items defines a list. items with enum and const, defines a list of two > items, where first is an enum (so oneOf few) and second is fixed. > > compatible/oneOf/enum is not a list. Or you could look at it as > one-element-list. > > > > first list for Documentation/devicetree/bindings/net/wireless/brcm,bcm4329-fmac.yaml > > has a much larger set of enums including the bcm43455 on these boards > > but the second set of enums has a much more limited set. > > What's the question here? Both define different things. One defines > compatible devices with some model, second defines just some devices. > > > > There is no > > driver code to look at for this because it is bound via SDIO device > > id's instead of the dt compatible property. > > > > Best regards, > > > > Tim > Krzysztof, Thanks for the explanation. I see now that if I want to specify anything other than the enums in the second item (brcm,bcm4329-fmac, and the pci14e4*), per the first item I must follow it with 'brcm,bcm4329-fmac'. Acked-by: Tim Harvey <tharvey@xxxxxxxxxxxxx> best regards, Tim