All of lore.kernel.org
 help / color / mirror / Atom feed
From: Johan Jonker <jbx6244@gmail.com>
To: heiko@sntech.de
Cc: robh+dt@kernel.org, kishon@ti.com, vkoul@kernel.org,
	p.zabel@pengutronix.de, lee.jones@linaro.org,
	yifeng.zhao@rock-chips.com, kever.yang@rock-chips.com,
	cl@rock-chips.com, linux-phy@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org,
	linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: [RFC PATCH v6 2/4] dt-bindings: phy: rockchip: add naneng multi phy bindings
Date: Wed, 22 Dec 2021 22:30:30 +0100	[thread overview]
Message-ID: <20211222213032.7678-3-jbx6244@gmail.com> (raw)
In-Reply-To: <20211222213032.7678-1-jbx6244@gmail.com>

From: Yifeng Zhao <yifeng.zhao@rock-chips.com>

Add the compatible strings for the Naneng multi phy found on Rockchip SoCs.

Signed-off-by: Yifeng Zhao <yifeng.zhao@rock-chips.com>
Signed-off-by: Johan Jonker <jbx6244@gmail.com>
---

Changes in v6:
- change from comb to multi phy
- add parent node
- change compatible strings
- remove rockchip,sgmii-mac-sel
- remove rockchip,dis-u3otg0-port
- remove rockchip,dis-u3otg1-port

Changes in v5:
- modify description for ssc and ext-refclk
- remove apb reset

Changes in v4:
- restyle
- remove some minItems
- add more properties
- remove reset-names
- move #phy-cells
- add rockchip,rk3568-pipe-grf
- add rockchip,rk3568-pipe-phy-grf

Changes in v3: None

Changes in v2:
- Fix dtschema/dtc warnings/errors
---
 .../phy/phy-rockchip-naneng-multiphy.yaml     | 167 ++++++++++++++++++
 1 file changed, 167 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/phy/phy-rockchip-naneng-multiphy.yaml

