lkml.org 
[lkml]   [2022]   [Sep]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH v2 3/4] dt-bindings: net: qcom,ethqos: Convert bindings to yaml
From

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

\
 
 \ /
  Last update: 2022-09-30 10:13    [W:0.063 / U:0.112 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site