Re: [PATCH] arm64: dts: imx8m-venice: Pass "brcm,bcm4329-fmac"

From: Tim Harvey
Date: Tue Aug 08 2023 - 19:53:02 EST


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
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. 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