From: Rob Herring <robh@kernel.org>
To: Biao Huang <biao.huang@mediatek.com>
Cc: davem@davemloft.net, Jakub Kicinski <kuba@kernel.org>,
Matthias Brugger <matthias.bgg@gmail.com>,
Giuseppe Cavallaro <peppe.cavallaro@st.com>,
Alexandre Torgue <alexandre.torgue@foss.st.com>,
Jose Abreu <joabreu@synopsys.com>,
Maxime Coquelin <mcoquelin.stm32@gmail.com>,
netdev@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-mediatek@lists.infradead.org,
linux-stm32@st-md-mailman.stormreply.com,
srv_heupstream@mediatek.com, macpaul.lin@mediatek.com,
angelogioacchino.delregno@collabora.com, dkirjanov@suse.de
Subject: Re: [PATCH v3 4/7] net-next: dt-bindings: dwmac: Convert mediatek-dwmac to DT schema
Date: Sun, 28 Nov 2021 17:59:20 -0600 [thread overview]
Message-ID: <YaQX2N05WsZxXOgX@robh.at.kernel.org> (raw)
In-Reply-To: <20211112093918.11061-5-biao.huang@mediatek.com>
On Fri, Nov 12, 2021 at 05:39:15PM +0800, Biao Huang wrote:
> Convert mediatek-dwmac to DT schema, and delete old mediatek-dwmac.txt.
>
> Signed-off-by: Biao Huang <biao.huang@mediatek.com>
> ---
> .../bindings/net/mediatek-dwmac.txt | 91 ----------
> .../bindings/net/mediatek-dwmac.yaml | 157 ++++++++++++++++++
> 2 files changed, 157 insertions(+), 91 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/net/mediatek-dwmac.txt
> create mode 100644 Documentation/devicetree/bindings/net/mediatek-dwmac.yaml
>
> diff --git a/Documentation/devicetree/bindings/net/mediatek-dwmac.txt b/Documentation/devicetree/bindings/net/mediatek-dwmac.txt
> deleted file mode 100644
> index afbcaebf062e..000000000000
> --- a/Documentation/devicetree/bindings/net/mediatek-dwmac.txt
> +++ /dev/null
> @@ -1,91 +0,0 @@
> -MediaTek 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: Should be "mediatek,mt2712-gmac" for MT2712 SoC
> -- reg: Address and length of the register set for the device
> -- interrupts: Should contain the MAC interrupts
> -- 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
> -- clocks: Must contain a phandle for each entry in clock-names.
> -- clock-names: The name of the clock listed in the clocks property. These are
> - "axi", "apb", "mac_main", "ptp_ref", "rmii_internal" for MT2712 SoC.
> -- mac-address: See ethernet.txt in the same directory
> -- phy-mode: See ethernet.txt in the same directory
> -- mediatek,pericfg: A phandle to the syscon node that control ethernet
> - interface and timing delay.
> -
> -Optional properties:
> -- mediatek,tx-delay-ps: TX clock delay macro value. Default is 0.
> - It should be defined for RGMII/MII interface.
> - It should be defined for RMII interface when the reference clock is from MT2712 SoC.
> -- mediatek,rx-delay-ps: RX clock delay macro value. Default is 0.
> - It should be defined for RGMII/MII interface.
> - It should be defined for RMII interface.
> -Both delay properties need to be a multiple of 170 for RGMII interface,
> -or will round down. Range 0~31*170.
> -Both delay properties need to be a multiple of 550 for MII/RMII interface,
> -or will round down. Range 0~31*550.
> -
> -- mediatek,rmii-rxc: boolean property, if present indicates that the RMII
> - reference clock, which is from external PHYs, is connected to RXC pin
> - on MT2712 SoC.
> - Otherwise, is connected to TXC pin.
> -- mediatek,rmii-clk-from-mac: boolean property, if present indicates that
> - MT2712 SoC provides the RMII reference clock, which outputs to TXC pin only.
> -- mediatek,txc-inverse: boolean property, if present indicates that
> - 1. tx clock will be inversed in MII/RGMII case,
> - 2. tx clock inside MAC will be inversed relative to reference clock
> - which is from external PHYs in RMII case, and it rarely happen.
> - 3. the reference clock, which outputs to TXC pin will be inversed in RMII case
> - when the reference clock is from MT2712 SoC.
> -- mediatek,rxc-inverse: boolean property, if present indicates that
> - 1. rx clock will be inversed in MII/RGMII case.
> - 2. reference clock will be inversed when arrived at MAC in RMII case, when
> - the reference clock is from external PHYs.
> - 3. the inside clock, which be sent to MAC, will be inversed in RMII case when
> - the reference clock is from MT2712 SoC.
> -- assigned-clocks: mac_main and ptp_ref clocks
> -- assigned-clock-parents: parent clocks of the assigned clocks
> -
> -Example:
> - eth: ethernet@1101c000 {
> - compatible = "mediatek,mt2712-gmac";
> - reg = <0 0x1101c000 0 0x1300>;
> - interrupts = <GIC_SPI 237 IRQ_TYPE_LEVEL_LOW>;
> - interrupt-names = "macirq";
> - phy-mode ="rgmii-rxid";
> - mac-address = [00 55 7b b5 7d f7];
> - clock-names = "axi",
> - "apb",
> - "mac_main",
> - "ptp_ref",
> - "rmii_internal";
> - clocks = <&pericfg CLK_PERI_GMAC>,
> - <&pericfg CLK_PERI_GMAC_PCLK>,
> - <&topckgen CLK_TOP_ETHER_125M_SEL>,
> - <&topckgen CLK_TOP_ETHER_50M_SEL>,
> - <&topckgen CLK_TOP_ETHER_50M_RMII_SEL>;
> - assigned-clocks = <&topckgen CLK_TOP_ETHER_125M_SEL>,
> - <&topckgen CLK_TOP_ETHER_50M_SEL>,
> - <&topckgen CLK_TOP_ETHER_50M_RMII_SEL>;
> - assigned-clock-parents = <&topckgen CLK_TOP_ETHERPLL_125M>,
> - <&topckgen CLK_TOP_APLL1_D3>,
> - <&topckgen CLK_TOP_ETHERPLL_50M>;
> - power-domains = <&scpsys MT2712_POWER_DOMAIN_AUDIO>;
> - mediatek,pericfg = <&pericfg>;
> - mediatek,tx-delay-ps = <1530>;
> - mediatek,rx-delay-ps = <1530>;
> - mediatek,rmii-rxc;
> - mediatek,txc-inverse;
> - mediatek,rxc-inverse;
> - snps,txpbl = <1>;
> - snps,rxpbl = <1>;
> - snps,reset-gpio = <&pio 87 GPIO_ACTIVE_LOW>;
> - snps,reset-active-low;
> - };
> diff --git a/Documentation/devicetree/bindings/net/mediatek-dwmac.yaml b/Documentation/devicetree/bindings/net/mediatek-dwmac.yaml
> new file mode 100644
> index 000000000000..2eb4781536f7
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/mediatek-dwmac.yaml
> @@ -0,0 +1,157 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/net/mediatek-dwmac.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: MediaTek DWMAC glue layer controller
> +
> +maintainers:
> + - Biao Huang <biao.huang@mediatek.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:
> + - mediatek,mt2712-gmac
> + required:
> + - compatible
> +
> +allOf:
> + - $ref: "snps,dwmac.yaml#"
> + - $ref: "ethernet-controller.yaml#"
Doesn't snps,dwmac.yaml already reference ethernet-controller.yaml?
> +
> +properties:
> + compatible:
> + oneOf:
> + - items:
> + - enum:
> + - mediatek,mt2712-gmac
> + - const: snps,dwmac-4.20a
> +
> + clocks:
> + items:
> + - description: AXI clock
> + - description: APB clock
> + - description: MAC Main clock
> + - description: PTP clock
> + - description: RMII reference clock provided by MAC
> +
> + clock-names:
> + items:
> + - const: axi
> + - const: apb
> + - const: mac_main
> + - const: ptp_ref
> + - const: rmii_internal
> +
> + mediatek,pericfg:
> + $ref: /schemas/types.yaml#/definitions/phandle
> + description:
> + The phandle to the syscon node that control ethernet
> + interface and timing delay.
> +
> + mediatek,tx-delay-ps:
> + description:
> + The internal TX clock delay (provided by this driver) in nanoseconds.
> + For MT2712 RGMII interface, Allowed value need to be a multiple of 170,
> + or will round down. Range 0~31*170.
> + For MT2712 RMII/MII interface, Allowed value need to be a multiple of 550,
> + or will round down. Range 0~31*550.
> +
> + mediatek,rx-delay-ps:
> + description:
> + The internal RX clock delay (provided by this driver) in nanoseconds.
> + For MT2712 RGMII interface, Allowed value need to be a multiple of 170,
> + or will round down. Range 0~31*170.
> + For MT2712 RMII/MII interface, Allowed value need to be a multiple of 550,
> + or will round down. Range 0~31*550.
> +
> + mediatek,rmii-rxc:
> + type: boolean
> + description:
> + If present, indicates that the RMII reference clock, which is from external
> + PHYs, is connected to RXC pin. Otherwise, is connected to TXC pin.
> +
> + mediatek,rmii-clk-from-mac:
> + type: boolean
> + description:
> + If present, indicates that MAC provides the RMII reference clock, which
> + outputs to TXC pin only.
> +
> + mediatek,txc-inverse:
> + type: boolean
> + description:
> + If present, indicates that
> + 1. tx clock will be inversed in MII/RGMII case,
> + 2. tx clock inside MAC will be inversed relative to reference clock
> + which is from external PHYs in RMII case, and it rarely happen.
> + 3. the reference clock, which outputs to TXC pin will be inversed in RMII case
> + when the reference clock is from MAC.
> +
> + mediatek,rxc-inverse:
> + type: boolean
> + description:
> + If present, indicates that
> + 1. rx clock will be inversed in MII/RGMII case.
> + 2. reference clock will be inversed when arrived at MAC in RMII case, when
> + the reference clock is from external PHYs.
> + 3. the inside clock, which be sent to MAC, will be inversed in RMII case when
> + the reference clock is from MAC.
> +
> +required:
> + - compatible
> + - reg
> + - interrupts
> + - interrupt-names
> + - clocks
> + - clock-names
> + - phy-mode
> + - mediatek,pericfg
> +
> +unevaluatedProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/clock/mt2712-clk.h>
> + #include <dt-bindings/gpio/gpio.h>
> + #include <dt-bindings/interrupt-controller/arm-gic.h>
> + #include <dt-bindings/interrupt-controller/irq.h>
> + #include <dt-bindings/power/mt2712-power.h>
> +
> + eth: ethernet@1101c000 {
> + compatible = "mediatek,mt2712-gmac", "snps,dwmac-4.20a";
> + reg = <0x1101c000 0x1300>;
> + interrupts = <GIC_SPI 237 IRQ_TYPE_LEVEL_LOW>;
> + interrupt-names = "macirq";
> + phy-mode ="rgmii-rxid";
> + mac-address = [00 55 7b b5 7d f7];
> + clock-names = "axi",
> + "apb",
> + "mac_main",
> + "ptp_ref",
> + "rmii_internal";
> + clocks = <&pericfg CLK_PERI_GMAC>,
> + <&pericfg CLK_PERI_GMAC_PCLK>,
> + <&topckgen CLK_TOP_ETHER_125M_SEL>,
> + <&topckgen CLK_TOP_ETHER_50M_SEL>,
> + <&topckgen CLK_TOP_ETHER_50M_RMII_SEL>;
> + assigned-clocks = <&topckgen CLK_TOP_ETHER_125M_SEL>,
> + <&topckgen CLK_TOP_ETHER_50M_SEL>,
> + <&topckgen CLK_TOP_ETHER_50M_RMII_SEL>;
> + assigned-clock-parents = <&topckgen CLK_TOP_ETHERPLL_125M>,
> + <&topckgen CLK_TOP_APLL1_D3>,
> + <&topckgen CLK_TOP_ETHERPLL_50M>;
> + power-domains = <&scpsys MT2712_POWER_DOMAIN_AUDIO>;
> + mediatek,pericfg = <&pericfg>;
> + mediatek,tx-delay-ps = <1530>;
> + snps,txpbl = <1>;
> + snps,rxpbl = <1>;
> + snps,reset-gpio = <&pio 87 GPIO_ACTIVE_LOW>;
> + snps,reset-delays-us = <0 10000 10000>;
> + };
> --
> 2.25.1
>
>
next prev parent reply other threads:[~2021-11-29 0:03 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-11-12 9:39 [PATCH v3 0/7] MediaTek Ethernet Patches on MT8195 Biao Huang
2021-11-12 9:39 ` [PATCH v3 1/7] net-next: stmmac: dwmac-mediatek: add platform level clocks management Biao Huang
2021-11-12 9:39 ` [PATCH v3 2/7] net-next: stmmac: dwmac-mediatek: Reuse more common features Biao Huang
2021-11-12 9:39 ` [PATCH v3 3/7] arm64: dts: mt2712: update ethernet device node Biao Huang
2021-11-12 9:39 ` [PATCH v3 4/7] net-next: dt-bindings: dwmac: Convert mediatek-dwmac to DT schema Biao Huang
2021-11-12 13:48 ` Rob Herring
2021-11-15 1:39 ` Biao Huang
2021-11-17 15:11 ` Matthias Brugger
2021-11-18 3:09 ` Biao Huang
2021-11-28 23:57 ` Rob Herring
2021-11-29 1:46 ` Biao Huang
2021-11-28 23:59 ` Rob Herring [this message]
2021-11-29 1:44 ` Biao Huang
2021-11-12 9:39 ` [PATCH v3 5/7] net-next: stmmac: dwmac-mediatek: add support for mt8195 Biao Huang
2021-11-12 9:39 ` [PATCH v3 6/7] arm64: dts: mt8195: add ethernet device node Biao Huang
2021-11-12 9:39 ` [PATCH v3 7/7] net-next: dt-bindings: dwmac: add support for mt8195 Biao Huang
2021-11-12 13:48 ` Rob Herring
2021-11-29 0:05 ` Rob Herring
2021-11-29 1:35 ` Biao Huang
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=YaQX2N05WsZxXOgX@robh.at.kernel.org \
--to=robh@kernel.org \
--cc=alexandre.torgue@foss.st.com \
--cc=angelogioacchino.delregno@collabora.com \
--cc=biao.huang@mediatek.com \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=dkirjanov@suse.de \
--cc=joabreu@synopsys.com \
--cc=kuba@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=linux-stm32@st-md-mailman.stormreply.com \
--cc=macpaul.lin@mediatek.com \
--cc=matthias.bgg@gmail.com \
--cc=mcoquelin.stm32@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=peppe.cavallaro@st.com \
--cc=srv_heupstream@mediatek.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).