From: Rob Herring <robh@kernel.org>
To: Christophe Roullier <christophe.roullier@st.com>
Cc: mark.rutland@arm.com, devicetree@vger.kernel.org,
alexandre.torgue@st.com, narmstrong@baylibre.com,
martin.blumenstingl@googlemail.com, netdev@vger.kernel.org,
linux-kernel@vger.kernel.org, mripard@kernel.org,
linux-stm32@st-md-mailman.stormreply.com,
mcoquelin.stm32@gmail.com, alexandru.ardelean@analog.com,
davem@davemloft.net, linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCHv2 2/2] dt-bindings: net: dwmac: Convert stm32 dwmac to DT schema
Date: Mon, 30 Mar 2020 16:17:30 -0600 [thread overview]
Message-ID: <20200330221730.GA17878@bogus> (raw)
In-Reply-To: <20200317151706.25810-3-christophe.roullier@st.com>
On Tue, Mar 17, 2020 at 04:17:06PM +0100, Christophe Roullier wrote:
> Convert stm32 dwmac to DT schema.
>
> Signed-off-by: Christophe Roullier <christophe.roullier@st.com>
> ---
> .../devicetree/bindings/net/stm32-dwmac.txt | 44 -----
> .../devicetree/bindings/net/stm32-dwmac.yaml | 160 ++++++++++++++++++
> 2 files changed, 160 insertions(+), 44 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/net/stm32-dwmac.txt
> create mode 100644 Documentation/devicetree/bindings/net/stm32-dwmac.yaml
>
> diff --git a/Documentation/devicetree/bindings/net/stm32-dwmac.txt b/Documentation/devicetree/bindings/net/stm32-dwmac.txt
> deleted file mode 100644
> index a90eef11dc46..000000000000
> --- a/Documentation/devicetree/bindings/net/stm32-dwmac.txt
> +++ /dev/null
> @@ -1,44 +0,0 @@
> -STMicroelectronics STM32 / MCU DWMAC glue layer controller
> -
> -This file documents platform glue layer for stmmac.
> -Please see stmmac.txt for the other unchanged properties.
> -
> -The device node has following properties.
> -
> -Required properties:
> -- compatible: For MCU family should be "st,stm32-dwmac" to select glue, and
> - "snps,dwmac-3.50a" to select IP version.
> - For MPU family should be "st,stm32mp1-dwmac" to select
> - glue, and "snps,dwmac-4.20a" to select IP version.
> -- clocks: Must contain a phandle for each entry in clock-names.
> -- clock-names: Should be "stmmaceth" for the host clock.
> - Should be "mac-clk-tx" for the MAC TX clock.
> - Should be "mac-clk-rx" for the MAC RX clock.
> - For MPU family need to add also "ethstp" for power mode clock
> -- interrupt-names: Should contain a list of interrupt names corresponding to
> - the interrupts in the interrupts property, if available.
> - Should be "macirq" for the main MAC IRQ
> - Should be "eth_wake_irq" for the IT which wake up system
> -- st,syscon : Should be phandle/offset pair. The phandle to the syscon node which
> - encompases the glue register, and the offset of the control register.
> -
> -Optional properties:
> -- clock-names: For MPU family "eth-ck" for PHY without quartz
> -- st,eth-clk-sel (boolean) : set this property in RGMII PHY when you want to select RCC clock instead of ETH_CLK125.
> -- st,eth-ref-clk-sel (boolean) : set this property in RMII mode when you have PHY without crystal 50MHz and want to select RCC clock instead of ETH_REF_CLK.
> -
> -Example:
> -
> - ethernet@40028000 {
> - compatible = "st,stm32-dwmac", "snps,dwmac-3.50a";
> - reg = <0x40028000 0x8000>;
> - reg-names = "stmmaceth";
> - interrupts = <0 61 0>, <0 62 0>;
> - interrupt-names = "macirq", "eth_wake_irq";
> - clock-names = "stmmaceth", "mac-clk-tx", "mac-clk-rx";
> - clocks = <&rcc 0 25>, <&rcc 0 26>, <&rcc 0 27>;
> - st,syscon = <&syscfg 0x4>;
> - snps,pbl = <8>;
> - snps,mixed-burst;
> - dma-ranges;
> - };
> diff --git a/Documentation/devicetree/bindings/net/stm32-dwmac.yaml b/Documentation/devicetree/bindings/net/stm32-dwmac.yaml
> new file mode 100644
> index 000000000000..4440216917b3
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/stm32-dwmac.yaml
> @@ -0,0 +1,160 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +# Copyright 2019 BayLibre, SAS
> +%YAML 1.2
> +---
> +$id: "http://devicetree.org/schemas/net/stm32-dwmac.yaml#"
> +$schema: "http://devicetree.org/meta-schemas/core.yaml#"
> +
> +title: STMicroelectronics STM32 / MCU DWMAC glue layer controller
> +
> +maintainers:
> + - Alexandre Torgue <alexandre.torgue@st.com>
> + - Christophe Roullier <christophe.roullier@st.com>
> +
> +description:
> + This file documents platform glue layer for stmmac.
> +
> +# We need a select here so we don't match all nodes with 'snps,dwmac'
> +select:
> + properties:
> + compatible:
> + contains:
> + enum:
> + - st,stm32-dwmac
> + - st,stm32mp1-dwmac
> + required:
> + - compatible
> +
> +allOf:
> + - $ref: "snps,dwmac.yaml#"
> + - if:
> + properties:
> + compatible:
> + contains:
> + enum:
> + - st,stm32-dwmac
> + - st,stm32mp1-dwmac
This schema is only applied when these compatibles are present, so you
don't need the 'if' and all this can move to the main section.
> + then:
> + properties:
> + clocks:
> + minItems: 3
> + maxItems: 5
> + items:
> + - description: GMAC main clock
> + - description: MAC TX clock
> + - description: MAC RX clock
> + - description: For MPU family, used for power mode
> + - description: For MPU family, used for PHY without quartz
> +
> + clock-names:
> + minItems: 3
> + maxItems: 5
> + contains:
> + enum:
> + - stmmaceth
> + - mac-clk-tx
> + - mac-clk-rx
> + - ethstp
> + - eth-ck
> +
> +properties:
> + compatible:
> + oneOf:
> + - items:
> + - enum:
> + - st,stm32mp1-dwmac
> + - const: snps,dwmac-4.20a
> + - items:
> + - enum:
> + - st,stm32-dwmac
> + - const: snps,dwmac-4.10a
> + - items:
> + - enum:
> + - st,stm32-dwmac
> + - const: snps,dwmac-3.50a
> +
> + st,syscon:
> + allOf:
> + - $ref: "/schemas/types.yaml#/definitions/phandle-array"
> + description:
> + Should be phandle/offset pair. The phandle to the syscon node which
> + encompases the glue register, and the offset of the control register
> +
> + st,eth-clk-sel:
> + description:
> + set this property in RGMII PHY when you want to select RCC clock instead of ETH_CLK125.
> + type: boolean
> +
> + st,eth-ref-clk-sel:
> + description:
> + set this property in RMII mode when you have PHY without crystal 50MHz and want to
> + select RCC clock instead of ETH_REF_CLK.
> + type: boolean
> +
> +required:
> + - compatible
> + - clocks
> + - clock-names
> + - st,syscon
> +
> +examples:
> + - |
> + #include <dt-bindings/interrupt-controller/arm-gic.h>
> + #include <dt-bindings/clock/stm32mp1-clks.h>
> + #include <dt-bindings/reset/stm32mp1-resets.h>
> + #include <dt-bindings/mfd/stm32h7-rcc.h>
> + //Example 1
> + ethernet0: ethernet@5800a000 {
> + compatible = "st,stm32mp1-dwmac", "snps,dwmac-4.20a";
> + reg = <0x5800a000 0x2000>;
> + reg-names = "stmmaceth";
> + interrupts = <&intc GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
> + interrupt-names = "macirq";
> + clock-names = "stmmaceth",
> + "mac-clk-tx",
> + "mac-clk-rx",
> + "ethstp",
> + "eth-ck";
> + clocks = <&rcc ETHMAC>,
> + <&rcc ETHTX>,
> + <&rcc ETHRX>,
> + <&rcc ETHSTP>,
> + <&rcc ETHCK_K>;
> + st,syscon = <&syscfg 0x4>;
> + snps,pbl = <2>;
> + snps,axi-config = <&stmmac_axi_config_0>;
> + snps,tso;
> + status = "disabled";
Don't show status in examples.
> + phy-mode = "rgmii";
> + };
Wrong indentation.
> +
> + //Example 2 (MCU example)
> + ethernet1: ethernet@40028000 {
> + compatible = "st,stm32-dwmac", "snps,dwmac-3.50a";
> + reg = <0x40028000 0x8000>;
> + reg-names = "stmmaceth";
> + interrupts = <0 61 0>, <0 62 0>;
> + interrupt-names = "macirq", "eth_wake_irq";
> + clock-names = "stmmaceth", "mac-clk-tx", "mac-clk-rx";
> + clocks = <&rcc 0 25>, <&rcc 0 26>, <&rcc 0 27>;
> + st,syscon = <&syscfg 0x4>;
> + snps,pbl = <8>;
> + snps,mixed-burst;
> + dma-ranges;
> + phy-mode = "mii";
> + };
> +
> + //Example 3
> + ethernet2: ethernet@40027000 {
> + compatible = "st,stm32-dwmac", "snps,dwmac-4.10a";
> + reg = <0x40028000 0x8000>;
> + reg-names = "stmmaceth";
> + interrupts = <61>;
> + interrupt-names = "macirq";
> + clock-names = "stmmaceth", "mac-clk-tx", "mac-clk-rx";
> + clocks = <&rcc 62>, <&rcc 61>, <&rcc 60>;
> + st,syscon = <&syscfg 0x4>;
> + snps,pbl = <8>;
> + status = "disabled";
> + phy-mode = "mii";
> + };
> --
> 2.17.1
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
WARNING: multiple messages have this Message-ID (diff)
From: Rob Herring <robh@kernel.org>
To: Christophe Roullier <christophe.roullier@st.com>
Cc: davem@davemloft.net, mark.rutland@arm.com, mripard@kernel.org,
martin.blumenstingl@googlemail.com,
alexandru.ardelean@analog.com, narmstrong@baylibre.com,
mcoquelin.stm32@gmail.com, alexandre.torgue@st.com,
devicetree@vger.kernel.org, netdev@vger.kernel.org,
linux-kernel@vger.kernel.org,
linux-stm32@st-md-mailman.stormreply.com,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCHv2 2/2] dt-bindings: net: dwmac: Convert stm32 dwmac to DT schema
Date: Mon, 30 Mar 2020 16:17:30 -0600 [thread overview]
Message-ID: <20200330221730.GA17878@bogus> (raw)
In-Reply-To: <20200317151706.25810-3-christophe.roullier@st.com>
On Tue, Mar 17, 2020 at 04:17:06PM +0100, Christophe Roullier wrote:
> Convert stm32 dwmac to DT schema.
>
> Signed-off-by: Christophe Roullier <christophe.roullier@st.com>
> ---
> .../devicetree/bindings/net/stm32-dwmac.txt | 44 -----
> .../devicetree/bindings/net/stm32-dwmac.yaml | 160 ++++++++++++++++++
> 2 files changed, 160 insertions(+), 44 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/net/stm32-dwmac.txt
> create mode 100644 Documentation/devicetree/bindings/net/stm32-dwmac.yaml
>
> diff --git a/Documentation/devicetree/bindings/net/stm32-dwmac.txt b/Documentation/devicetree/bindings/net/stm32-dwmac.txt
> deleted file mode 100644
> index a90eef11dc46..000000000000
> --- a/Documentation/devicetree/bindings/net/stm32-dwmac.txt
> +++ /dev/null
> @@ -1,44 +0,0 @@
> -STMicroelectronics STM32 / MCU DWMAC glue layer controller
> -
> -This file documents platform glue layer for stmmac.
> -Please see stmmac.txt for the other unchanged properties.
> -
> -The device node has following properties.
> -
> -Required properties:
> -- compatible: For MCU family should be "st,stm32-dwmac" to select glue, and
> - "snps,dwmac-3.50a" to select IP version.
> - For MPU family should be "st,stm32mp1-dwmac" to select
> - glue, and "snps,dwmac-4.20a" to select IP version.
> -- clocks: Must contain a phandle for each entry in clock-names.
> -- clock-names: Should be "stmmaceth" for the host clock.
> - Should be "mac-clk-tx" for the MAC TX clock.
> - Should be "mac-clk-rx" for the MAC RX clock.
> - For MPU family need to add also "ethstp" for power mode clock
> -- interrupt-names: Should contain a list of interrupt names corresponding to
> - the interrupts in the interrupts property, if available.
> - Should be "macirq" for the main MAC IRQ
> - Should be "eth_wake_irq" for the IT which wake up system
> -- st,syscon : Should be phandle/offset pair. The phandle to the syscon node which
> - encompases the glue register, and the offset of the control register.
> -
> -Optional properties:
> -- clock-names: For MPU family "eth-ck" for PHY without quartz
> -- st,eth-clk-sel (boolean) : set this property in RGMII PHY when you want to select RCC clock instead of ETH_CLK125.
> -- st,eth-ref-clk-sel (boolean) : set this property in RMII mode when you have PHY without crystal 50MHz and want to select RCC clock instead of ETH_REF_CLK.
> -
> -Example:
> -
> - ethernet@40028000 {
> - compatible = "st,stm32-dwmac", "snps,dwmac-3.50a";
> - reg = <0x40028000 0x8000>;
> - reg-names = "stmmaceth";
> - interrupts = <0 61 0>, <0 62 0>;
> - interrupt-names = "macirq", "eth_wake_irq";
> - clock-names = "stmmaceth", "mac-clk-tx", "mac-clk-rx";
> - clocks = <&rcc 0 25>, <&rcc 0 26>, <&rcc 0 27>;
> - st,syscon = <&syscfg 0x4>;
> - snps,pbl = <8>;
> - snps,mixed-burst;
> - dma-ranges;
> - };
> diff --git a/Documentation/devicetree/bindings/net/stm32-dwmac.yaml b/Documentation/devicetree/bindings/net/stm32-dwmac.yaml
> new file mode 100644
> index 000000000000..4440216917b3
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/stm32-dwmac.yaml
> @@ -0,0 +1,160 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +# Copyright 2019 BayLibre, SAS
> +%YAML 1.2
> +---
> +$id: "http://devicetree.org/schemas/net/stm32-dwmac.yaml#"
> +$schema: "http://devicetree.org/meta-schemas/core.yaml#"
> +
> +title: STMicroelectronics STM32 / MCU DWMAC glue layer controller
> +
> +maintainers:
> + - Alexandre Torgue <alexandre.torgue@st.com>
> + - Christophe Roullier <christophe.roullier@st.com>
> +
> +description:
> + This file documents platform glue layer for stmmac.
> +
> +# We need a select here so we don't match all nodes with 'snps,dwmac'
> +select:
> + properties:
> + compatible:
> + contains:
> + enum:
> + - st,stm32-dwmac
> + - st,stm32mp1-dwmac
> + required:
> + - compatible
> +
> +allOf:
> + - $ref: "snps,dwmac.yaml#"
> + - if:
> + properties:
> + compatible:
> + contains:
> + enum:
> + - st,stm32-dwmac
> + - st,stm32mp1-dwmac
This schema is only applied when these compatibles are present, so you
don't need the 'if' and all this can move to the main section.
> + then:
> + properties:
> + clocks:
> + minItems: 3
> + maxItems: 5
> + items:
> + - description: GMAC main clock
> + - description: MAC TX clock
> + - description: MAC RX clock
> + - description: For MPU family, used for power mode
> + - description: For MPU family, used for PHY without quartz
> +
> + clock-names:
> + minItems: 3
> + maxItems: 5
> + contains:
> + enum:
> + - stmmaceth
> + - mac-clk-tx
> + - mac-clk-rx
> + - ethstp
> + - eth-ck
> +
> +properties:
> + compatible:
> + oneOf:
> + - items:
> + - enum:
> + - st,stm32mp1-dwmac
> + - const: snps,dwmac-4.20a
> + - items:
> + - enum:
> + - st,stm32-dwmac
> + - const: snps,dwmac-4.10a
> + - items:
> + - enum:
> + - st,stm32-dwmac
> + - const: snps,dwmac-3.50a
> +
> + st,syscon:
> + allOf:
> + - $ref: "/schemas/types.yaml#/definitions/phandle-array"
> + description:
> + Should be phandle/offset pair. The phandle to the syscon node which
> + encompases the glue register, and the offset of the control register
> +
> + st,eth-clk-sel:
> + description:
> + set this property in RGMII PHY when you want to select RCC clock instead of ETH_CLK125.
> + type: boolean
> +
> + st,eth-ref-clk-sel:
> + description:
> + set this property in RMII mode when you have PHY without crystal 50MHz and want to
> + select RCC clock instead of ETH_REF_CLK.
> + type: boolean
> +
> +required:
> + - compatible
> + - clocks
> + - clock-names
> + - st,syscon
> +
> +examples:
> + - |
> + #include <dt-bindings/interrupt-controller/arm-gic.h>
> + #include <dt-bindings/clock/stm32mp1-clks.h>
> + #include <dt-bindings/reset/stm32mp1-resets.h>
> + #include <dt-bindings/mfd/stm32h7-rcc.h>
> + //Example 1
> + ethernet0: ethernet@5800a000 {
> + compatible = "st,stm32mp1-dwmac", "snps,dwmac-4.20a";
> + reg = <0x5800a000 0x2000>;
> + reg-names = "stmmaceth";
> + interrupts = <&intc GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
> + interrupt-names = "macirq";
> + clock-names = "stmmaceth",
> + "mac-clk-tx",
> + "mac-clk-rx",
> + "ethstp",
> + "eth-ck";
> + clocks = <&rcc ETHMAC>,
> + <&rcc ETHTX>,
> + <&rcc ETHRX>,
> + <&rcc ETHSTP>,
> + <&rcc ETHCK_K>;
> + st,syscon = <&syscfg 0x4>;
> + snps,pbl = <2>;
> + snps,axi-config = <&stmmac_axi_config_0>;
> + snps,tso;
> + status = "disabled";
Don't show status in examples.
> + phy-mode = "rgmii";
> + };
Wrong indentation.
> +
> + //Example 2 (MCU example)
> + ethernet1: ethernet@40028000 {
> + compatible = "st,stm32-dwmac", "snps,dwmac-3.50a";
> + reg = <0x40028000 0x8000>;
> + reg-names = "stmmaceth";
> + interrupts = <0 61 0>, <0 62 0>;
> + interrupt-names = "macirq", "eth_wake_irq";
> + clock-names = "stmmaceth", "mac-clk-tx", "mac-clk-rx";
> + clocks = <&rcc 0 25>, <&rcc 0 26>, <&rcc 0 27>;
> + st,syscon = <&syscfg 0x4>;
> + snps,pbl = <8>;
> + snps,mixed-burst;
> + dma-ranges;
> + phy-mode = "mii";
> + };
> +
> + //Example 3
> + ethernet2: ethernet@40027000 {
> + compatible = "st,stm32-dwmac", "snps,dwmac-4.10a";
> + reg = <0x40028000 0x8000>;
> + reg-names = "stmmaceth";
> + interrupts = <61>;
> + interrupt-names = "macirq";
> + clock-names = "stmmaceth", "mac-clk-tx", "mac-clk-rx";
> + clocks = <&rcc 62>, <&rcc 61>, <&rcc 60>;
> + st,syscon = <&syscfg 0x4>;
> + snps,pbl = <8>;
> + status = "disabled";
> + phy-mode = "mii";
> + };
> --
> 2.17.1
>
next prev parent reply other threads:[~2020-03-30 22:17 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-17 15:17 [PATCHv2 0/2] Convert stm32 dwmac to DT schema Christophe Roullier
2020-03-17 15:17 ` Christophe Roullier
2020-03-17 15:17 ` [PATCHv2 1/2] dt-bindings: net: dwmac: increase 'maxItems' for 'clocks', 'clock-names' properties Christophe Roullier
2020-03-17 15:17 ` Christophe Roullier
2020-03-17 15:17 ` [PATCHv2 2/2] dt-bindings: net: dwmac: Convert stm32 dwmac to DT schema Christophe Roullier
2020-03-17 15:17 ` Christophe Roullier
2020-03-30 22:17 ` Rob Herring [this message]
2020-03-30 22:17 ` Rob Herring
2020-03-24 7:04 ` [PATCHv2 0/2] " Christophe ROULLIER
2020-03-24 7:04 ` Christophe ROULLIER
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200330221730.GA17878@bogus \
--to=robh@kernel.org \
--cc=alexandre.torgue@st.com \
--cc=alexandru.ardelean@analog.com \
--cc=christophe.roullier@st.com \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-stm32@st-md-mailman.stormreply.com \
--cc=mark.rutland@arm.com \
--cc=martin.blumenstingl@googlemail.com \
--cc=mcoquelin.stm32@gmail.com \
--cc=mripard@kernel.org \
--cc=narmstrong@baylibre.com \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.