123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260 |
- From afd36e9d91b0a840983b829a9e95407d8151f7e7 Mon Sep 17 00:00:00 2001
- From: Daniel Golle <[email protected]>
- Date: Sun, 17 Dec 2023 21:49:55 +0000
- Subject: [PATCH 2/4] dt-bindings: clock: mediatek: add clock controllers of
- MT7988
- 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 <[email protected]>
- Reviewed-by: AngeloGioacchino Del Regno <[email protected]>
- Link: https://lore.kernel.org/r/07e76a544ce4392bcb88e34d5480e99bb7994618.1702849494.git.daniel@makrotopia.org
- Reviewed-by: Krzysztof Kozlowski <[email protected]>
- Signed-off-by: Stephen Boyd <[email protected]>
- ---
- .../arm/mediatek/mediatek,infracfg.yaml | 1 +
- .../bindings/clock/mediatek,apmixedsys.yaml | 1 +
- .../bindings/clock/mediatek,ethsys.yaml | 1 +
- .../clock/mediatek,mt7988-ethwarp.yaml | 52 +++++++++++++++
- .../clock/mediatek,mt7988-xfi-pll.yaml | 48 ++++++++++++++
- .../bindings/clock/mediatek,topckgen.yaml | 2 +
- .../bindings/net/pcs/mediatek,sgmiisys.yaml | 65 ++++++++++++++++---
- 7 files changed, 161 insertions(+), 9 deletions(-)
- create mode 100644 Documentation/devicetree/bindings/clock/mediatek,mt7988-ethwarp.yaml
- create mode 100644 Documentation/devicetree/bindings/clock/mediatek,mt7988-xfi-pll.yaml
- --- 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
- --- 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
- --- 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
- --- /dev/null
- +++ b/Documentation/devicetree/bindings/clock/mediatek,mt7988-ethwarp.yaml
- @@ -0,0 +1,52 @@
- +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
- +%YAML 1.2
- +---
- +$id: http://devicetree.org/schemas/clock/mediatek,mt7988-ethwarp.yaml#
- +$schema: http://devicetree.org/meta-schemas/core.yaml#
- +
- +title: MediaTek MT7988 ethwarp Controller
- +
- +maintainers:
- + - Daniel Golle <[email protected]>
- +
- +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
- +
- + reg:
- + maxItems: 1
- +
- + '#clock-cells':
- + const: 1
- +
- + '#reset-cells':
- + const: 1
- +
- +required:
- + - compatible
- + - reg
- + - '#clock-cells'
- + - '#reset-cells'
- +
- +additionalProperties: false
- +
- +examples:
- + - |
- + #include <dt-bindings/reset/ti-syscon.h>
- + soc {
- + #address-cells = <2>;
- + #size-cells = <2>;
- +
- + clock-controller@15031000 {
- + compatible = "mediatek,mt7988-ethwarp";
- + reg = <0 0x15031000 0 0x1000>;
- + #clock-cells = <1>;
- + #reset-cells = <1>;
- + };
- + };
- --- /dev/null
- +++ b/Documentation/devicetree/bindings/clock/mediatek,mt7988-xfi-pll.yaml
- @@ -0,0 +1,48 @@
- +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
- +%YAML 1.2
- +---
- +$id: http://devicetree.org/schemas/clock/mediatek,mt7988-xfi-pll.yaml#
- +$schema: http://devicetree.org/meta-schemas/core.yaml#
- +
- +title: MediaTek MT7988 XFI PLL Clock Controller
- +
- +maintainers:
- + - Daniel Golle <[email protected]>
- +
- +description:
- + The MediaTek XFI PLL controller provides the 156.25MHz clock for the
- + Ethernet SerDes PHY from the 40MHz top_xtal clock.
- +
- +properties:
- + compatible:
- + const: mediatek,mt7988-xfi-pll
- +
- + reg:
- + maxItems: 1
- +
- + resets:
- + maxItems: 1
- +
- + '#clock-cells':
- + const: 1
- +
- +required:
- + - compatible
- + - reg
- + - resets
- + - '#clock-cells'
- +
- +additionalProperties: false
- +
- +examples:
- + - |
- + soc {
- + #address-cells = <2>;
- + #size-cells = <2>;
- + clock-controller@11f40000 {
- + compatible = "mediatek,mt7988-xfi-pll";
- + reg = <0 0x11f40000 0 0x1000>;
- + resets = <&watchdog 16>;
- + #clock-cells = <1>;
- + };
- + };
- --- a/Documentation/devicetree/bindings/clock/mediatek,topckgen.yaml
- +++ b/Documentation/devicetree/bindings/clock/mediatek,topckgen.yaml
- @@ -37,6 +37,8 @@ properties:
- - mediatek,mt7629-topckgen
- - mediatek,mt7981-topckgen
- - mediatek,mt7986-topckgen
- + - mediatek,mt7988-mcusys
- + - mediatek,mt7988-topckgen
- - mediatek,mt8167-topckgen
- - mediatek,mt8183-topckgen
- - const: syscon
- --- 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:
- - - mediatek,mt7622-sgmiisys
- - - mediatek,mt7629-sgmiisys
- - - mediatek,mt7981-sgmiisys_0
- - - mediatek,mt7981-sgmiisys_1
- - - mediatek,mt7986-sgmiisys_0
- - - mediatek,mt7986-sgmiisys_1
- - - const: syscon
- + 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
- + - items:
- + - enum:
- + - mediatek,mt7988-sgmiisys0
- + - mediatek,mt7988-sgmiisys1
- + - const: simple-mfd
- + - const: syscon
-
- reg:
- maxItems: 1
- @@ -35,11 +42,51 @@ properties:
- description: Invert polarity of the SGMII data lanes
- type: boolean
-
- + pcs:
- + type: object
- + description: MediaTek LynxI HSGMII PCS
- + properties:
- + compatible:
- + const: mediatek,mt7988-sgmii
- +
- + clocks:
- + maxItems: 3
- +
- + clock-names:
- + items:
- + - const: sgmii_sel
- + - const: sgmii_tx
- + - const: sgmii_rx
- +
- + required:
- + - compatible
- + - clocks
- + - clock-names
- +
- + additionalProperties: false
- +
- required:
- - compatible
- - reg
- - '#clock-cells'
-
- +allOf:
- + - if:
- + properties:
- + compatible:
- + contains:
- + enum:
- + - mediatek,mt7988-sgmiisys0
- + - mediatek,mt7988-sgmiisys1
- +
- + then:
- + required:
- + - pcs
- +
- + else:
- + properties:
- + pcs: false
- +
- additionalProperties: false
-
- examples:
|