[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <14636842a61bb7631584315901bcc06ccbdb0f90.camel@mediatek.com>
Date: Fri, 14 Jan 2022 13:38:24 +0800
From: Biao Huang <biao.huang@...iatek.com>
To: Rob Herring <robh@...nel.org>
CC: srv_heupstream <srv_heupstream@...iatek.com>,
linux-arm-kernel <linux-arm-kernel@...ts.infradead.org>,
David Miller <davem@...emloft.net>,
"moderated list:ARM/STM32 ARCHITECTURE"
<linux-stm32@...md-mailman.stormreply.com>,
AngeloGioacchino Del Regno
<angelogioacchino.delregno@...labora.com>,
Alexandre Torgue <alexandre.torgue@...s.st.com>,
Matthias Brugger <matthias.bgg@...il.com>,
"moderated list:ARM/Mediatek SoC support"
<linux-mediatek@...ts.infradead.org>,
Giuseppe Cavallaro <peppe.cavallaro@...com>,
Jose Abreu <joabreu@...opsys.com>,
netdev <netdev@...r.kernel.org>, <dkirjanov@...e.de>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Macpaul Lin <macpaul.lin@...iatek.com>,
Maxime Coquelin <mcoquelin.stm32@...il.com>,
<devicetree@...r.kernel.org>, Jakub Kicinski <kuba@...nel.org>
Subject: Re: [PATCH net-next v10 6/6] net: dt-bindings: dwmac: add support
for mt8195
On Tue, 2022-01-11 at 17:36 -0600, Rob Herring wrote:
> On Thu, Dec 16, 2021 at 8:06 PM Biao Huang <biao.huang@...iatek.com>
> wrote:
> >
> > Dear Rob,
> > Thanks for your comments~
> >
> > For mt8195, the eth device node will look like:
> > eth: ethernet@...21000 {
> > compatible = "mediatek,mt8195-gmac", "snps,dwmac-5.10a";
> > ...
> > clock-names = "axi",
> > "apb",
> > "mac_cg",
> > "mac_main",
> > "ptp_ref",
> > "rmii_internal";
> > clocks = <&pericfg_ao CLK_PERI_AO_ETHERNET>,
> > <&pericfg_ao CLK_PERI_AO_ETHERNET_BUS>,
> > <&pericfg_ao CLK_PERI_AO_ETHERNET_MAC>,
> > <&topckgen CLK_TOP_SNPS_ETH_250M>,
> > <&topckgen CLK_TOP_SNPS_ETH_62P4M_PTP>,
> > <&topckgen CLK_TOP_SNPS_ETH_50M_RMII>;
> > ...
> > }
> >
> > 1. "rmii_internal" is a special clock only required for
> > RMII phy interface, dwmac-mediatek.c will enable clocks
> > invoking clk_bulk_prepare_enable(xx, 6) for RMII,
> > and clk_bulk_prepare_enable(xx, 5) for other phy interfaces.
> > so, mt2712/mt8195 all put "rmii_internal" clock to the
> > end of clock list to simplify clock handling.
> >
> > If I put mac_cg as described above, a if condition is required
> > for clocks description in dt-binding, just like what I do in v7
> > send:
> > - if:
> > properties:
> > compatible:
> > contains:
> > enum:
> > - mediatek,mt2712-gmac
> >
> > then:
> > properties:
> > clocks:
> > minItems: 5
> > items:
> > - description: AXI clock
> > - description: APB clock
> > - description: MAC Main clock
> > - description: PTP clock
> > - description: RMII reference clock provided by MAC
> >
> > clock-names:
> > minItems: 5
> > items:
> > - const: axi
> > - const: apb
> > - const: mac_main
> > - const: ptp_ref
> > - const: rmii_internal
> >
> > - if:
> > properties:
> > compatible:
> > contains:
> > enum:
> > - mediatek,mt8195-gmac
> >
> > then:
> > properties:
> > clocks:
> > minItems: 6
> > items:
> > - description: AXI clock
> > - description: APB clock
> > - description: MAC clock gate
> > - description: MAC Main clock
> > - description: PTP clock
> > - description: RMII reference clock provided by MAC
> >
> > This introduces some duplicated description.
> >
> > 2. If I put "mac_cg" to the end of clock list,
> > the dt-binding file can be simple just like
> > what we do in this v10 patch(need fix warnings reported by "make
> > DT_CHECKER_FLAGS=-m dt_binding_check").
> >
> > But for mt8195:
> > the eth node in dts should be modified,
>
> I hope you are defining the binding before you use it... That's not
> good practice and not a valid argument.
>
> > and eth driver clock handling will be complex;
>
> How so?
>
> Rob
OK, I'll add a driver patch to make clock setting more reasonable,
and modify this patch as previous comments.
Thanks for your comments~
Powered by blists - more mailing lists