diff --git a/Documentation/devicetree/bindings/phy/phy-rockchip-naneng-multiphy.yaml b/Documentation/devicetree/bindings/phy/phy-rockchip-naneng-multiphy.yaml
new file mode 100644
index 000000000..40ec1b240
--- /dev/null
+++ b/Documentation/devicetree/bindings/phy/phy-rockchip-naneng-multiphy.yaml
@@ -0,0 +1,167 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/phy/phy-rockchip-naneng-multiphy.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Rockchip SoC Naneng Multi Phy Device Tree Bindings
+
+maintainers:
+  - Heiko Stuebner <heiko@sntech.de>
+
+properties:
+  compatible:
+    enum:
+      - rockchip,rk3566-naneng-multiphy
+      - rockchip,rk3568-naneng-multiphy
+
+  rockchip,pipe-grf:
+    $ref: /schemas/types.yaml#/definitions/phandle
+    description:
+      Some additional phy settings are accessed through GRF regs.
+
+  "#address-cells":
+    const: 2
+
+  "#size-cells":
+    const: 2
+
+required:
+  - compatible
+  - "#address-cells"
+  - "#size-cells"
+
+additionalProperties: false
+
+patternProperties:
+  "multi-phy@[0-9a-f]+$":
+    type: object
+
+    properties:
+      reg:
+        maxItems: 1
+
+      clocks:
+        items:
+          - description: reference clock
+          - description: apb clock
+          - description: pipe clock
+
+      clock-names:
+        items:
+          - const: ref
+          - const: apb
+          - const: pipe
+
+      resets:
+        items:
+          - description: exclusive PHY reset line
+
+      rockchip,enable-ssc:
+        type: boolean
+        description:
+          The option SSC can be enabled for U3, SATA and PCIE.
+          Most commercially available platforms use SSC to reduce EMI.
+
+      rockchip,ext-refclk:
+        type: boolean
+        description:
+          Many PCIe connections, especially backplane connections,
+          require a synchronous reference clock between the two link partners.
+          To achieve this a common clock source, referred to as REFCLK in
+          the PCI Express Card Electromechanical Specification,
+          should be used by both ends of the PCIe link.
+          In PCIe mode one can choose to use an internal
+          or an external reference clock.
+          By default the internal clock is selected. The PCIe PHY provides a 100MHz
+          differential clock output(optional with SSC) for system applications.
+          When selecting this option an externally 100MHz differential
+          reference clock needs to be provided to the PCIe PHY.
+
+      rockchip,pipe-phy-grf:
+        $ref: /schemas/types.yaml#/definitions/phandle
+        description:
+          Some additional pipe settings are accessed through GRF regs.
+
+      "#phy-cells":
+        const: 1
+
+    required:
+      - reg
+      - clocks
+      - clock-names
+      - resets
+      - rockchip,pipe-phy-grf
+      - "#phy-cells"
+
+    additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/clock/rk3568-cru.h>
+
+    pipegrf: syscon@fdc50000 {
+      compatible = "rockchip,rk3568-pipe-grf", "syscon";
+      reg = <0xfdc50000 0x1000>;
+    };
+
+    pipe_phy_grf0: syscon@fdc70000 {
+      compatible = "rockchip,rk3568-pipe-phy-grf", "syscon";
+      reg = <0xfdc70000 0x1000>;
+    };
+
+    pipe_phy_grf1: syscon@fdc80000 {
+      compatible = "rockchip,rk3568-pipe-phy-grf", "syscon";
+      reg = <0xfdc80000 0x1000>;
+    };
+
+    pipe_phy_grf2: syscon@fdc90000 {
+      compatible = "rockchip,rk3568-pipe-phy-grf", "syscon";
+      reg = <0xfdc90000 0x1000>;
+    };
+
+    multiphy: multiphy {
+      compatible = "rockchip,rk3568-naneng-multiphy";
+      rockchip,pipe-grf = <&pipegrf>;
+      #address-cells = <2>;
+      #size-cells = <2>;
+
+      multiphy0: multi-phy@fe820000 {
+        reg = <0x0 0xfe820000 0x0 0x100>;
+        clocks = <&pmucru CLK_PCIEPHY0_REF>,
+                 <&cru PCLK_PIPEPHY0>,
+                 <&cru PCLK_PIPE>;
+        clock-names = "ref", "apb", "pipe";
+        assigned-clocks = <&pmucru CLK_PCIEPHY0_REF>;
+        assigned-clock-rates = <100000000>;
+        resets = <&cru SRST_PIPEPHY0>;
+        rockchip,pipe-phy-grf = <&pipe_phy_grf0>;
+        #phy-cells = <1>;
+      };
+
+      multiphy1: multi-phy@fe830000 {
+        reg = <0x0 0xfe830000 0x0 0x100>;
+        clocks = <&pmucru CLK_PCIEPHY1_REF>,
+                 <&cru PCLK_PIPEPHY1>,
+                 <&cru PCLK_PIPE>;
+        clock-names = "ref", "apb", "pipe";
+        assigned-clocks = <&pmucru CLK_PCIEPHY1_REF>;
+        assigned-clock-rates = <100000000>;
+        resets = <&cru SRST_PIPEPHY1>;
+        rockchip,pipe-phy-grf = <&pipe_phy_grf1>;
+        #phy-cells = <1>;
+      };
+
+      multiphy2: multi-phy@fe840000 {
+        reg = <0x0 0xfe840000 0x0 0x100>;
+        clocks = <&pmucru CLK_PCIEPHY2_REF>,
+                 <&cru PCLK_PIPEPHY2>,
+                 <&cru PCLK_PIPE>;
+        clock-names = "ref", "apb", "pipe";
+        assigned-clocks = <&pmucru CLK_PCIEPHY2_REF>;
+        assigned-clock-rates = <100000000>;
+        resets = <&cru SRST_PIPEPHY2>;
+        rockchip,pipe-phy-grf = <&pipe_phy_grf2>;
+        #phy-cells = <1>;
+      };
+    };
-- 
2.20.1


-- 
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy

WARNING: multiple messages have this Message-ID (diff)
From: Johan Jonker <jbx6244@gmail.com>
To: heiko@sntech.de
Cc: robh+dt@kernel.org, kishon@ti.com, vkoul@kernel.org,
	p.zabel@pengutronix.de, lee.jones@linaro.org,
	yifeng.zhao@rock-chips.com, kever.yang@rock-chips.com,
	cl@rock-chips.com, linux-phy@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org,
	linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: [RFC PATCH v6 2/4] dt-bindings: phy: rockchip: add naneng multi phy bindings
Date: Wed, 22 Dec 2021 22:30:30 +0100	[thread overview]
Message-ID: <20211222213032.7678-3-jbx6244@gmail.com> (raw)
In-Reply-To: <20211222213032.7678-1-jbx6244@gmail.com>

