[PATCH v6 1/3] dt-bindings: clock, reset: Add support for rk3576

Andy Yan andyshrk at 163.com
Mon Aug 26 04:04:16 PDT 2024



Hi Deltev,
     Thanks for your work。


At 2024-08-23 03:49:32, "Detlev Casanova" <detlev.casanova at collabora.com> wrote:
>Add clock and reset ID defines for rk3576.
>
>Compared to the downstream bindings written by Elaine, this uses
>continous gapless IDs starting at 0. Thus all numbers are
>different between downstream and upstream, but names are kept
>exactly the same.
>
>Also add documentation for the rk3576 CRU core.
>
>Signed-off-by: Elaine Zhang <zhangqing at rock-chips.com>
>Signed-off-by: Sugar Zhang <sugar.zhang at rock-chips.com>
>Signed-off-by: Detlev Casanova <detlev.casanova at collabora.com>
>---
> .../bindings/clock/rockchip,rk3576-cru.yaml   |  56 ++
> .../dt-bindings/clock/rockchip,rk3576-cru.h   | 592 ++++++++++++++++++
> .../dt-bindings/reset/rockchip,rk3576-cru.h   | 564 +++++++++++++++++
> 3 files changed, 1212 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/clock/rockchip,rk3576-cru.yaml
> create mode 100644 include/dt-bindings/clock/rockchip,rk3576-cru.h
> create mode 100644 include/dt-bindings/reset/rockchip,rk3576-cru.h
>
>diff --git a/Documentation/devicetree/bindings/clock/rockchip,rk3576-cru.yaml b/Documentation/devicetree/bindings/clock/rockchip,rk3576-cru.yaml
>new file mode 100644
>index 000000000000..9c9b36049c71
>--- /dev/null
>+++ b/Documentation/devicetree/bindings/clock/rockchip,rk3576-cru.yaml
>@@ -0,0 +1,56 @@
>+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
>+%YAML 1.2
>+---
>+$id: http://devicetree.org/schemas/clock/rockchip,rk3576-cru.yaml#
>+$schema: http://devicetree.org/meta-schemas/core.yaml#
>+
>+title: Rockchip rk3576 Family Clock and Reset Control Module
>+
>+maintainers:
>+  - Elaine Zhang <zhangqing at rock-chips.com>
>+  - Heiko Stuebner <heiko at sntech.de>
>+  - Detlev Casanova <detlev.casanova at collabora.com>
>+
>+description:
>+  The RK3576 clock controller generates the clock and also implements a reset
>+  controller for SoC peripherals. For example it provides SCLK_UART2 and
>+  PCLK_UART2, as well as SRST_P_UART2 and SRST_S_UART2 for the second UART
>+  module.
>+
>+properties:
>+  compatible:
>+    const: rockchip,rk3576-cru
>+
>+  reg:
>+    maxItems: 1
>+
>+  "#clock-cells":
>+    const: 1
>+
>+  "#reset-cells":
>+    const: 1
>+
>+  clocks:
>+    maxItems: 2
>+
>+  clock-names:
>+    items:
>+      - const: xin24m
>+      - const: xin32k
>+
>+required:
>+  - compatible
>+  - reg
>+  - "#clock-cells"
>+  - "#reset-cells"
>+
>+additionalProperties: false
>+
>+examples:
>+  - |
>+    clock-controller at 27200000 {
>+      compatible = "rockchip,rk3576-cru";
>+      reg = <0xfd7c0000 0x5c000>;
>+      #clock-cells = <1>;
>+      #reset-cells = <1>;
>+    };
>diff --git a/include/dt-bindings/clock/rockchip,rk3576-cru.h b/include/dt-bindings/clock/rockchip,rk3576-cru.h
>new file mode 100644
>index 000000000000..ee3718452b77
>--- /dev/null
>+++ b/include/dt-bindings/clock/rockchip,rk3576-cru.h
>@@ -0,0 +1,592 @@
>+/* SPDX-License-Identifier: (GPL-2.0 OR MIT) */
>+/*
>+* Copyright (c) 2023 Rockchip Electronics Co. Ltd.
>+* Copyright (c) 2024 Collabora Ltd.
>+*
>+* Author: Elaine Zhang <zhangqing at rock-chips.com>
>+* Author: Detlev Casanova <detlev.casanova at collabora.com>
>+*/
>+
>+#ifndef _DT_BINDINGS_CLK_ROCKCHIP_RK3576_H
>+#define _DT_BINDINGS_CLK_ROCKCHIP_RK3576_H
>+
>+/* cru-clocks indices */
>+
>+/* cru plls */
>+#define PLL_BPLL			0
>+#define PLL_LPLL			1
>+#define PLL_VPLL			2
>+#define PLL_AUPLL			3
>+#define PLL_CPLL			4
>+#define PLL_GPLL			5
>+#define PLL_PPLL			6
>+#define ARMCLK_L			7
>+#define ARMCLK_B			8
>+
>+/* cru clocks */
>+#define CLK_CPLL_DIV20			9
>+#define CLK_CPLL_DIV10			10
>+#define CLK_GPLL_DIV8			11
>+#define CLK_GPLL_DIV6			12

.........

>+#define SRST_OTGPHY_1			449
>+#define SRST_HDPTX_INIT			450
>+#define SRST_HDPTX_CMN			451
>+#define SRST_HDPTX_LANE			452
>+#define SRST_HDMITXHPD			453

Compared to RK3588, this should be   SRST_HDMITXHDP  .  I think this is a typo in TRM。

>+
>+#define SRST_MPHY_INIT			454
>+#define SRST_P_MPHY_GRF			455
>+#define SRST_P_VCCIO7_IOC		456
>+
>+#define SRST_H_PMU1_BIU			457
>+#define SRST_P_PMU1_NIU			458
>+#define SRST_H_PMU_CM0_BIU		459
>+#define SRST_PMU_CM0_CORE		460
>+#define SRST_PMU_CM0_JTAG		461
>+
>+#define SRST_P_CRU_PMU1			462
>+#define SRST_P_PMU1_GRF			463
>+#define SRST_P_PMU1_IOC			464
>+#define SRST_P_PMU1WDT			465
>+#define SRST_T_PMU1WDT			466
>+#define SRST_P_PMUTIMER			467
>+#define SRST_PMUTIMER0			468
>+#define SRST_PMUTIMER1			469
>+#define SRST_P_PMU1PWM			470
>+#define SRST_PMU1PWM			471
>+
>+#define SRST_P_I2C0			472
>+#define SRST_I2C0			473
>+#define SRST_S_UART1			474
>+#define SRST_P_UART1			475
>+#define SRST_PDM0			476
>+#define SRST_H_PDM0			477
>+
>+#define SRST_M_PDM0			478
>+#define SRST_H_VAD			479
>+
>+#define SRST_P_PMU0GRF			480
>+#define SRST_P_PMU0IOC			481
>+#define SRST_P_GPIO0			482
>+#define SRST_DB_GPIO0			483
>+
>+#endif
>-- 
>2.46.0
>
>
>_______________________________________________
>Linux-rockchip mailing list
>Linux-rockchip at lists.infradead.org
>http://lists.infradead.org/mailman/listinfo/linux-rockchip


More information about the Linux-rockchip mailing list