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 Best regards, Krzysztof