From: Yifeng Zhao <yifeng.zhao@rock-chips.com>

Add the compatible strings for the Naneng multi phy found on Rockchip SoCs.

Signed-off-by: Yifeng Zhao <yifeng.zhao@rock-chips.com>
Signed-off-by: Johan Jonker <jbx6244@gmail.com>
---

Changes in v6:
- change from comb to multi phy
- add parent node
- change compatible strings
- remove rockchip,sgmii-mac-sel
- remove rockchip,dis-u3otg0-port
- remove rockchip,dis-u3otg1-port

Changes in v5:
- modify description for ssc and ext-refclk
- remove apb reset

Changes in v4:
- restyle
- remove some minItems
- add more properties
- remove reset-names
- move #phy-cells
- add rockchip,rk3568-pipe-grf
- add rockchip,rk3568-pipe-phy-grf

Changes in v3: None

Changes in v2:
- Fix dtschema/dtc warnings/errors
---
 .../phy/phy-rockchip-naneng-multiphy.yaml     | 167 ++++++++++++++++++
 1 file changed, 167 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/phy/phy-rockchip-naneng-multiphy.yaml

diff --git a/Documentation/devicetree/bindings/phy/phy-rockchip-naneng-multiphy.yaml b/Documentation/devicetree/bindings/phy/phy-rockchip-naneng-multiphy.yaml
new file mode 100644
index 000000000..40ec1b240
--- /dev/null
+++ b/Documentation/devicetree/bindings/phy/phy-rockchip-naneng-multiphy.yaml
@@ -0,0 +1,167 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/phy/phy-rockchip-naneng-multiphy.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Rockchip SoC Naneng Multi Phy Device Tree Bindings
+
+maintainers:
+  - Heiko Stuebner <heiko@sntech.de>
+
+properties:
+  compatible:
+    enum:
+      - rockchip,rk3566-naneng-multiphy
+      - rockchip,rk3568-naneng-multiphy
+
+  rockchip,pipe-grf:
+    $ref: /schemas/types.yaml#/definitions/phandle
+    description:
+      Some additional phy settings are accessed through GRF regs.
+
+  "#address-cells":
+    const: 2
+
+  "#size-cells":
+    const: 2
+
+required:
+  - compatible
+  - "#address-cells"
+  - "#size-cells"
+
+additionalProperties: false
+
+patternProperties:
+  "multi-phy@[0-9a-f]+$":
+    type: object
+
+    properties:
+      reg:
+        maxItems: 1
+
+      clocks:
+        items:
+          - description: reference clock
+          - description: apb clock
+          - description: pipe clock
+
+      clock-names:
+        items:
+          - const: ref
+          - const: apb
+          - const: pipe
+
+      resets:
+        items:
+          - description: exclusive PHY reset line
+
+      rockchip,enable-ssc:
+        type: boolean
+        description:
+          The option SSC can be enabled for U3, SATA and PCIE.
+          Most commercially available platforms use SSC to reduce EMI.
+
+      rockchip,ext-refclk:
+        type: boolean
+        description:
+          Many PCIe connections, especially backplane connections,
+          require a synchronous reference clock between the two link partners.
+          To achieve this a common clock source, referred to as REFCLK in
+          the PCI Express Card Electromechanical Specification,
+          should be used by both ends of the PCIe link.
+          In PCIe mode one can choose to use an internal
+          or an external reference clock.
+          By default the internal clock is selected. The PCIe PHY provides a 100MHz
+          differential clock output(optional with SSC) for system applications.
+          When selecting this option an externally 100MHz differential
+          reference clock needs to be provided to the PCIe PHY.
+
+      rockchip,pipe-phy-grf:
+        $ref: /schemas/types.yaml#/definitions/phandle
+        description:
+          Some additional pipe settings are accessed through GRF regs.
+
+      "#phy-cells":
+        const: 1
+
+    required:
+      - reg
+      - clocks
+      - clock-names
+      - resets
+      - rockchip,pipe-phy-grf
+      - "#phy-cells"
+
+    additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/clock/rk3568-cru.h>
+
+    pipegrf: syscon@fdc50000 {
+      compatible = "rockchip,rk3568-pipe-grf", "syscon";
+      reg = <0xfdc50000 0x1000>;
+    };
+
+    pipe_phy_grf0: syscon@fdc70000 {
+      compatible = "rockchip,rk3568-pipe-phy-grf", "syscon";
+      reg = <0xfdc70000 0x1000>;
+    };
+
+    pipe_phy_grf1: syscon@fdc80000 {
+      compatible = "rockchip,rk3568-pipe-phy-grf", "syscon";
+      reg = <0xfdc80000 0x1000>;
+    };
+
+    pipe_phy_grf2: syscon@fdc90000 {
+      compatible = "rockchip,rk3568-pipe-phy-grf", "syscon";
+      reg = <0xfdc90000 0x1000>;
+    };
+
+    multiphy: multiphy {
+      compatible = "rockchip,rk3568-naneng-multiphy";
+      rockchip,pipe-grf = <&pipegrf>;
+      #address-cells = <2>;
+      #size-cells = <2>;
+
+      multiphy0: multi-phy@fe820000 {
+        reg = <0x0 0xfe820000 0x0 0x100>;
+        clocks = <&pmucru CLK_PCIEPHY0_REF>,
+                 <&cru PCLK_PIPEPHY0>,
+                 <&cru PCLK_PIPE>;
+        clock-names = "ref", "apb", "pipe";
+        assigned-clocks = <&pmucru CLK_PCIEPHY0_REF>;
+        assigned-clock-rates = <100000000>;
+        resets = <&cru SRST_PIPEPHY0>;
+        rockchip,pipe-phy-grf = <&pipe_phy_grf0>;
+        #phy-cells = <1>;
+      };
+
+      multiphy1: multi-phy@fe830000 {
+        reg = <0x0 0xfe830000 0x0 0x100>;
+        clocks = <&pmucru CLK_PCIEPHY1_REF>,
+                 <&cru PCLK_PIPEPHY1>,
+                 <&cru PCLK_PIPE>;
+        clock-names = "ref", "apb", "pipe";
+        assigned-clocks = <&pmucru CLK_PCIEPHY1_REF>;
+        assigned-clock-rates = <100000000>;
+        resets = <&cru SRST_PIPEPHY1>;
+        rockchip,pipe-phy-grf = <&pipe_phy_grf1>;
+        #phy-cells = <1>;
+      };
+
+      multiphy2: multi-phy@fe840000 {
+        reg = <0x0 0xfe840000 0x0 0x100>;
+        clocks = <&pmucru CLK_PCIEPHY2_REF>,
+                 <&cru PCLK_PIPEPHY2>,
+                 <&cru PCLK_PIPE>;
+        clock-names = "ref", "apb", "pipe";
+        assigned-clocks = <&pmucru CLK_PCIEPHY2_REF>;
+        assigned-clock-rates = <100000000>;
+        resets = <&cru SRST_PIPEPHY2>;
+        rockchip,pipe-phy-grf = <&pipe_phy_grf2>;
+        #phy-cells = <1>;
+      };
+    };
-- 
2.20.1


