261 lines
7.4 KiB
Diff
261 lines
7.4 KiB
Diff
From afd36e9d91b0a840983b829a9e95407d8151f7e7 Mon Sep 17 00:00:00 2001
|
|
From: Daniel Golle <daniel@makrotopia.org>
|
|
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 <daniel@makrotopia.org>
|
|
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
|
|
Link: https://lore.kernel.org/r/07e76a544ce4392bcb88e34d5480e99bb7994618.1702849494.git.daniel@makrotopia.org
|
|
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
|
|
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
|
|
---
|
|
.../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 <daniel@makrotopia.org>
|
|
+
|
|
+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 <daniel@makrotopia.org>
|
|
+
|
|
+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:
|