On Wed, Dec 06, 2023 at 11:59:54AM +0100, AngeloGioacchino Del Regno wrote: > Il 06/12/23 01:57, Daniel Golle ha scritto: > > Add various clock controllers found in the MT7988 SoC to existing > > bindings (if applicable) and add files for the new ethwarp, mcusys > > and xfi-pll clock controllers not previously present in any SoC. > > > > Signed-off-by: Daniel Golle <daniel@xxxxxxxxxxxxxx> > > --- > > v3: > > * move clock bindings to clock folder > > * drop ti,syscon-reset from bindings and example > > * merge mcusys with topckgen bindings > > > > v2: > > * dropped unused labels > > * add 'type: object' declaration for reset-controller found in new > > ethwarp controller and represented as ti,syscon-reset > > * rebase on top of > > "dt-bindings: arm: mediatek: move ethsys controller & convert to DT schema" > > > > .../arm/mediatek/mediatek,infracfg.yaml | 1 + > > .../bindings/clock/mediatek,apmixedsys.yaml | 1 + > > .../bindings/clock/mediatek,ethsys.yaml | 1 + > > .../clock/mediatek,mt7988-ethwarp.yaml | 49 +++++++++++++++++++ > > .../clock/mediatek,mt7988-xfi-pll.yaml | 48 ++++++++++++++++++ > > .../bindings/clock/mediatek,topckgen.yaml | 2 + > > .../bindings/net/pcs/mediatek,sgmiisys.yaml | 13 +++-- > > 7 files changed, 112 insertions(+), 3 deletions(-) > > create mode 100644 Documentation/devicetree/bindings/clock/mediatek,mt7988-ethwarp.yaml > > create mode 100644 Documentation/devicetree/bindings/clock/mediatek,mt7988-xfi-pll.yaml > > > > diff --git a/Documentation/devicetree/bindings/arm/mediatek/mediatek,infracfg.yaml b/Documentation/devicetree/bindings/arm/mediatek/mediatek,infracfg.yaml > > index ea98043c6ba3d..230b5188a88db 100644 > > --- a/Documentation/devicetree/bindings/arm/mediatek/mediatek,infracfg.yaml > > +++ b/Documentation/devicetree/bindings/arm/mediatek/mediatek,infracfg.yaml > > @@ -30,6 +30,7 @@ properties: > > - mediatek,mt7629-infracfg > > - mediatek,mt7981-infracfg > > - mediatek,mt7986-infracfg > > + - mediatek,mt7988-infracfg > > - mediatek,mt8135-infracfg > > - mediatek,mt8167-infracfg > > - mediatek,mt8173-infracfg > > diff --git a/Documentation/devicetree/bindings/clock/mediatek,apmixedsys.yaml b/Documentation/devicetree/bindings/clock/mediatek,apmixedsys.yaml > > index 372c1d744bc27..685535846cbb7 100644 > > --- a/Documentation/devicetree/bindings/clock/mediatek,apmixedsys.yaml > > +++ b/Documentation/devicetree/bindings/clock/mediatek,apmixedsys.yaml > > @@ -22,6 +22,7 @@ properties: > > - mediatek,mt7622-apmixedsys > > - mediatek,mt7981-apmixedsys > > - mediatek,mt7986-apmixedsys > > + - mediatek,mt7988-apmixedsys > > - mediatek,mt8135-apmixedsys > > - mediatek,mt8173-apmixedsys > > - mediatek,mt8516-apmixedsys > > diff --git a/Documentation/devicetree/bindings/clock/mediatek,ethsys.yaml b/Documentation/devicetree/bindings/clock/mediatek,ethsys.yaml > > index 94d42c8647777..f9cddacc2eae1 100644 > > --- a/Documentation/devicetree/bindings/clock/mediatek,ethsys.yaml > > +++ b/Documentation/devicetree/bindings/clock/mediatek,ethsys.yaml > > @@ -22,6 +22,7 @@ properties: > > - mediatek,mt7629-ethsys > > - mediatek,mt7981-ethsys > > - mediatek,mt7986-ethsys > > + - mediatek,mt7988-ethsys > > - const: syscon > > - items: > > - const: mediatek,mt7623-ethsys > > diff --git a/Documentation/devicetree/bindings/clock/mediatek,mt7988-ethwarp.yaml b/Documentation/devicetree/bindings/clock/mediatek,mt7988-ethwarp.yaml > > new file mode 100644 > > index 0000000000000..9b919a155eb13 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/clock/mediatek,mt7988-ethwarp.yaml > > @@ -0,0 +1,49 @@ > > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > > +%YAML 1.2 > > +--- > > +$id: http://devicetree.org/schemas/arm/mediatek/mediatek,mt7988-ethwarp.yaml# > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > + > > +title: MediaTek MT7988 ethwarp Controller > > + > > +maintainers: > > + - Daniel Golle <daniel@xxxxxxxxxxxxxx> > > + > > +description: > > + The Mediatek MT7988 ethwarp controller provides clocks and resets for the > > + Ethernet related subsystems found the MT7988 SoC. > > + The clock values can be found in <dt-bindings/clock/mt*-clk.h>. > > + > > +properties: > > + compatible: > > + items: > > + - const: mediatek,mt7988-ethwarp > > + - const: syscon > > + - const: simple-mfd > > No, this is not a mfd, I say. > > Prove me wrong! :-) https://github.com/dangowrt/linux/blob/mt7988-for-next/arch/arm64/boot/dts/mediatek/mt7988a.dtsi#L564 The 'simple-mfd' compatible is required to have the Linux kernel probe drivers for sub-nodes -- several drivers will act on the different aspects of the circuit exposed at this memory range. >From what I understand, this is the definition of a MFD. > > ..snip.. > > > diff --git a/Documentation/devicetree/bindings/net/pcs/mediatek,sgmiisys.yaml b/Documentation/devicetree/bindings/net/pcs/mediatek,sgmiisys.yaml > > index 66a95191bd776..68632cda334bd 100644 > > --- a/Documentation/devicetree/bindings/net/pcs/mediatek,sgmiisys.yaml > > +++ b/Documentation/devicetree/bindings/net/pcs/mediatek,sgmiisys.yaml > > @@ -15,15 +15,22 @@ description: > > properties: > > compatible: > > - items: > > - - enum: > > + oneOf: > > + - items: > > + - enum: > > - mediatek,mt7622-sgmiisys > > - mediatek,mt7629-sgmiisys > > - mediatek,mt7981-sgmiisys_0 > > - mediatek,mt7981-sgmiisys_1 > > - mediatek,mt7986-sgmiisys_0 > > - mediatek,mt7986-sgmiisys_1 > > - - const: syscon > > + - const: syscon > > + - items: > > + - enum: > > + - mediatek,mt7988-sgmiisys_0 > > + - mediatek,mt7988-sgmiisys_1 > > + - const: syscon > > + - const: simple-mfd > > Same. > > Cheers, > Angelo