_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

WARNING: multiple messages have this Message-ID (diff)
From: Johan Jonker <jbx6244@gmail.com>
To: heiko@sntech.de
Cc: robh+dt@kernel.org, kishon@ti.com, vkoul@kernel.org,
	p.zabel@pengutronix.de, lee.jones@linaro.org,
	yifeng.zhao@rock-chips.com, kever.yang@rock-chips.com,
	cl@rock-chips.com, linux-phy@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org,
	linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: [RFC PATCH v6 2/4] dt-bindings: phy: rockchip: add naneng multi phy bindings
Date: Wed, 22 Dec 2021 22:30:30 +0100	[thread overview]
Message-ID: <20211222213032.7678-3-jbx6244@gmail.com> (raw)
In-Reply-To: <20211222213032.7678-1-jbx6244@gmail.com>

From: Yifeng Zhao <yifeng.zhao@rock-chips.com>

Add the compatible strings for the Naneng multi phy found on Rockchip SoCs.

Signed-off-by: Yifeng Zhao <yifeng.zhao@rock-chips.com>
Signed-off-by: Johan Jonker <jbx6244@gmail.com>
---

Changes in v6:
- change from comb to multi phy
- add parent node
- change compatible strings
- remove rockchip,sgmii-mac-sel
- remove rockchip,dis-u3otg0-port
- remove rockchip,dis-u3otg1-port

Changes in v5:
- modify description for ssc and ext-refclk
- remove apb reset

