[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250528140917.876453-2-edgar.iglesias@gmail.com>
Date: Wed, 28 May 2025 16:09:16 +0200
From: "Edgar E. Iglesias" <edgar.iglesias@...il.com>
To: mturquette@...libre.com,
sboyd@...nel.org,
robh@...nel.org,
krzk+dt@...nel.org,
conor+dt@...nel.org,
jank@...ence.com
Cc: edgar.iglesias@....com,
linux-clk@...r.kernel.org,
devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: [PATCH v2 1/2] dt-bindings: clk: fixed-mmio-clock: Add optional ready reg
From: "Edgar E. Iglesias" <edgar.iglesias@....com>
Add an optional ready register and properties describing bitfields
that signal when the clock is ready. This can for example be useful
to describe PLL lock bits.
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@....com>
---
.../bindings/clock/fixed-mmio-clock.yaml | 37 ++++++++++++++++++-
1 file changed, 36 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/clock/fixed-mmio-clock.yaml b/Documentation/devicetree/bindings/clock/fixed-mmio-clock.yaml
index e22fc272d023..57419b4de343 100644
--- a/Documentation/devicetree/bindings/clock/fixed-mmio-clock.yaml
+++ b/Documentation/devicetree/bindings/clock/fixed-mmio-clock.yaml
@@ -10,6 +10,11 @@ description:
This binding describes a fixed-rate clock for which the frequency can
be read from a single 32-bit memory mapped I/O register.
+ An optional ready register can be specified in a second reg entry.
+ The ready register will be polled until it signals ready prior to reading
+ the fixed rate. This is useful for example to optionally wait for a PLL
+ to lock.
+
It was designed for test systems, like FPGA, not for complete,
finished SoCs.
@@ -21,7 +26,10 @@ properties:
const: fixed-mmio-clock
reg:
- maxItems: 1
+ minItems: 1
+ items:
+ - description: Fixed rate register
+ - description: Optional clock ready register
"#clock-cells":
const: 0
@@ -29,6 +37,24 @@ properties:
clock-output-names:
maxItems: 1
+ ready-timeout-us:
+ description:
+ Optional timeout in micro-seconds when polling for clock readiness.
+ 0 means no timeout.
+ default: 0
+
+ ready-mask:
+ description:
+ Optional mask to apply when reading the ready register.
+ $ref: /schemas/types.yaml#/definitions/uint32
+ default: 0xffffffff
+
+ ready-value:
+ description:
+ When a ready register is specified in reg, poll the ready reg until
+ ready-reg & ready-mask == ready-value.
+ $ref: /schemas/types.yaml#/definitions/uint32
+
required:
- compatible
- reg
@@ -44,4 +70,13 @@ examples:
reg = <0xfd020004 0x4>;
clock-output-names = "sysclk";
};
+ - |
+ clock@...40000 {
+ compatible = "fixed-mmio-clock";
+ #clock-cells = <0>;
+ reg = <0xfd040000 0x4 0xfd040004 0x4>;
+ ready-mask = <1>;
+ ready-value = <1>;
+ clock-output-names = "pclk";
+ };
...
--
2.43.0
Powered by blists - more mailing lists