mirror of
git://git.openwrt.org/openwrt/openwrt.git
synced 2025-12-06 20:54:00 -05:00
Backport gated-fixed-clk driver from Linux v6.13. This is needed to fix a PCIe controller probe hang on the Radxa ROCK 5 ITX. Signed-off-by: FUKAUMI Naoki <naoki@radxa.com> Link: https://github.com/openwrt/openwrt/pull/19867 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
83 lines
2.2 KiB
Diff
83 lines
2.2 KiB
Diff
From a4a7cbe36623ffaabbae413c0eacf40d033db71f Mon Sep 17 00:00:00 2001
|
|
From: Heiko Stuebner <heiko@sntech.de>
|
|
Date: Fri, 6 Sep 2024 10:25:07 +0200
|
|
Subject: dt-bindings: clocks: add binding for gated-fixed-clocks
|
|
|
|
In contrast to fixed clocks that are described as ungateable, boards
|
|
sometimes use additional oscillators for things like PCIe reference
|
|
clocks, that need actual supplies to get enabled and enable-gpios to be
|
|
toggled for them to work.
|
|
|
|
This adds a binding for such oscillators that are not configurable
|
|
themself, but need to handle supplies for them to work.
|
|
|
|
In schematics they often can be seen as
|
|
|
|
----------------
|
|
Enable - | 100MHz,3.3V, | - VDD
|
|
| 3225 |
|
|
GND - | | - OUT
|
|
----------------
|
|
|
|
or similar. The enable pin might be separate but can also just be tied
|
|
to the vdd supply, hence it is optional in the binding.
|
|
|
|
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
|
|
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
|
|
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
|
|
Link: https://lore.kernel.org/r/20240906082511.2963890-2-heiko@sntech.de
|
|
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
|
|
|
|
--- /dev/null
|
|
+++ b/Documentation/devicetree/bindings/clock/gated-fixed-clock.yaml
|
|
@@ -0,0 +1,49 @@
|
|
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
|
+%YAML 1.2
|
|
+---
|
|
+$id: http://devicetree.org/schemas/clock/gated-fixed-clock.yaml#
|
|
+$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
+
|
|
+title: Gated Fixed clock
|
|
+
|
|
+maintainers:
|
|
+ - Heiko Stuebner <heiko@sntech.de>
|
|
+
|
|
+properties:
|
|
+ compatible:
|
|
+ const: gated-fixed-clock
|
|
+
|
|
+ "#clock-cells":
|
|
+ const: 0
|
|
+
|
|
+ clock-frequency: true
|
|
+
|
|
+ clock-output-names:
|
|
+ maxItems: 1
|
|
+
|
|
+ enable-gpios:
|
|
+ description:
|
|
+ Contains a single GPIO specifier for the GPIO that enables and disables
|
|
+ the oscillator.
|
|
+ maxItems: 1
|
|
+
|
|
+ vdd-supply:
|
|
+ description: handle of the regulator that provides the supply voltage
|
|
+
|
|
+required:
|
|
+ - compatible
|
|
+ - "#clock-cells"
|
|
+ - clock-frequency
|
|
+ - vdd-supply
|
|
+
|
|
+additionalProperties: false
|
|
+
|
|
+examples:
|
|
+ - |
|
|
+ clock-1000000000 {
|
|
+ compatible = "gated-fixed-clock";
|
|
+ #clock-cells = <0>;
|
|
+ clock-frequency = <1000000000>;
|
|
+ vdd-supply = <®_vdd>;
|
|
+ };
|
|
+...
|