[PATCH 03/10] dt-bindings: clock: add Ambarella CV75 RCT clock controller

Long Zhao <[email protected]> Thu, 30 Jul 2026 18:43:23 +0800
Newsgroups dev.linux.lists.soc,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-clk,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-gpio,org.kernel.vger.linux-kernel,org.kernel.vger.linux-serial
Message-ID <[email protected]>
Add the CV75 RCT clock controller binding and clock ID header.

Signed-off-by: Long Zhao <[email protected]>
---
 .../bindings/clock/ambarella,cv75-rct.yaml    | 94 +++++++++++++++++++
 .../dt-bindings/clock/ambarella,cv75-clock.h  | 17 ++++
 2 files changed, 111 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/clock/ambarella,cv75-=
rct.yaml
 create mode 100644 include/dt-bindings/clock/ambarella,cv75-clock.h

diff --git a/Documentation/devicetree/bindings/clock/ambarella,cv75-rct.yam=
l b/Documentation/devicetree/bindings/clock/ambarella,cv75-rct.yaml
new file mode 100644
index 000000000000..5ff5b6a4a0b9
--- /dev/null
+++ b/Documentation/devicetree/bindings/clock/ambarella,cv75-rct.yaml
@@ -0,0 +1,94 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/clock/ambarella,cv75-rct.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Ambarella CV75 RCT Clock Controller
+
+maintainers:
+  - Long Zhao <[email protected]>
+
+description: |
+  The RCT (Reset and Clock Tree) block on the Ambarella CV75 SoC provides
+  PLLs, clock muxes and dividers for on-chip peripherals.
+
+  The same register region is also exposed as a syscon for other drivers
+  (e.g. pin drive-strength), hence the "syscon" compatible.
+
+  Clock indices are defined in
+  include/dt-bindings/clock/ambarella,cv75-clock.h:
+
+  - CV75_GCLK_UART0: UART0 mux/div clock
+  - CV75_GCLK_CORE: Core PLL (gclk_core)
+  - CV75_GCLK_AHB: AHB bus clock (core / 2)
+  - CV75_GCLK_APB: APB bus clock (core / 4)
+
+allOf:
+  - $ref: /schemas/mfd/syscon-common.yaml#
+
+properties:
+  $nodename:
+    pattern: "^clock-controller(@.*)?$"
+
+  compatible:
+    items:
+      - const: ambarella,cv75-rct
+      - const: syscon
+
+  reg:
+    maxItems: 1
+
+  clocks:
+    description: Reference crystal oscillator (typically 24 MHz)
+    maxItems: 1
+
+  clock-names:
+    const: osc
+
+  "#clock-cells":
+    const: 1
+
+  assigned-clocks: true
+
+  assigned-clock-parents: true
+
+  assigned-clock-rates: true
+
+required:
+  - compatible
+  - reg
+  - clocks
+  - clock-names
+  - "#clock-cells"
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/clock/ambarella,cv75-clock.h>
+
+    / {
+        compatible =3D "ambarella,cv75-evk", "ambarella,cv75";
+        #address-cells =3D <2>;
+        #size-cells =3D <2>;
+
+        osc: oscillator {
+            compatible =3D "fixed-clock";
+            #clock-cells =3D <0>;
+            clock-output-names =3D "osc";
+            clock-frequency =3D <24000000>;
+        };
+
+        rct: clock-controller@ed080000 {
+            compatible =3D "ambarella,cv75-rct", "syscon";
+            reg =3D <0xff 0xed080000 0x0 0x1000>;
+            clocks =3D <&osc>;
+            clock-names =3D "osc";
+            #clock-cells =3D <1>;
+
+            assigned-clocks =3D <&rct CV75_GCLK_UART0>;
+            assigned-clock-parents =3D <&osc>;
+            assigned-clock-rates =3D <24000000>;
+        };
+    };
diff --git a/include/dt-bindings/clock/ambarella,cv75-clock.h b/include/dt-=
bindings/clock/ambarella,cv75-clock.h
new file mode 100644
index 000000000000..3d3314446e75
--- /dev/null
+++ b/include/dt-bindings/clock/ambarella,cv75-clock.h
@@ -0,0 +1,17 @@
+/* SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause */
+/*
+ * Copyright (C) 2026 Ambarella, Inc.
+ */
+
+#ifndef _DT_BINDINGS_CLOCK_AMBARELLA_CV75_CLOCK_H
+#define _DT_BINDINGS_CLOCK_AMBARELLA_CV75_CLOCK_H
+
+/* Boot / bus clocks */
+#define CV75_GCLK_UART0                0
+#define CV75_GCLK_CORE         1
+#define CV75_GCLK_AHB          2
+#define CV75_GCLK_APB          3
+
+#define CV75_CLK_NUM           4
+
+#endif
--
2.34.1

NOTE: This email (including attachments) contain Ambarella Proprietary and/=
or Confidential Information and is intended solely for the use of the indiv=
idual(s) to whom it is addressed. Any unauthorized review, use, disclosure,=
 distribute, copy, or print is prohibited. If you are not an intended recip=
ient, please contact the sender by reply email and destroy all copies of th=
e original message. Thank you.