Re: [PATCH v3 7/7] net-next: dt-bindings: dwmac: add support for mt8195
From: Biao Huang
Date: Sun Nov 28 2021 - 20:37:40 EST
Dear Rob,
Thanks for your comments~
On Sun, 2021-11-28 at 18:05 -0600, Rob Herring wrote:
> On Fri, Nov 12, 2021 at 05:39:18PM +0800, Biao Huang wrote:
> > Add binding document for the ethernet on mt8195.
> >
> > Signed-off-by: Biao Huang <biao.huang@xxxxxxxxxxxx>
> > ---
> > .../bindings/net/mediatek-dwmac.yaml | 86
> > +++++++++++++++----
> > 1 file changed, 70 insertions(+), 16 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/net/mediatek-
> > dwmac.yaml b/Documentation/devicetree/bindings/net/mediatek-
> > dwmac.yaml
> > index 2eb4781536f7..b27566ed01c6 100644
> > --- a/Documentation/devicetree/bindings/net/mediatek-dwmac.yaml
> > +++ b/Documentation/devicetree/bindings/net/mediatek-dwmac.yaml
> > @@ -19,12 +19,68 @@ select:
> > contains:
> > enum:
> > - mediatek,mt2712-gmac
> > + - mediatek,mt8195-gmac
> > required:
> > - compatible
> >
> > allOf:
> > - $ref: "snps,dwmac.yaml#"
> > - $ref: "ethernet-controller.yaml#"
> > + - 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
>
> Put mac_cg at the end and then the difference is just 5 or 6 clocks
> and
> you don't have to duplicate everything.
>
There is a special clock -- rmii_internal at the end now, and we'll
enable/disable it in our driver, according to whether phy interface is
RMII, which means invoking clk_bulk_xxx() with parament:
sizeof(clock_list) or (sizeof(clock_list) - 1).
And the Ethernet related clock list may be different due to some
limitation or rule in different IC, we think current arrangement will
make it clear.(If some ICs share the same clock list, put them in the
same if condition)
Thanks~
>
> > +
> > + clock-names:
> > + minItems: 6
> > + items:
> > + - const: axi
> > + - const: apb
> > + - const: mac_cg
> > + - const: mac_main
> > + - const: ptp_ref
> > + - const: rmii_internal
> >
> > properties:
> > compatible:
> > @@ -33,22 +89,10 @@ properties:
> > - 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
> > + - items:
> > + - enum:
> > + - mediatek,mt8195-gmac
> > + - const: snps,dwmac-5.10a
> >
> > mediatek,pericfg:
> > $ref: /schemas/types.yaml#/definitions/phandle
> > @@ -63,6 +107,8 @@ properties:
> > 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.
> > + For MT8195 RGMII/RMII/MII interface, Allowed value need to
> > be a multiple of 290,
> > + or will round down. Range 0~31*290.
> >
> > mediatek,rx-delay-ps:
> > description:
> > @@ -71,6 +117,8 @@ properties:
> > 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.
> > + For MT8195 RGMII/RMII/MII interface, Allowed value need to
> > be a multiple
> > + of 290, or will round down. Range 0~31*290.
> >
> > mediatek,rmii-rxc:
> > type: boolean
> > @@ -104,6 +152,12 @@ properties:
> > 3. the inside clock, which be sent to MAC, will be inversed
> > in RMII case when
> > the reference clock is from MAC.
> >
> > + mediatek,mac-wol:
> > + type: boolean
> > + description:
> > + If present, indicates that MAC supports WOL(Wake-On-LAN),
> > and MAC WOL will be enabled.
> > + Otherwise, PHY WOL is perferred.
> > +
> > required:
> > - compatible
> > - reg
> > --
> > 2.25.1
> >
> >