[net-next,00/16] dt-bindings: net: dwmac: Extend clocks, props desc and constraints

Message ID 20230313225103.30512-1-Sergey.Semin@baikalelectronics.ru
Headers
Series dt-bindings: net: dwmac: Extend clocks, props desc and constraints |

Message

Serge Semin March 13, 2023, 10:50 p.m. UTC
  This patchset is the fourth one in the series of updates implemented in
the framework of activity to simplify the DW MAC/STMMAC driver code and
provide Baikal GMAC/X-GMAC support after all:

[1: In-review v1]: net: stmmac: Fixes bundle #1
Link: https://lore.kernel.org/netdev/20230313224237.28757-1-Sergey.Semin@baikalelectronics.ru/
[2: Stalled   v1]: net: stmmac: Fixes bundle #2
Link: ---not submitted yet---
[3: Stalled   v1]: net: stmmac: Fixes bundle #3
Link: ---not submitted yet---
+> [4: In-review v1]: dt-bindings: net: dwmac: Extend clocks, props desc and constraints
+> Link: ---you are looking at it---
[5: Stalled   v1]: dt-bindings: net: dwmac: Fix MTL queues and AXI-bus props
Link: ---not submitted yet---
[6: Stalled   v1]: net: stmmac: Generic platform res, props and DMA cleanups
Link: ---not submitted yet---
[7: Stalled   v1]: net: stmmac: Generic platform rst, phy and clk cleanups
Link: ---not submitted yet---
[8: Stalled   v1]: net: stmmac: Main driver code cleanups bundle #1
Link: ---not submitted yet---
[9: Stalled   v1]: net: stmmac: Main driver code cleanups bundle #2
Link: ---not submitted yet---
[10: Stalled  v1]: net: stmmac: DW MAC HW info init refactoring
Link: ---not submitted yet---
[11: Stalled  v1]: net: stmmac: Convert to using HW capabilities bundle #1
Link: ---not submitted yet---
[12: Stalled  v1]: net: stmmac: Convert to using HW capabilities bundle #2
Link: ---not submitted yet---
[13: Stalled  v1]: net: stmmac: Convert to using HW capabilities bundle #3
Link: ---not submitted yet---
[14: Stalled  v1]: net: stmmac: Convert to using HW capabilities bundle #4
Link: ---not submitted yet---
[15: Stalled  v1]: net: stmmac: Unify/simplify HW-interface
Link: ---not submitted yet---
[16: Stalled  v1]: net: stmmac: Norm/Enh/etc DMA descriptor init fixes
Link: ---not submitted yet---
[17: Stalled  v1]: net: stmmac: Norm/Enh/etc DMA descriptor init cleanups
Link: ---not submitted yet---
[18: Stalled  v1]: net: stmmac: Main driver code cleanups bundle #3
Link: ---not submitted yet---
[..: In-prep] to be continued (IRQ handling refactoring, SW-reset-less config,
                               generic GPIO support, ARP offload support,
                               In-band RGMII link state, etc)
[..: In-prep] to be continued (Baikal-{T,M,L,S} SoCs GMAC, X-GMAC and XPCS
                               support)

Please visit the next link for the detailed justification of the changes
series introduced in the list above:
Link: https://lore.kernel.org/netdev/20230313224237.28757-1-Sergey.Semin@baikalelectronics.ru/

Here is a short summary of what is introduced in this patchset.

The series starts with fixes of the PBL (Programmable DMA Burst length)
DT-property, which is supposed to be defined for each DW *MAC IP-core, but
not only for a Allwinner sun* and Ingenic GMAC and DW xGMAC. The number of
possible PBL values need to be also extended in accordance with the DW
*MAC manual. Then the TSO flag property should be also declared free of
the vendor-specific conditional schema, because the driver expects the
compatible string to have the IP-core version specified anyway and none of
the glue-drivers refer to the property directly. Moreover the original
Allwinner sunXi bindings file didn't have the TSO-related property
declared. So we can freely do that.

