Changes since v1:
------------------
- v1 can be viewed here: https://lore.kernel.org/lkml/20220907204924.2040384-3-bhupesh.sharma@linaro.org/
- Addressed review comments from Krzysztof:
~ Updated MAINTAINERS file to point to yaml version of 'qcom,ethqos' dt-bindings.
~ Fix yaml bindings related review comments.
This patchset converts the qcom,ethqos bindings to YAML. It also
contains a few related fixes in the snps,dwmac bindings to support
Qualcomm ethqos ethernet controller for qcs404 (based) and sa8155p-adp
boards.
Cc: Bjorn Andersson <andersson@kernel.org>
Cc: Rob Herring <robh@kernel.org>
Cc: Vinod Koul <vkoul@kernel.org>
Cc: David Miller <davem@davemloft.net>
Signed-off-by: Bhupesh Sharma <redacted>
Bhupesh Sharma (4):
dt-bindings: net: snps,dwmac: Update interrupt-names
dt-bindings: net: snps,dwmac: Add Qualcomm Ethernet ETHQOS compatibles
dt-bindings: net: qcom,ethqos: Convert bindings to yaml
MAINTAINERS: Point to the yaml version of 'qcom,ethqos' dt-bindings
.../devicetree/bindings/net/qcom,ethqos.txt | 66 --------
.../devicetree/bindings/net/qcom,ethqos.yaml | 145 ++++++++++++++++++
.../devicetree/bindings/net/snps,dwmac.yaml | 8 +-
MAINTAINERS | 2 +-
4 files changed, 152 insertions(+), 69 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/net/qcom,ethqos.txt
create mode 100644 Documentation/devicetree/bindings/net/qcom,ethqos.yaml
--
2.37.1
As commit fc191af1bb0d ("net: stmmac: platform: Fix misleading
interrupt error msg") noted, not every stmmac based platform
makes use of the 'eth_wake_irq' or 'eth_lpi' interrupts.
So, update the 'interrupt-names' inside 'snps,dwmac' YAML
bindings to reflect the same.
Cc: Bjorn Andersson <andersson@kernel.org>
Cc: Rob Herring <robh@kernel.org>
Cc: Vinod Koul <vkoul@kernel.org>
Cc: David Miller <davem@davemloft.net>
Signed-off-by: Bhupesh Sharma <redacted>
---
Documentation/devicetree/bindings/net/snps,dwmac.yaml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
Update the MAINTAINERS file to point to the yaml version of
'qcom,ethqos' dt-bindings.
Cc: Bjorn Andersson <andersson@kernel.org>
Cc: Rob Herring <robh@kernel.org>
Cc: Vinod Koul <vkoul@kernel.org>
Cc: David Miller <davem@davemloft.net>
Signed-off-by: Bhupesh Sharma <redacted>
---
MAINTAINERS | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
From: Krzysztof Kozlowski <hidden> Date: 2022-09-29 07:17:21
On 29/09/2022 08:04, Bhupesh Sharma wrote:
As commit fc191af1bb0d ("net: stmmac: platform: Fix misleading
interrupt error msg") noted, not every stmmac based platform
makes use of the 'eth_wake_irq' or 'eth_lpi' interrupts.
So, update the 'interrupt-names' inside 'snps,dwmac' YAML
Acked-by: Krzysztof Kozlowski <redacted>
Best regards,
Krzysztof
From: Krzysztof Kozlowski <hidden> Date: 2022-09-29 07:23:06
On 29/09/2022 08:04, Bhupesh Sharma wrote:
Convert Qualcomm ETHQOS Ethernet devicetree binding to YAML.
While at it, also add Qualcomm Ethernet ETHQOS compatible checks
in snps,dwmac YAML binding document.
@@ -0,0 +1,145 @@+# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause+%YAML1.2+---+$id:http://devicetree.org/schemas/net/qcom,ethqos.yaml#+$schema:http://devicetree.org/meta-schemas/core.yaml#++title:Qualcomm Ethernet ETHQOS device++maintainers:+-Bhupesh Sharma <bhupesh.sharma@linaro.org>++description:+This binding describes the dwmmac based Qualcomm ethernet devices which+support Gigabit ethernet (version v2.3.0 onwards).++So, this file documents platform glue layer for dwmmac stmmac based Qualcomm+ethernet devices.++allOf:+-$ref:snps,dwmac.yaml#++properties:+compatible:+enum:+-qcom,qcs404-ethqos+-qcom,sm8150-ethqos++reg:+maxItems:2++reg-names:+items:+-const:stmmaceth+-const:rgmii++interrupts:+items:+-description:Combined signal for various interrupt events+-description:The interrupt that occurs when Rx exits the LPI state++interrupt-names:+items:+-const:macirq+-const:eth_lpi++clocks:+maxItems:4++clock-names:+items:+-const:stmmaceth+-const:pclk+-const:ptp_ref+-const:rgmii++iommus:+maxItems:1++mdio:+$ref:mdio.yaml#+unevaluatedProperties:false++properties:+compatible:+const:snps,dwmac-mdio++phy-handle:+maxItems:1++phy-mode:+maxItems:1++snps,reset-gpio:+maxItems:1
Why is this one here? It's already in snps,dwmac.
Actually this applies to several other properties. You have
unevaluatedProperties:false, so you do not have to duplicate snps,dwmac.
You only need to constrain it, like we said about interrupts in your
previous patch.
From: Krzysztof Kozlowski <hidden> Date: 2022-09-29 07:24:29
On 29/09/2022 08:04, Bhupesh Sharma wrote:
Update the MAINTAINERS file to point to the yaml version of
'qcom,ethqos' dt-bindings.
Cc: Bjorn Andersson <andersson@kernel.org>
Cc: Rob Herring <robh@kernel.org>
Cc: Vinod Koul <vkoul@kernel.org>
Cc: David Miller <davem@davemloft.net>
Signed-off-by: Bhupesh Sharma <redacted>
This cannot be a separate patch - it's not bisectable.
Best regards,
Krzysztof
Update the MAINTAINERS file to point to the yaml version of
'qcom,ethqos' dt-bindings.
Cc: Bjorn Andersson <andersson@kernel.org>
Cc: Rob Herring <robh@kernel.org>
Cc: Vinod Koul <vkoul@kernel.org>
Cc: David Miller <davem@davemloft.net>
Signed-off-by: Bhupesh Sharma <redacted>
This cannot be a separate patch - it's not bisectable.
Ok, let me merge this with [PATCH 3/4] then.
Thanks.
Convert Qualcomm ETHQOS Ethernet devicetree binding to YAML.
While at it, also add Qualcomm Ethernet ETHQOS compatible checks
in snps,dwmac YAML binding document.
@@ -0,0 +1,145 @@+# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause+%YAML1.2+---+$id:http://devicetree.org/schemas/net/qcom,ethqos.yaml#+$schema:http://devicetree.org/meta-schemas/core.yaml#++title:Qualcomm Ethernet ETHQOS device++maintainers:+-Bhupesh Sharma <bhupesh.sharma@linaro.org>++description:+This binding describes the dwmmac based Qualcomm ethernet devices which+support Gigabit ethernet (version v2.3.0 onwards).++So, this file documents platform glue layer for dwmmac stmmac based Qualcomm+ethernet devices.++allOf:+-$ref:snps,dwmac.yaml#++properties:+compatible:+enum:+-qcom,qcs404-ethqos+-qcom,sm8150-ethqos++reg:+maxItems:2++reg-names:+items:+-const:stmmaceth+-const:rgmii++interrupts:+items:+-description:Combined signal for various interrupt events+-description:The interrupt that occurs when Rx exits the LPI state++interrupt-names:+items:+-const:macirq+-const:eth_lpi++clocks:+maxItems:4++clock-names:+items:+-const:stmmaceth+-const:pclk+-const:ptp_ref+-const:rgmii++iommus:+maxItems:1++mdio:+$ref:mdio.yaml#+unevaluatedProperties:false++properties:+compatible:+const:snps,dwmac-mdio++phy-handle:+maxItems:1++phy-mode:+maxItems:1++snps,reset-gpio:+maxItems:1
Why is this one here? It's already in snps,dwmac.
Actually this applies to several other properties. You have
unevaluatedProperties:false, so you do not have to duplicate snps,dwmac.
You only need to constrain it, like we said about interrupts in your
previous patch.
I was actually getting errors like the following without the same:
arm64/boot/dts/qcom/qcs404-evb-1000.dtb: ethernet@7a80000: Unevaluated
properties are not allowed ('snps,tso' was unexpected)
From schema: Documentation/devicetree/bindings/net/qcom,ethqos.yaml
So, its not clear to me that even though 'snps,dwmac.yaml' is referenced
here, the property appears as unevaluated.
You add here several new properties. Mention in commit msg changes from
pure conversion with answer to "why".
Right, most of them are to avoid the make dtbs_check errors / warnings
like the one mentioned above.
I will add a comment in the commit log regarding the same.
Thanks,
Bhupesh
From: Krzysztof Kozlowski <hidden> Date: 2022-09-30 11:16:30
On 30/09/2022 10:12, Bhupesh Sharma wrote:
quoted
quoted
+ snps,reset-gpio:
+ maxItems: 1
Why is this one here? It's already in snps,dwmac.
Actually this applies to several other properties. You have
unevaluatedProperties:false, so you do not have to duplicate snps,dwmac.
You only need to constrain it, like we said about interrupts in your
previous patch.
I was actually getting errors like the following without the same:
arm64/boot/dts/qcom/qcs404-evb-1000.dtb: ethernet@7a80000: Unevaluated
properties are not allowed ('snps,tso' was unexpected)
From schema: Documentation/devicetree/bindings/net/qcom,ethqos.yaml
So, its not clear to me that even though 'snps,dwmac.yaml' is referenced
here, the property appears as unevaluated.
Why is this one here? It's already in snps,dwmac.
Actually this applies to several other properties. You have
unevaluatedProperties:false, so you do not have to duplicate snps,dwmac.
You only need to constrain it, like we said about interrupts in your
previous patch.
I was actually getting errors like the following without the same:
arm64/boot/dts/qcom/qcs404-evb-1000.dtb: ethernet@7a80000: Unevaluated
properties are not allowed ('snps,tso' was unexpected)
From schema: Documentation/devicetree/bindings/net/qcom,ethqos.yaml
So, its not clear to me that even though 'snps,dwmac.yaml' is referenced
here, the property appears as unevaluated.
You add here several new properties. Mention in commit msg changes from
pure conversion with answer to "why".
Right, most of them are to avoid the make dtbs_check errors / warnings
like the one mentioned above.
All of them should not be here.
I guess only 'snps,reset-gpio' need not be replicated here, as for
others I still see 'dtbs_check' error, if they are not replicated here:
arch/arm64/boot/dts/qcom/sm8150-hdk.dtb: ethernet@20000: Unevaluated
properties are not allowed ('power-domains', 'resets', 'rx-fifo-depth',
'tx-fifo-depth' were unexpected)
From schema: /Documentation/devicetree/bindings/net/qcom,ethqos.yaml
Am I missing something here?
Thanks.
From: Krzysztof Kozlowski <hidden> Date: 2022-10-02 07:54:29
On 01/10/2022 14:51, Bhupesh Sharma wrote:
quoted
quoted
Right, most of them are to avoid the make dtbs_check errors / warnings
like the one mentioned above.
All of them should not be here.
I guess only 'snps,reset-gpio' need not be replicated here, as for
others I still see 'dtbs_check' error, if they are not replicated here:
arch/arm64/boot/dts/qcom/sm8150-hdk.dtb: ethernet@20000: Unevaluated
properties are not allowed ('power-domains', 'resets', 'rx-fifo-depth',
'tx-fifo-depth' were unexpected)
From schema: /Documentation/devicetree/bindings/net/qcom,ethqos.yaml
Am I missing something here?
Probably the snps,dwmac schema failed. It is then considered
unevaluated, so such properties are unknown for qcom,ethqos schema. Run
check with snps,dwmac and fix all errors first.
Best regards,
Krzysztof
On Sun, 2 Oct 2022 at 13:24, Krzysztof Kozlowski
[off-list ref] wrote:
On 01/10/2022 14:51, Bhupesh Sharma wrote:
quoted
quoted
quoted
Right, most of them are to avoid the make dtbs_check errors / warnings
like the one mentioned above.
All of them should not be here.
I guess only 'snps,reset-gpio' need not be replicated here, as for
others I still see 'dtbs_check' error, if they are not replicated here:
arch/arm64/boot/dts/qcom/sm8150-hdk.dtb: ethernet@20000: Unevaluated
properties are not allowed ('power-domains', 'resets', 'rx-fifo-depth',
'tx-fifo-depth' were unexpected)
From schema: /Documentation/devicetree/bindings/net/qcom,ethqos.yaml
Am I missing something here?
Probably the snps,dwmac schema failed. It is then considered
unevaluated, so such properties are unknown for qcom,ethqos schema. Run
check with snps,dwmac and fix all errors first.
Running dt_binding_check DT_SCHEMA_FILES=net/snps,dwmac.yaml
reports no error currently.
Thanks.
From: Krzysztof Kozlowski <hidden> Date: 2022-10-03 09:44:01
On 03/10/2022 10:29, Bhupesh Sharma wrote:
On Sun, 2 Oct 2022 at 13:24, Krzysztof Kozlowski
[off-list ref] wrote:
quoted
On 01/10/2022 14:51, Bhupesh Sharma wrote:
quoted
quoted
quoted
Right, most of them are to avoid the make dtbs_check errors / warnings
like the one mentioned above.
All of them should not be here.
I guess only 'snps,reset-gpio' need not be replicated here, as for
others I still see 'dtbs_check' error, if they are not replicated here:
arch/arm64/boot/dts/qcom/sm8150-hdk.dtb: ethernet@20000: Unevaluated
properties are not allowed ('power-domains', 'resets', 'rx-fifo-depth',
'tx-fifo-depth' were unexpected)
From schema: /Documentation/devicetree/bindings/net/qcom,ethqos.yaml
Am I missing something here?
Probably the snps,dwmac schema failed. It is then considered
unevaluated, so such properties are unknown for qcom,ethqos schema. Run
check with snps,dwmac and fix all errors first.
Running dt_binding_check DT_SCHEMA_FILES=net/snps,dwmac.yaml
reports no error currently.
Then it's something in your commits. I don't know what you wrote, as you
did not sent a commit. I cannot reproduce your errors after removing
unneeded power-domains.
Just to clarify - I am testing only the dt_binding_check (so only the
examples - I assume they are meaningful).
Best regards,
Krzysztof
From: Andrew Halaney <hidden> Date: 2023-02-22 20:29:58
On Mon, Oct 03, 2022 at 11:32:58AM +0200, Krzysztof Kozlowski wrote:
On 03/10/2022 10:29, Bhupesh Sharma wrote:
quoted
On Sun, 2 Oct 2022 at 13:24, Krzysztof Kozlowski
[off-list ref] wrote:
quoted
On 01/10/2022 14:51, Bhupesh Sharma wrote:
quoted
quoted
quoted
Right, most of them are to avoid the make dtbs_check errors / warnings
like the one mentioned above.
All of them should not be here.
I guess only 'snps,reset-gpio' need not be replicated here, as for
others I still see 'dtbs_check' error, if they are not replicated here:
arch/arm64/boot/dts/qcom/sm8150-hdk.dtb: ethernet@20000: Unevaluated
properties are not allowed ('power-domains', 'resets', 'rx-fifo-depth',
'tx-fifo-depth' were unexpected)
From schema: /Documentation/devicetree/bindings/net/qcom,ethqos.yaml
Am I missing something here?
Probably the snps,dwmac schema failed. It is then considered
unevaluated, so such properties are unknown for qcom,ethqos schema. Run
check with snps,dwmac and fix all errors first.
Running dt_binding_check DT_SCHEMA_FILES=net/snps,dwmac.yaml
reports no error currently.
Then it's something in your commits. I don't know what you wrote, as you
did not sent a commit. I cannot reproduce your errors after removing
unneeded power-domains.
Just to clarify - I am testing only the dt_binding_check (so only the
examples - I assume they are meaningful).
Just a little note before I forget..
I picked this up yesterday (in prep for adding sa8540p support here),
and noticed the same thing as Bhupesh when validating dtbs with
the requested changes (not duplicating snsp,dwmac.yaml). I ended up
tracking it down to a (fixed) bug in dtschema:
https://github.com/devicetree-org/dt-schema/commit/e503ec1115345bdfa06b96c9d6c4496457cbd75b
And a little test output showing before and after (fix is in the 2022.12
release):
(dtschema-2022.11) ahalaney@halaney-x13s ~/git/redhat/stmmac (git)-[stmmac] % make CHECK_DTBS=y DT_SCHEMA_FILES=/net/qcom,ethqos.yaml qcom/sm8150-hdk.dtb
LINT Documentation/devicetree/bindings
CHKDT Documentation/devicetree/bindings/processed-schema.json
SCHEMA Documentation/devicetree/bindings/processed-schema.json
DTC_CHK arch/arm64/boot/dts/qcom/sm8150-hdk.dtb
/home/ahalaney/git/redhat/stmmac/arch/arm64/boot/dts/qcom/sm8150-hdk.dtb: ethernet@20000: Unevaluated properties are not allowed ('power-domains', 'resets', 'rx-fifo-depth', 'snps,tso', 'tx-fifo-depth' were unexpected)
From schema: /home/ahalaney/git/redhat/stmmac/Documentation/devicetree/bindings/net/qcom,ethqos.yaml
(dtschema-2022.11) ahalaney@halaney-x13s ~/git/redhat/stmmac (git)-[stmmac] % pip3 list | grep dtschema
dtschema 2022.11
(dtschema-2022.11) ahalaney@halaney-x13s ~/git/redhat/stmmac (git)-[stmmac] %
dtschema) ahalaney@halaney-x13s ~/git/redhat/stmmac (git)-[stmmac] % pip3 list | grep dtschema
dtschema 2023.1
(dtschema) ahalaney@halaney-x13s ~/git/redhat/stmmac (git)-[stmmac] % make CHECK_DTBS=y DT_SCHEMA_FILES=/net/qcom,ethqos.yaml qcom/sm8150-hdk.dtb
LINT Documentation/devicetree/bindings
CHKDT Documentation/devicetree/bindings/processed-schema.json
SCHEMA Documentation/devicetree/bindings/processed-schema.json
DTC_CHK arch/arm64/boot/dts/qcom/sm8150-hdk.dtb
(dtschema) ahalaney@halaney-x13s ~/git/redhat/stmmac (git)-[stmmac] %
I'll go ahead and make the adjustments and pull this series into mine
adding sa8540p support, thanks for starting it!
- Andrew
On Thu, 23 Feb 2023 at 01:59, Andrew Halaney [off-list ref] wrote:
On Mon, Oct 03, 2022 at 11:32:58AM +0200, Krzysztof Kozlowski wrote:
quoted
On 03/10/2022 10:29, Bhupesh Sharma wrote:
quoted
On Sun, 2 Oct 2022 at 13:24, Krzysztof Kozlowski
[off-list ref] wrote:
quoted
On 01/10/2022 14:51, Bhupesh Sharma wrote:
quoted
quoted
quoted
Right, most of them are to avoid the make dtbs_check errors / warnings
like the one mentioned above.
All of them should not be here.
I guess only 'snps,reset-gpio' need not be replicated here, as for
others I still see 'dtbs_check' error, if they are not replicated here:
arch/arm64/boot/dts/qcom/sm8150-hdk.dtb: ethernet@20000: Unevaluated
properties are not allowed ('power-domains', 'resets', 'rx-fifo-depth',
'tx-fifo-depth' were unexpected)
From schema: /Documentation/devicetree/bindings/net/qcom,ethqos.yaml
Am I missing something here?
Probably the snps,dwmac schema failed. It is then considered
unevaluated, so such properties are unknown for qcom,ethqos schema. Run
check with snps,dwmac and fix all errors first.
Running dt_binding_check DT_SCHEMA_FILES=net/snps,dwmac.yaml
reports no error currently.
Then it's something in your commits. I don't know what you wrote, as you
did not sent a commit. I cannot reproduce your errors after removing
unneeded power-domains.
Just to clarify - I am testing only the dt_binding_check (so only the
examples - I assume they are meaningful).
Just a little note before I forget..
I picked this up yesterday (in prep for adding sa8540p support here),
and noticed the same thing as Bhupesh when validating dtbs with
the requested changes (not duplicating snsp,dwmac.yaml). I ended up
tracking it down to a (fixed) bug in dtschema:
https://github.com/devicetree-org/dt-schema/commit/e503ec1115345bdfa06b96c9d6c4496457cbd75b
And a little test output showing before and after (fix is in the 2022.12
release):
(dtschema-2022.11) ahalaney@halaney-x13s ~/git/redhat/stmmac (git)-[stmmac] % make CHECK_DTBS=y DT_SCHEMA_FILES=/net/qcom,ethqos.yaml qcom/sm8150-hdk.dtb
LINT Documentation/devicetree/bindings
CHKDT Documentation/devicetree/bindings/processed-schema.json
SCHEMA Documentation/devicetree/bindings/processed-schema.json
DTC_CHK arch/arm64/boot/dts/qcom/sm8150-hdk.dtb
/home/ahalaney/git/redhat/stmmac/arch/arm64/boot/dts/qcom/sm8150-hdk.dtb: ethernet@20000: Unevaluated properties are not allowed ('power-domains', 'resets', 'rx-fifo-depth', 'snps,tso', 'tx-fifo-depth' were unexpected)
From schema: /home/ahalaney/git/redhat/stmmac/Documentation/devicetree/bindings/net/qcom,ethqos.yaml
(dtschema-2022.11) ahalaney@halaney-x13s ~/git/redhat/stmmac (git)-[stmmac] % pip3 list | grep dtschema
dtschema 2022.11
(dtschema-2022.11) ahalaney@halaney-x13s ~/git/redhat/stmmac (git)-[stmmac] %
dtschema) ahalaney@halaney-x13s ~/git/redhat/stmmac (git)-[stmmac] % pip3 list | grep dtschema
dtschema 2023.1
(dtschema) ahalaney@halaney-x13s ~/git/redhat/stmmac (git)-[stmmac] % make CHECK_DTBS=y DT_SCHEMA_FILES=/net/qcom,ethqos.yaml qcom/sm8150-hdk.dtb
LINT Documentation/devicetree/bindings
CHKDT Documentation/devicetree/bindings/processed-schema.json
SCHEMA Documentation/devicetree/bindings/processed-schema.json
DTC_CHK arch/arm64/boot/dts/qcom/sm8150-hdk.dtb
(dtschema) ahalaney@halaney-x13s ~/git/redhat/stmmac (git)-[stmmac] %
I'll go ahead and make the adjustments and pull this series into mine
adding sa8540p support, thanks for starting it!
Thanks Andrew. Please feel free to add it to your series.
Regards,
Bhupesh