Changes in v4:
- restyle
- remove some minItems
- add more properties
- remove reset-names
- move #phy-cells
- add rockchip,rk3568-pipe-grf
- add rockchip,rk3568-pipe-phy-grf

Changes in v3: None

Changes in v2:
- Fix dtschema/dtc warnings/errors
---
 .../phy/phy-rockchip-naneng-multiphy.yaml     | 167 ++++++++++++++++++
 1 file changed, 167 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/phy/phy-rockchip-naneng-multiphy.yaml

diff --git a/Documentation/devicetree/bindings/phy/phy-rockchip-naneng-multiphy.yaml b/Documentation/devicetree/bindings/phy/phy-rockchip-naneng-multiphy.yaml
new file mode 100644
index 000000000..40ec1b240
--- /dev/null
+++ b/Documentation/devicetree/bindings/phy/phy-rockchip-naneng-multiphy.yaml
@@ -0,0 +1,167 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/phy/phy-rockchip-naneng-multiphy.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Rockchip SoC Naneng Multi Phy Device Tree Bindings
+
+maintainers:
+  - Heiko Stuebner <heiko@sntech.de>
+
+properties:
+  compatible:
+    enum:
+      - rockchip,rk3566-naneng-multiphy
+      - rockchip,rk3568-naneng-multiphy
+
+  rockchip,pipe-grf:
+    $ref: /schemas/types.yaml#/definitions/phandle
+    description:
+      Some additional phy settings are accessed through GRF regs.
+
+  "#address-cells":
+    const: 2
+
+  "#size-cells":
+    const: 2
+
+required:
+  - compatible
+  - "#address-cells"
+  - "#size-cells"
+
+additionalProperties: false
+
+patternProperties:
+  "multi-phy@[0-9a-f]+$":
+    type: object
+
+    properties:
+      reg:
+        maxItems: 1
+
+      clocks:
+        items:
+          - description: reference clock
+          - description: apb clock
+          - description: pipe clock
+
+      clock-names:
+        items:
+          - const: ref
+          - const: apb
+          - const: pipe
+
+      resets:
+        items:
+          - description: exclusive PHY reset line
+
+      rockchip,enable-ssc:
+        type: boolean
+        description:
+          The option SSC can be enabled for U3, SATA and PCIE.
+          Most commercially available platforms use SSC to reduce EMI.
+
+      rockchip,ext-refclk:
+        type: boolean
+        description:
+          Many PCIe connections, especially backplane connections,
+          require a synchronous reference clock between the two link partners.
+          To achieve this a common clock source, referred to as REFCLK in
+          the PCI Express Card Electromechanical Specification,
+          should be used by both ends of the PCIe link.
+          In PCIe mode one can choose to use an internal
+          or an external reference clock.
+          By default the internal clock is selected. The PCIe PHY provides a 100MHz
+          differential clock output(optional with SSC) for system applications.
+          When selecting this option an externally 100MHz differential
+          reference clock needs to be provided to the PCIe PHY.
+
+      rockchip,pipe-phy-grf:
+        $ref: /schemas/types.yaml#/definitions/phandle
+        description:
+          Some additional pipe settings are accessed through GRF regs.
+
+      "#phy-cells":
+        const: 1
+
+    required:
+      - reg
+      - clocks
+      - clock-names
+      - resets
+      - rockchip,pipe-phy-grf
+      - "#phy-cells"
+
+    additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/clock/rk3568-cru.h>
+
+    pipegrf: syscon@fdc50000 {
+      compatible = "rockchip,rk3568-pipe-grf", "syscon";
+      reg = <0xfdc50000 0x1000>;
+    };
+
+    pipe_phy_grf0: syscon@fdc70000 {
+      compatible = "rockchip,rk3568-pipe-phy-grf", "syscon";
+      reg = <0xfdc70000 0x1000>;
+    };
+
+    pipe_phy_grf1: syscon@fdc80000 {
+      compatible = "rockchip,rk3568-pipe-phy-grf", "syscon";
+      reg = <0xfdc80000 0x1000>;
+    };
+
+    pipe_phy_grf2: syscon@fdc90000 {
+      compatible = "rockchip,rk3568-pipe-phy-grf", "syscon";
+      reg = <0xfdc90000 0x1000>;
+    };
+
+    multiphy: multiphy {
+      compatible = "rockchip,rk3568-naneng-multiphy";
+      rockchip,pipe-grf = <&pipegrf>;
+      #address-cells = <2>;
+      #size-cells = <2>;
+
+      multiphy0: multi-phy@fe820000 {
+        reg = <0x0 0xfe820000 0x0 0x100>;
+        clocks = <&pmucru CLK_PCIEPHY0_REF>,
+                 <&cru PCLK_PIPEPHY0>,
+                 <&cru PCLK_PIPE>;
+        clock-names = "ref", "apb", "pipe";
+        assigned-clocks = <&pmucru CLK_PCIEPHY0_REF>;
+        assigned-clock-rates = <100000000>;
+        resets = <&cru SRST_PIPEPHY0>;
+        rockchip,pipe-phy-grf = <&pipe_phy_grf0>;
+        #phy-cells = <1>;
+      };
+
+      multiphy1: multi-phy@fe830000 {
+        reg = <0x0 0xfe830000 0x0 0x100>;
+        clocks = <&pmucru CLK_PCIEPHY1_REF>,
+                 <&cru PCLK_PIPEPHY1>,
+                 <&cru PCLK_PIPE>;
+        clock-names = "ref", "apb", "pipe";
+        assigned-clocks = <&pmucru CLK_PCIEPHY1_REF>;
+        assigned-clock-rates = <100000000>;
+        resets = <&cru SRST_PIPEPHY1>;
+        rockchip,pipe-phy-grf = <&pipe_phy_grf1>;
+        #phy-cells = <1>;
+      };
+
+      multiphy2: multi-phy@fe840000 {
+        reg = <0x0 0xfe840000 0x0 0x100>;
+        clocks = <&pmucru CLK_PCIEPHY2_REF>,
+                 <&cru PCLK_PIPEPHY2>,
+                 <&cru PCLK_PIPE>;
+        clock-names = "ref", "apb", "pipe";
+        assigned-clocks = <&pmucru CLK_PCIEPHY2_REF>;
+        assigned-clock-rates = <100000000>;
+        resets = <&cru SRST_PIPEPHY2>;
+        rockchip,pipe-phy-grf = <&pipe_phy_grf2>;
+        #phy-cells = <1>;
+      };
+    };
-- 
2.20.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