Then in order to improve the DT-bindings maintainability we suggest to
split up the generic DT-properties and generic DT-nodes schema leaving the
properties definition in the "snps,dwmac.yaml" file and moving the generic
DW *MAC DT-nodes bindings validation in the dedicated DT-schema
"snps,dwmac-generic.yaml".

We've found out that the DW MAC bindings don't provide a correct description
of the System/CSR clocks and a comprehensive enough description of the
clock-related "snps,clk-csr" property. So in order to have more
descriptive bindings we suggest to add a bit more details about the
App/CSR clocks and CSR-MDC divider property.

Then seeing the any DW MAC IP-core revision can be equipped with an
external Tx/Rx clock sources we suggest to add the "tx"/"rx" clocks
declaration into the generic DW MAC DT-schema.

Afterwards a set of the AXI-bus config property cleanups are introduced.
First we suggest to drop the "snps,axi-config" property description since
it duplicates the stmmac-axi-config sub-node DT-bindings. Second the
unevaluatedProperties property is replaced with additionalProperties as
more suitable for the "stmmac-axi-config" schema. Third the proper
constraints are added to the properties of the "stmmac-axi-config"
sub-node.

Then three patches concerning the MTL Tx/Rx queue configs go, which add
the sub-nodes properties constraints and fix the MTL Tx queue properties
description.

The next patch converts the DW MAC DT-bindings to using the "flag"
definition instead of the native boolean type for relevant properties.
It's done for the sake of the DT-schema unification.

The series is closed with the two patches concerning the MTL queue config
properties dependencies. First one provides a simpler construction for the
MTL queue properties inter-dependencies. The second one adds the
dependencies definition for the MTL Tx queue CBS-algo properties.

Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
Cc: Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>
Cc: Pavel Parkhomenko <Pavel.Parkhomenko@baikalelectronics.ru>
Cc: Christian Marangi <ansuelsmth@gmail.com>
Cc: Richard Cochran <richardcochran@gmail.com>
Cc: Biao Huang <biao.huang@mediatek.com>
Cc: Yang Yingliang <yangyingliang@huawei.com>
Cc: devicetree@vger.kernel.org
Cc: netdev@vger.kernel.org
Cc: linux-stm32@st-md-mailman.stormreply.com
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org

Serge Semin (16):
  dt-bindings: net: dwmac: Validate PBL for all IP-cores
  dt-bindings: net: dwmac: Extend number of PBL values
  dt-bindings: net: dwmac: Fix the TSO property declaration
  dt-bindings: net: dwmac: Detach Generic DW MAC bindings
  dt-bindings: net: dwmac: Elaborate snps,clk-csr description
  dt-bindings: net: dwmac: Elaborate stmmaceth/pclk clocks description
  dt-bindings: net: dwmac: Add Tx/Rx clock sources
  dt-bindings: net: dwmac: Drop prop names from snps,axi-config
    description
  dt-bindings: net: dwmac: Prohibit additional props in AXI-config
  dt-bindings: net: dwmac: Add AXI-bus properties constraints
  dt-bindings: net: dwmac: Add MTL Rx Queue properties constraints
  dt-bindings: net: dwmac: Add MTL Tx Queue properties constraints
  dt-bindings: net: dwmac: Fix MTL Tx Queue props description
  dt-bindings: net: dwmac: Use flag definition instead of booleans
  dt-bindings: net: dwmac: Simplify MTL queue props dependencies
  dt-bindings: net: dwmac: Add MTL Tx queue CBS-algo props dependencies

 .../bindings/net/snps,dwmac-generic.yaml      | 155 +++++
 .../devicetree/bindings/net/snps,dwmac.yaml   | 586 +++++++-----------
 MAINTAINERS                                   |   1 +
 3 files changed, 381 insertions(+), 361 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/net/snps,dwmac-generic.yaml