2023-08-07 01:30:53

by Fabio Estevam

[permalink] [raw]
Subject: [PATCH] arm64: dts: imx8m-venice: Pass "brcm,bcm4329-fmac"

From: Fabio Estevam <[email protected]>

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 <[email protected]>
---
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



2023-08-09 02:08:16

by Tim Harvey

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

On Sun, Aug 6, 2023 at 4:33 PM Fabio Estevam <[email protected]> wrote:
>
> From: Fabio Estevam <[email protected]>
>
> 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 <[email protected]>
> ---
> 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

2023-08-09 08:21:42

by Krzysztof Kozlowski

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

On 09/08/2023 01:52, Tim Harvey wrote:
> On Sun, Aug 6, 2023 at 4:33 PM Fabio Estevam <[email protected]> wrote:
>>
>> From: Fabio Estevam <[email protected]>
>>
>> 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 <[email protected]>
>> ---
>> 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


2023-08-09 18:01:12

by Tim Harvey

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

On Tue, Aug 8, 2023 at 11:33 PM Krzysztof Kozlowski
<[email protected]> wrote:
>
> On 09/08/2023 01:52, Tim Harvey wrote:
> > On Sun, Aug 6, 2023 at 4:33 PM Fabio Estevam <[email protected]> wrote:
> >>
> >> From: Fabio Estevam <[email protected]>
> >>
> >> 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 <[email protected]>
> >> ---
> >> 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 <[email protected]>

best regards,

Tim

2023-08-11 14:32:45

by Shawn Guo

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

On Sun, Aug 06, 2023 at 08:33:33PM -0300, Fabio Estevam wrote:
> From: Fabio Estevam <[email protected]>
>
> 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 <[email protected]>

Applied, thanks!