WARNING: multiple messages have this Message-ID (diff)
From: Johan Jonker <jbx6244@gmail.com>
To: heiko@sntech.de
Cc: robh+dt@kernel.org, kishon@ti.com, vkoul@kernel.org,
	p.zabel@pengutronix.de, lee.jones@linaro.org,
	yifeng.zhao@rock-chips.com, kever.yang@rock-chips.com,
	cl@rock-chips.com, linux-phy@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org,
	linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: [RFC PATCH v6 2/4] dt-bindings: phy: rockchip: add naneng multi phy bindings
Date: Wed, 22 Dec 2021 22:30:30 +0100	[thread overview]
Message-ID: <20211222213032.7678-3-jbx6244@gmail.com> (raw)
In-Reply-To: <20211222213032.7678-1-jbx6244@gmail.com>

From: Yifeng Zhao <yifeng.zhao@rock-chips.com>

Add the compatible strings for the Naneng multi phy found on Rockchip SoCs.

Signed-off-by: Yifeng Zhao <yifeng.zhao@rock-chips.com>
Signed-off-by: Johan Jonker <jbx6244@gmail.com>
---

Changes in v6:
- change from comb to multi phy
- add parent node
- change compatible strings
- remove rockchip,sgmii-mac-sel
- remove rockchip,dis-u3otg0-port
- remove rockchip,dis-u3otg1-port

Changes in v5:
- modify description for ssc and ext-refclk
- remove apb reset

Changes in v4:
- restyle
- remove some minItems
- add more properties
- remove reset-names
- move #phy-cells
- add rockchip,rk3568-pipe-grf
- add rockchip,rk3568-pipe-phy-grf

Changes in v3: None

Changes in v2:
- Fix dtschema/dtc warnings/errors
---
 .../phy/phy-rockchip-naneng-multiphy.yaml     | 167 ++++++++++++++++++
 1 file changed, 167 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/phy/phy-rockchip-naneng-multiphy.yaml

