Message ID | 20211112093918.11061-8-biao.huang@mediatek.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | MediaTek Ethernet Patches on MT8195 | expand |
On Fri, 12 Nov 2021 17:39:18 +0800, Biao Huang wrote: > Add binding document for the ethernet on mt8195. > > Signed-off-by: Biao Huang <biao.huang@mediatek.com> > --- > .../bindings/net/mediatek-dwmac.yaml | 86 +++++++++++++++---- > 1 file changed, 70 insertions(+), 16 deletions(-) > Running 'make dtbs_check' with the schema in this patch gives the following warnings. Consider if they are expected or the schema is incorrect. These may not be new warnings. Note that it is not yet a requirement to have 0 warnings for dtbs_check. This will change in the future. Full log is available here: https://patchwork.ozlabs.org/patch/1554230 ethernet@1101c000: clock-names: ['axi', 'apb', 'mac_main', 'ptp_ref'] is too short arch/arm64/boot/dts/mediatek/mt2712-evb.dt.yaml ethernet@1101c000: clocks: [[27, 34], [27, 37], [6, 154], [6, 155]] is too short arch/arm64/boot/dts/mediatek/mt2712-evb.dt.yaml ethernet@1101c000: compatible: ['mediatek,mt2712-gmac'] does not contain items matching the given schema arch/arm64/boot/dts/mediatek/mt2712-evb.dt.yaml ethernet@1101c000: compatible: 'oneOf' conditional failed, one must be fixed: arch/arm64/boot/dts/mediatek/mt2712-evb.dt.yaml
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@mediatek.com> > --- > .../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. > + > + 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 > >
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@mediatek.com> > > --- > > .../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 > > > >
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 + + 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
Add binding document for the ethernet on mt8195. Signed-off-by: Biao Huang <biao.huang@mediatek.com> --- .../bindings/net/mediatek-dwmac.yaml | 86 +++++++++++++++---- 1 file changed, 70 insertions(+), 16 deletions(-)