mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-04-16 04:13:31 +00:00
308 lines
11 KiB
Diff
308 lines
11 KiB
Diff
From 80bbd1c355d661678d2a25bd36e739b6925e7a4e Mon Sep 17 00:00:00 2001
|
|
From: Luo Jie <quic_luoj@quicinc.com>
|
|
Date: Wed, 5 Jun 2024 20:45:39 +0800
|
|
Subject: [PATCH] dt-bindings: clock: add qca8386/qca8084 clock and reset
|
|
definitions
|
|
|
|
QCA8386/QCA8084 includes the clock & reset controller that is
|
|
accessed by MDIO bus. Two work modes are supported, qca8386 works
|
|
as switch mode, qca8084 works as PHY mode.
|
|
|
|
Reviewed-by: Rob Herring <robh@kernel.org>
|
|
Signed-off-by: Luo Jie <quic_luoj@quicinc.com>
|
|
Link: https://lore.kernel.org/r/20240605124541.2711467-3-quic_luoj@quicinc.com
|
|
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
|
|
---
|
|
.../bindings/clock/qcom,qca8k-nsscc.yaml | 86 +++++++++++++++
|
|
include/dt-bindings/clock/qcom,qca8k-nsscc.h | 101 ++++++++++++++++++
|
|
include/dt-bindings/reset/qcom,qca8k-nsscc.h | 76 +++++++++++++
|
|
3 files changed, 263 insertions(+)
|
|
create mode 100644 Documentation/devicetree/bindings/clock/qcom,qca8k-nsscc.yaml
|
|
create mode 100644 include/dt-bindings/clock/qcom,qca8k-nsscc.h
|
|
create mode 100644 include/dt-bindings/reset/qcom,qca8k-nsscc.h
|
|
|
|
diff --git a/Documentation/devicetree/bindings/clock/qcom,qca8k-nsscc.yaml b/Documentation/devicetree/bindings/clock/qcom,qca8k-nsscc.yaml
|
|
new file mode 100644
|
|
index 000000000000..61473385da2d
|
|
--- /dev/null
|
|
+++ b/Documentation/devicetree/bindings/clock/qcom,qca8k-nsscc.yaml
|
|
@@ -0,0 +1,86 @@
|
|
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
|
+%YAML 1.2
|
|
+---
|
|
+$id: http://devicetree.org/schemas/clock/qcom,qca8k-nsscc.yaml#
|
|
+$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
+
|
|
+title: Qualcomm NSS Clock & Reset Controller on QCA8386/QCA8084
|
|
+
|
|
+maintainers:
|
|
+ - Bjorn Andersson <andersson@kernel.org>
|
|
+ - Luo Jie <quic_luoj@quicinc.com>
|
|
+
|
|
+description: |
|
|
+ Qualcomm NSS clock control module provides the clocks and resets
|
|
+ on QCA8386(switch mode)/QCA8084(PHY mode)
|
|
+
|
|
+ See also::
|
|
+ include/dt-bindings/clock/qcom,qca8k-nsscc.h
|
|
+ include/dt-bindings/reset/qcom,qca8k-nsscc.h
|
|
+
|
|
+properties:
|
|
+ compatible:
|
|
+ oneOf:
|
|
+ - const: qcom,qca8084-nsscc
|
|
+ - items:
|
|
+ - enum:
|
|
+ - qcom,qca8082-nsscc
|
|
+ - qcom,qca8085-nsscc
|
|
+ - qcom,qca8384-nsscc
|
|
+ - qcom,qca8385-nsscc
|
|
+ - qcom,qca8386-nsscc
|
|
+ - const: qcom,qca8084-nsscc
|
|
+
|
|
+ clocks:
|
|
+ items:
|
|
+ - description: Chip reference clock source
|
|
+ - description: UNIPHY0 RX 312P5M/125M clock source
|
|
+ - description: UNIPHY0 TX 312P5M/125M clock source
|
|
+ - description: UNIPHY1 RX 312P5M/125M clock source
|
|
+ - description: UNIPHY1 TX 312P5M/125M clock source
|
|
+ - description: UNIPHY1 RX 312P5M clock source
|
|
+ - description: UNIPHY1 TX 312P5M clock source
|
|
+
|
|
+ reg:
|
|
+ items:
|
|
+ - description: MDIO bus address for Clock & Reset Controller register
|
|
+
|
|
+ reset-gpios:
|
|
+ description: GPIO connected to the chip
|
|
+ maxItems: 1
|
|
+
|
|
+required:
|
|
+ - compatible
|
|
+ - clocks
|
|
+ - reg
|
|
+ - reset-gpios
|
|
+
|
|
+allOf:
|
|
+ - $ref: qcom,gcc.yaml#
|
|
+
|
|
+unevaluatedProperties: false
|
|
+
|
|
+examples:
|
|
+ - |
|
|
+ #include <dt-bindings/gpio/gpio.h>
|
|
+ mdio {
|
|
+ #address-cells = <1>;
|
|
+ #size-cells = <0>;
|
|
+
|
|
+ clock-controller@18 {
|
|
+ compatible = "qcom,qca8084-nsscc";
|
|
+ reg = <0x18>;
|
|
+ reset-gpios = <&tlmm 51 GPIO_ACTIVE_LOW>;
|
|
+ clocks = <&pcs0_pll>,
|
|
+ <&qca8k_uniphy0_rx>,
|
|
+ <&qca8k_uniphy0_tx>,
|
|
+ <&qca8k_uniphy1_rx>,
|
|
+ <&qca8k_uniphy1_tx>,
|
|
+ <&qca8k_uniphy1_rx312p5m>,
|
|
+ <&qca8k_uniphy1_tx312p5m>;
|
|
+ #clock-cells = <1>;
|
|
+ #reset-cells = <1>;
|
|
+ #power-domain-cells = <1>;
|
|
+ };
|
|
+ };
|
|
+...
|
|
diff --git a/include/dt-bindings/clock/qcom,qca8k-nsscc.h b/include/dt-bindings/clock/qcom,qca8k-nsscc.h
|
|
new file mode 100644
|
|
index 000000000000..0ac3e4c69a1a
|
|
--- /dev/null
|
|
+++ b/include/dt-bindings/clock/qcom,qca8k-nsscc.h
|
|
@@ -0,0 +1,101 @@
|
|
+/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
|
|
+/*
|
|
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
|
+ */
|
|
+
|
|
+#ifndef _DT_BINDINGS_CLK_QCOM_QCA8K_NSS_CC_H
|
|
+#define _DT_BINDINGS_CLK_QCOM_QCA8K_NSS_CC_H
|
|
+
|
|
+#define NSS_CC_SWITCH_CORE_CLK_SRC 0
|
|
+#define NSS_CC_SWITCH_CORE_CLK 1
|
|
+#define NSS_CC_APB_BRIDGE_CLK 2
|
|
+#define NSS_CC_MAC0_TX_CLK_SRC 3
|
|
+#define NSS_CC_MAC0_TX_DIV_CLK_SRC 4
|
|
+#define NSS_CC_MAC0_TX_CLK 5
|
|
+#define NSS_CC_MAC0_TX_SRDS1_CLK 6
|
|
+#define NSS_CC_MAC0_RX_CLK_SRC 7
|
|
+#define NSS_CC_MAC0_RX_DIV_CLK_SRC 8
|
|
+#define NSS_CC_MAC0_RX_CLK 9
|
|
+#define NSS_CC_MAC0_RX_SRDS1_CLK 10
|
|
+#define NSS_CC_MAC1_TX_CLK_SRC 11
|
|
+#define NSS_CC_MAC1_TX_DIV_CLK_SRC 12
|
|
+#define NSS_CC_MAC1_SRDS1_CH0_XGMII_RX_DIV_CLK_SRC 13
|
|
+#define NSS_CC_MAC1_SRDS1_CH0_RX_CLK 14
|
|
+#define NSS_CC_MAC1_TX_CLK 15
|
|
+#define NSS_CC_MAC1_GEPHY0_TX_CLK 16
|
|
+#define NSS_CC_MAC1_SRDS1_CH0_XGMII_RX_CLK 17
|
|
+#define NSS_CC_MAC1_RX_CLK_SRC 18
|
|
+#define NSS_CC_MAC1_RX_DIV_CLK_SRC 19
|
|
+#define NSS_CC_MAC1_SRDS1_CH0_XGMII_TX_DIV_CLK_SRC 20
|
|
+#define NSS_CC_MAC1_SRDS1_CH0_TX_CLK 21
|
|
+#define NSS_CC_MAC1_RX_CLK 22
|
|
+#define NSS_CC_MAC1_GEPHY0_RX_CLK 23
|
|
+#define NSS_CC_MAC1_SRDS1_CH0_XGMII_TX_CLK 24
|
|
+#define NSS_CC_MAC2_TX_CLK_SRC 25
|
|
+#define NSS_CC_MAC2_TX_DIV_CLK_SRC 26
|
|
+#define NSS_CC_MAC2_SRDS1_CH1_XGMII_RX_DIV_CLK_SRC 27
|
|
+#define NSS_CC_MAC2_SRDS1_CH1_RX_CLK 28
|
|
+#define NSS_CC_MAC2_TX_CLK 29
|
|
+#define NSS_CC_MAC2_GEPHY1_TX_CLK 30
|
|
+#define NSS_CC_MAC2_SRDS1_CH1_XGMII_RX_CLK 31
|
|
+#define NSS_CC_MAC2_RX_CLK_SRC 32
|
|
+#define NSS_CC_MAC2_RX_DIV_CLK_SRC 33
|
|
+#define NSS_CC_MAC2_SRDS1_CH1_XGMII_TX_DIV_CLK_SRC 34
|
|
+#define NSS_CC_MAC2_SRDS1_CH1_TX_CLK 35
|
|
+#define NSS_CC_MAC2_RX_CLK 36
|
|
+#define NSS_CC_MAC2_GEPHY1_RX_CLK 37
|
|
+#define NSS_CC_MAC2_SRDS1_CH1_XGMII_TX_CLK 38
|
|
+#define NSS_CC_MAC3_TX_CLK_SRC 39
|
|
+#define NSS_CC_MAC3_TX_DIV_CLK_SRC 40
|
|
+#define NSS_CC_MAC3_SRDS1_CH2_XGMII_RX_DIV_CLK_SRC 41
|
|
+#define NSS_CC_MAC3_SRDS1_CH2_RX_CLK 42
|
|
+#define NSS_CC_MAC3_TX_CLK 43
|
|
+#define NSS_CC_MAC3_GEPHY2_TX_CLK 44
|
|
+#define NSS_CC_MAC3_SRDS1_CH2_XGMII_RX_CLK 45
|
|
+#define NSS_CC_MAC3_RX_CLK_SRC 46
|
|
+#define NSS_CC_MAC3_RX_DIV_CLK_SRC 47
|
|
+#define NSS_CC_MAC3_SRDS1_CH2_XGMII_TX_DIV_CLK_SRC 48
|
|
+#define NSS_CC_MAC3_SRDS1_CH2_TX_CLK 49
|
|
+#define NSS_CC_MAC3_RX_CLK 50
|
|
+#define NSS_CC_MAC3_GEPHY2_RX_CLK 51
|
|
+#define NSS_CC_MAC3_SRDS1_CH2_XGMII_TX_CLK 52
|
|
+#define NSS_CC_MAC4_TX_CLK_SRC 53
|
|
+#define NSS_CC_MAC4_TX_DIV_CLK_SRC 54
|
|
+#define NSS_CC_MAC4_SRDS1_CH3_XGMII_RX_DIV_CLK_SRC 55
|
|
+#define NSS_CC_MAC4_SRDS1_CH3_RX_CLK 56
|
|
+#define NSS_CC_MAC4_TX_CLK 57
|
|
+#define NSS_CC_MAC4_GEPHY3_TX_CLK 58
|
|
+#define NSS_CC_MAC4_SRDS1_CH3_XGMII_RX_CLK 59
|
|
+#define NSS_CC_MAC4_RX_CLK_SRC 60
|
|
+#define NSS_CC_MAC4_RX_DIV_CLK_SRC 61
|
|
+#define NSS_CC_MAC4_SRDS1_CH3_XGMII_TX_DIV_CLK_SRC 62
|
|
+#define NSS_CC_MAC4_SRDS1_CH3_TX_CLK 63
|
|
+#define NSS_CC_MAC4_RX_CLK 64
|
|
+#define NSS_CC_MAC4_GEPHY3_RX_CLK 65
|
|
+#define NSS_CC_MAC4_SRDS1_CH3_XGMII_TX_CLK 66
|
|
+#define NSS_CC_MAC5_TX_CLK_SRC 67
|
|
+#define NSS_CC_MAC5_TX_DIV_CLK_SRC 68
|
|
+#define NSS_CC_MAC5_TX_SRDS0_CLK 69
|
|
+#define NSS_CC_MAC5_TX_CLK 70
|
|
+#define NSS_CC_MAC5_RX_CLK_SRC 71
|
|
+#define NSS_CC_MAC5_RX_DIV_CLK_SRC 72
|
|
+#define NSS_CC_MAC5_RX_SRDS0_CLK 73
|
|
+#define NSS_CC_MAC5_RX_CLK 74
|
|
+#define NSS_CC_MAC5_TX_SRDS0_CLK_SRC 75
|
|
+#define NSS_CC_MAC5_RX_SRDS0_CLK_SRC 76
|
|
+#define NSS_CC_AHB_CLK_SRC 77
|
|
+#define NSS_CC_AHB_CLK 78
|
|
+#define NSS_CC_SEC_CTRL_AHB_CLK 79
|
|
+#define NSS_CC_TLMM_CLK 80
|
|
+#define NSS_CC_TLMM_AHB_CLK 81
|
|
+#define NSS_CC_CNOC_AHB_CLK 82
|
|
+#define NSS_CC_MDIO_AHB_CLK 83
|
|
+#define NSS_CC_MDIO_MASTER_AHB_CLK 84
|
|
+#define NSS_CC_SYS_CLK_SRC 85
|
|
+#define NSS_CC_SRDS0_SYS_CLK 86
|
|
+#define NSS_CC_SRDS1_SYS_CLK 87
|
|
+#define NSS_CC_GEPHY0_SYS_CLK 88
|
|
+#define NSS_CC_GEPHY1_SYS_CLK 89
|
|
+#define NSS_CC_GEPHY2_SYS_CLK 90
|
|
+#define NSS_CC_GEPHY3_SYS_CLK 91
|
|
+#endif
|
|
diff --git a/include/dt-bindings/reset/qcom,qca8k-nsscc.h b/include/dt-bindings/reset/qcom,qca8k-nsscc.h
|
|
new file mode 100644
|
|
index 000000000000..c71167a3bd41
|
|
--- /dev/null
|
|
+++ b/include/dt-bindings/reset/qcom,qca8k-nsscc.h
|
|
@@ -0,0 +1,76 @@
|
|
+/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
|
|
+/*
|
|
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
|
+ */
|
|
+
|
|
+#ifndef _DT_BINDINGS_RESET_QCOM_QCA8K_NSS_CC_H
|
|
+#define _DT_BINDINGS_RESET_QCOM_QCA8K_NSS_CC_H
|
|
+
|
|
+#define NSS_CC_SWITCH_CORE_ARES 1
|
|
+#define NSS_CC_APB_BRIDGE_ARES 2
|
|
+#define NSS_CC_MAC0_TX_ARES 3
|
|
+#define NSS_CC_MAC0_TX_SRDS1_ARES 4
|
|
+#define NSS_CC_MAC0_RX_ARES 5
|
|
+#define NSS_CC_MAC0_RX_SRDS1_ARES 6
|
|
+#define NSS_CC_MAC1_SRDS1_CH0_RX_ARES 7
|
|
+#define NSS_CC_MAC1_TX_ARES 8
|
|
+#define NSS_CC_MAC1_GEPHY0_TX_ARES 9
|
|
+#define NSS_CC_MAC1_SRDS1_CH0_XGMII_RX_ARES 10
|
|
+#define NSS_CC_MAC1_SRDS1_CH0_TX_ARES 11
|
|
+#define NSS_CC_MAC1_RX_ARES 12
|
|
+#define NSS_CC_MAC1_GEPHY0_RX_ARES 13
|
|
+#define NSS_CC_MAC1_SRDS1_CH0_XGMII_TX_ARES 14
|
|
+#define NSS_CC_MAC2_SRDS1_CH1_RX_ARES 15
|
|
+#define NSS_CC_MAC2_TX_ARES 16
|
|
+#define NSS_CC_MAC2_GEPHY1_TX_ARES 17
|
|
+#define NSS_CC_MAC2_SRDS1_CH1_XGMII_RX_ARES 18
|
|
+#define NSS_CC_MAC2_SRDS1_CH1_TX_ARES 19
|
|
+#define NSS_CC_MAC2_RX_ARES 20
|
|
+#define NSS_CC_MAC2_GEPHY1_RX_ARES 21
|
|
+#define NSS_CC_MAC2_SRDS1_CH1_XGMII_TX_ARES 22
|
|
+#define NSS_CC_MAC3_SRDS1_CH2_RX_ARES 23
|
|
+#define NSS_CC_MAC3_TX_ARES 24
|
|
+#define NSS_CC_MAC3_GEPHY2_TX_ARES 25
|
|
+#define NSS_CC_MAC3_SRDS1_CH2_XGMII_RX_ARES 26
|
|
+#define NSS_CC_MAC3_SRDS1_CH2_TX_ARES 27
|
|
+#define NSS_CC_MAC3_RX_ARES 28
|
|
+#define NSS_CC_MAC3_GEPHY2_RX_ARES 29
|
|
+#define NSS_CC_MAC3_SRDS1_CH2_XGMII_TX_ARES 30
|
|
+#define NSS_CC_MAC4_SRDS1_CH3_RX_ARES 31
|
|
+#define NSS_CC_MAC4_TX_ARES 32
|
|
+#define NSS_CC_MAC4_GEPHY3_TX_ARES 33
|
|
+#define NSS_CC_MAC4_SRDS1_CH3_XGMII_RX_ARES 34
|
|
+#define NSS_CC_MAC4_SRDS1_CH3_TX_ARES 35
|
|
+#define NSS_CC_MAC4_RX_ARES 36
|
|
+#define NSS_CC_MAC4_GEPHY3_RX_ARES 37
|
|
+#define NSS_CC_MAC4_SRDS1_CH3_XGMII_TX_ARES 38
|
|
+#define NSS_CC_MAC5_TX_ARES 39
|
|
+#define NSS_CC_MAC5_TX_SRDS0_ARES 40
|
|
+#define NSS_CC_MAC5_RX_ARES 41
|
|
+#define NSS_CC_MAC5_RX_SRDS0_ARES 42
|
|
+#define NSS_CC_AHB_ARES 43
|
|
+#define NSS_CC_SEC_CTRL_AHB_ARES 44
|
|
+#define NSS_CC_TLMM_ARES 45
|
|
+#define NSS_CC_TLMM_AHB_ARES 46
|
|
+#define NSS_CC_CNOC_AHB_ARES 47
|
|
+#define NSS_CC_MDIO_AHB_ARES 48
|
|
+#define NSS_CC_MDIO_MASTER_AHB_ARES 49
|
|
+#define NSS_CC_SRDS0_SYS_ARES 50
|
|
+#define NSS_CC_SRDS1_SYS_ARES 51
|
|
+#define NSS_CC_GEPHY0_SYS_ARES 52
|
|
+#define NSS_CC_GEPHY1_SYS_ARES 53
|
|
+#define NSS_CC_GEPHY2_SYS_ARES 54
|
|
+#define NSS_CC_GEPHY3_SYS_ARES 55
|
|
+#define NSS_CC_SEC_CTRL_ARES 56
|
|
+#define NSS_CC_SEC_CTRL_SENSE_ARES 57
|
|
+#define NSS_CC_SLEEP_ARES 58
|
|
+#define NSS_CC_DEBUG_ARES 59
|
|
+#define NSS_CC_GEPHY0_ARES 60
|
|
+#define NSS_CC_GEPHY1_ARES 61
|
|
+#define NSS_CC_GEPHY2_ARES 62
|
|
+#define NSS_CC_GEPHY3_ARES 63
|
|
+#define NSS_CC_DSP_ARES 64
|
|
+#define NSS_CC_GEPHY_FULL_ARES 65
|
|
+#define NSS_CC_GLOBAL_ARES 66
|
|
+#define NSS_CC_XPCS_ARES 67
|
|
+#endif
|
|
--
|
|
2.45.2
|
|
|