From: Anson Huang <[email protected]>
Systems which use platform driver model for clock driver require the
clock frequency to be supplied via device tree when system counter
driver is enabled.
This is necessary as in the platform driver model the of_clk operations
do not work correctly because system counter driver is initialized in
early phase of system boot up, and clock driver using platform driver
model is NOT ready at that time, it will cause system counter driver
initialization failed.
Add clock-frequency property to the device tree bindings of the NXP
system counter, so the driver can tell timer-of driver to get clock
frequency from DT directly instead of doing of_clk operations via
clk APIs.
Signed-off-by: Anson Huang <[email protected]>
---
Changes since V2:
- make clock-frequency property as required property, mutually exclusive with clocks/clock-names.
- update the example using the DT node added in this patch series.
---
.../devicetree/bindings/timer/nxp,sysctr-timer.txt | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
diff --git a/Documentation/devicetree/bindings/timer/nxp,sysctr-timer.txt b/Documentation/devicetree/bindings/timer/nxp,sysctr-timer.txt
index d576599..7088a0e 100644
--- a/Documentation/devicetree/bindings/timer/nxp,sysctr-timer.txt
+++ b/Documentation/devicetree/bindings/timer/nxp,sysctr-timer.txt
@@ -11,15 +11,18 @@ Required properties:
- reg : Specifies the base physical address and size of the comapre
frame and the counter control, read & compare.
- interrupts : should be the first compare frames' interrupt
-- clocks : Specifies the counter clock.
-- clock-names: Specifies the clock's name of this module
+- clocks : Specifies the counter clock, mutually exclusive with clock-frequency.
+- clock-names : Specifies the clock's name of this module, mutually exclusive with
+ clock-frequency.
+- clock-frequency : Specifies system counter clock frequency, mutually exclusive with
+ clocks/clock-names.
Example:
system_counter: timer@306a0000 {
compatible = "nxp,sysctr-timer";
- reg = <0x306a0000 0x20000>;/* system-counter-rd & compare */
- clocks = <&clk_8m>;
- clock-names = "per";
- interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
+ reg = <0x306a0000 0x30000>;
+ interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
+ clock-frequency = <8333333>;
};
--
2.7.4