Messages in this thread | | | Date | Fri, 30 Sep 2022 13:42:14 +0530 | Subject | Re: [PATCH v2 3/4] dt-bindings: net: qcom,ethqos: Convert bindings to yaml | From | Bhupesh Sharma <> |
| |
On 9/29/22 12:52 PM, Krzysztof Kozlowski wrote: > 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. > > There are no checks added to snps,dwmac.
Ack.
>> >> 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 <bhupesh.sharma@linaro.org> >> --- >> .../devicetree/bindings/net/qcom,ethqos.txt | 66 -------- >> .../devicetree/bindings/net/qcom,ethqos.yaml | 145 ++++++++++++++++++ >> 2 files changed, 145 insertions(+), 66 deletions(-) >> delete mode 100644 Documentation/devicetree/bindings/net/qcom,ethqos.txt >> create mode 100644 Documentation/devicetree/bindings/net/qcom,ethqos.yaml >> >> diff --git a/Documentation/devicetree/bindings/net/qcom,ethqos.txt b/Documentation/devicetree/bindings/net/qcom,ethqos.txt >> deleted file mode 100644 >> index 1f5746849a71..000000000000 >> --- a/Documentation/devicetree/bindings/net/qcom,ethqos.txt >> +++ /dev/null >> @@ -1,66 +0,0 @@ >> -Qualcomm Ethernet ETHQOS device >> - >> -This documents dwmmac based ethernet device which supports Gigabit >> -ethernet for version v2.3.0 onwards. >> - >> -This device has following properties: >> - >> -Required properties: >> - >> -- compatible: Should be one of: >> - "qcom,qcs404-ethqos" >> - "qcom,sm8150-ethqos" >> - >> -- reg: Address and length of the register set for the device >> - >> -- reg-names: Should contain register names "stmmaceth", "rgmii" >> - >> -- clocks: Should contain phandle to clocks >> - >> -- clock-names: Should contain clock names "stmmaceth", "pclk", >> - "ptp_ref", "rgmii" >> - >> -- interrupts: Should contain phandle to interrupts >> - >> -- interrupt-names: Should contain interrupt names "macirq", "eth_lpi" >> - >> -Rest of the properties are defined in stmmac.txt file in same directory >> - >> - >> -Example: >> - >> -ethernet: ethernet@7a80000 { >> - compatible = "qcom,qcs404-ethqos"; >> - reg = <0x07a80000 0x10000>, >> - <0x07a96000 0x100>; >> - reg-names = "stmmaceth", "rgmii"; >> - clock-names = "stmmaceth", "pclk", "ptp_ref", "rgmii"; >> - clocks = <&gcc GCC_ETH_AXI_CLK>, >> - <&gcc GCC_ETH_SLAVE_AHB_CLK>, >> - <&gcc GCC_ETH_PTP_CLK>, >> - <&gcc GCC_ETH_RGMII_CLK>; >> - interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>, >> - <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>; >> - interrupt-names = "macirq", "eth_lpi"; >> - snps,reset-gpio = <&tlmm 60 GPIO_ACTIVE_LOW>; >> - snps,reset-active-low; >> - >> - snps,txpbl = <8>; >> - snps,rxpbl = <2>; >> - snps,aal; >> - snps,tso; >> - >> - phy-handle = <&phy1>; >> - phy-mode = "rgmii"; >> - >> - mdio { >> - #address-cells = <0x1>; >> - #size-cells = <0x0>; >> - compatible = "snps,dwmac-mdio"; >> - phy1: phy@4 { >> - device_type = "ethernet-phy"; >> - reg = <0x4>; >> - }; >> - }; >> - >> -}; >> diff --git a/Documentation/devicetree/bindings/net/qcom,ethqos.yaml b/Documentation/devicetree/bindings/net/qcom,ethqos.yaml >> new file mode 100644 >> index 000000000000..d3d8f6799d18 >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/net/qcom,ethqos.yaml >> @@ -0,0 +1,145 @@ >> +# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause >> +%YAML 1.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.
>> + >> + power-domains: >> + maxItems: 1 >> + >> + resets: >> + maxItems: 1 >> + >> + rx-fifo-depth: >> + $ref: /schemas/types.yaml#/definitions/uint32 >> + >> + tx-fifo-depth: >> + $ref: /schemas/types.yaml#/definitions/uint32 >> + >> + snps,tso: >> + type: boolean >> + description: Enables the TSO feature (otherwise managed by MAC HW capability register). > > 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
| |