diff --git a/Documentation/devicetree/bindings/phy/phy-rockchip-naneng-multiphy.yaml b/Documentation/devicetree/bindings/phy/phy-rockchip-naneng-multiphy.yaml
new file mode 100644
index 000000000..40ec1b240
--- /dev/null
+++ b/Documentation/devicetree/bindings/phy/phy-rockchip-naneng-multiphy.yaml
@@ -0,0 +1,167 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/phy/phy-rockchip-naneng-multiphy.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Rockchip SoC Naneng Multi Phy Device Tree Bindings
+
+maintainers:
+  - Heiko Stuebner <heiko@sntech.de>
+
+properties:
+  compatible:
+    enum:
+      - rockchip,rk3566-naneng-multiphy
+      - rockchip,rk3568-naneng-multiphy
+
+  rockchip,pipe-grf:
+    $ref: /schemas/types.yaml#/definitions/phandle
+    description:
+      Some additional phy settings are accessed through GRF regs.
+
+  "#address-cells":
+    const: 2
+
+  "#size-cells":
+    const: 2
+
+required:
+  - compatible
+  - "#address-cells"
+  - "#size-cells"
+
+additionalProperties: false
+
+patternProperties:
+  "multi-phy@[0-9a-f]+$":
+    type: object
+
+    properties:
+      reg:
+        maxItems: 1
+
+      clocks:
+        items:
+          - description: reference clock
+          - description: apb clock
+          - description: pipe clock
+
+      clock-names:
+        items:
+          - const: ref
+          - const: apb
+          - const: pipe
+
+      resets:
+        items:
+          - description: exclusive PHY reset line
+
+      rockchip,enable-ssc:
+        type: boolean
+        description:
+          The option SSC can be enabled for U3, SATA and PCIE.
+          Most commercially available platforms use SSC to reduce EMI.
+
+      rockchip,ext-refclk:
+        type: boolean
+        description:
+          Many PCIe connections, especially backplane connections,
+          require a synchronous reference clock between the two link partners.
+          To achieve this a common clock source, referred to as REFCLK in
+          the PCI Express Card Electromechanical Specification,
+          should be used by both ends of the PCIe link.
+          In PCIe mode one can choose to use an internal
+          or an external reference clock.
+          By default the internal clock is selected. The PCIe PHY provides a 100MHz
+          differential clock output(optional with SSC) for system applications.
+          When selecting this option an externally 100MHz differential
+          reference clock needs to be provided to the PCIe PHY.
+
+      rockchip,pipe-phy-grf:
+        $ref: /schemas/types.yaml#/definitions/phandle
+        description:
+          Some additional pipe settings are accessed through GRF regs.
+
+      "#phy-cells":
+        const: 1
+
+    required:
+      - reg
+      - clocks
+      - clock-names
+      - resets
+      - rockchip,pipe-phy-grf
+      - "#phy-cells"
+
+    additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/clock/rk3568-cru.h>
+
+    pipegrf: syscon@fdc50000 {
+      compatible = "rockchip,rk3568-pipe-grf", "syscon";
+      reg = <0xfdc50000 0x1000>;
+    };
+
+    pipe_phy_grf0: syscon@fdc70000 {
+      compatible = "rockchip,rk3568-pipe-phy-grf", "syscon";
+      reg = <0xfdc70000 0x1000>;
+    };
+
+    pipe_phy_grf1: syscon@fdc80000 {
+      compatible = "rockchip,rk3568-pipe-phy-grf", "syscon";
+      reg = <0xfdc80000 0x1000>;
+    };
+
+    pipe_phy_grf2: syscon@fdc90000 {
+      compatible = "rockchip,rk3568-pipe-phy-grf", "syscon";
+      reg = <0xfdc90000 0x1000>;
+    };
+
+    multiphy: multiphy {
+      compatible = "rockchip,rk3568-naneng-multiphy";
+      rockchip,pipe-grf = <&pipegrf>;
+      #address-cells = <2>;
+      #size-cells = <2>;
+
+      multiphy0: multi-phy@fe820000 {
+        reg = <0x0 0xfe820000 0x0 0x100>;
+        clocks = <&pmucru CLK_PCIEPHY0_REF>,
+                 <&cru PCLK_PIPEPHY0>,
+                 <&cru PCLK_PIPE>;
+        clock-names = "ref", "apb", "pipe";
+        assigned-clocks = <&pmucru CLK_PCIEPHY0_REF>;
+        assigned-clock-rates = <100000000>;
+        resets = <&cru SRST_PIPEPHY0>;
+        rockchip,pipe-phy-grf = <&pipe_phy_grf0>;
+        #phy-cells = <1>;
+      };
+
+      multiphy1: multi-phy@fe830000 {
+        reg = <0x0 0xfe830000 0x0 0x100>;
+        clocks = <&pmucru CLK_PCIEPHY1_REF>,
+                 <&cru PCLK_PIPEPHY1>,
+                 <&cru PCLK_PIPE>;
+        clock-names = "ref", "apb", "pipe";
+        assigned-clocks = <&pmucru CLK_PCIEPHY1_REF>;
+        assigned-clock-rates = <100000000>;
+        resets = <&cru SRST_PIPEPHY1>;
+        rockchip,pipe-phy-grf = <&pipe_phy_grf1>;
+        #phy-cells = <1>;
+      };
+
+      multiphy2: multi-phy@fe840000 {
+        reg = <0x0 0xfe840000 0x0 0x100>;
+        clocks = <&pmucru CLK_PCIEPHY2_REF>,
+                 <&cru PCLK_PIPEPHY2>,
+                 <&cru PCLK_PIPE>;
+        clock-names = "ref", "apb", "pipe";
+        assigned-clocks = <&pmucru CLK_PCIEPHY2_REF>;
+        assigned-clock-rates = <100000000>;
+        resets = <&cru SRST_PIPEPHY2>;
+        rockchip,pipe-phy-grf = <&pipe_phy_grf2>;
+        #phy-cells = <1>;
+      };
+    };
-- 
2.20.1


  parent reply	other threads:[~2021-12-22 21:31 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-22 21:30 [RFC PATCH v6 0/4] Add Naneng multi phy support for rk3568 Johan Jonker
2021-12-22 21:30 ` Johan Jonker
2021-12-22 21:30 ` Johan Jonker
2021-12-22 21:30 ` Johan Jonker
2021-12-22 21:30 ` [RFC PATCH v6 1/4] dt-bindings: mfd: syscon: add naneng multi phy register compatible Johan Jonker
2021-12-22 21:30   ` Johan Jonker
2021-12-22 21:30   ` Johan Jonker
2021-12-22 21:30   ` Johan Jonker
2021-12-28 12:08   ` Johan Jonker
2021-12-28 12:08     ` Johan Jonker
2021-12-28 12:08     ` Johan Jonker
2021-12-28 12:08     ` Johan Jonker
2021-12-29 17:31     ` Heiko Stübner
2021-12-29 17:31       ` Heiko Stübner
2021-12-29 17:31       ` Heiko Stübner
2021-12-29 17:31       ` Heiko Stübner
2021-12-22 21:30 ` Johan Jonker [this message]
2021-12-22 21:30   ` [RFC PATCH v6 2/4] dt-bindings: phy: rockchip: add naneng multi phy bindings Johan Jonker
2021-12-22 21:30   ` Johan Jonker
2021-12-22 21:30   ` Johan Jonker
2021-12-22 21:30 ` [RFC PATCH v6 3/4] phy: rockchip: add naneng multi phy for rk3568 Johan Jonker
2021-12-22 21:30   ` Johan Jonker
2021-12-22 21:30   ` Johan Jonker
2021-12-22 21:30   ` Johan Jonker
2021-12-23 10:34   ` Johan Jonker
2021-12-23 10:34     ` Johan Jonker
2021-12-23 10:34     ` Johan Jonker
2021-12-23 10:34     ` Johan Jonker
2021-12-28 10:22     ` 赵仪峰
2021-12-28 10:22       ` 赵仪峰
2021-12-28 10:22       ` 赵仪峰
2021-12-22 21:30 ` [RFC PATCH v6 4/4] arm64: dts: rockchip: add naneng multi phy nodes " Johan Jonker
2021-12-22 21:30   ` Johan Jonker
2021-12-22 21:30   ` Johan Jonker
2021-12-22 21:30   ` Johan Jonker

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20211222213032.7678-3-jbx6244@gmail.com \
    --to=jbx6244@gmail.com \
    --cc=cl@rock-chips.com \
    --cc=devicetree@vger.kernel.org \
    --cc=heiko@sntech.de \
    --cc=kever.yang@rock-chips.com \
    --cc=kishon@ti.com \
    --cc=lee.jones@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-phy@lists.infradead.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=p.zabel@pengutronix.de \
    --cc=robh+dt@kernel.org \
    --cc=vkoul@kernel.org \
    --cc=yifeng.zhao@rock-chips.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.