Hi Zhou,
Le mer. 1 juil. 2020 Ã 1:15, åçæ (Zhou Yanjie) <zhouyanjie@xxxxxxxxxxxxxx> a Ãcrit :Add the OST bindings for the X10000 SoC from Ingenic.
Tested-by: åæ (Zhou Zheng) <sernia.zhou@xxxxxxxxxxx>
Signed-off-by: åçæ (Zhou Yanjie) <zhouyanjie@xxxxxxxxxxxxxx>
---
Notes:
ÂÂÂ v1->v2:
ÂÂÂ No change.
ÂÂÂ v2->v3:
ÂÂÂ Fix wrong parameters in "clocks".
Â.../devicetree/bindings/timer/ingenic,ost.yamlÂÂÂÂ | 61 ++++++++++++++++++++++
Âinclude/dt-bindings/clock/ingenic,ost.hÂÂÂÂÂÂÂÂÂÂÂ | 12 +++++
Please name them ingenic,sysost.yaml and ingenic,sysost.h, to differenciate with the OST that is in the JZ SoCs.
Â2 files changed, 73 insertions(+)
Âcreate mode 100644 Documentation/devicetree/bindings/timer/ingenic,ost.yaml
Âcreate mode 100644 include/dt-bindings/clock/ingenic,ost.h
diff --git a/Documentation/devicetree/bindings/timer/ingenic,ost.yaml b/Documentation/devicetree/bindings/timer/ingenic,ost.yaml
new file mode 100644
index 000000000000..459dd3d161c2
--- /dev/null
+++ b/Documentation/devicetree/bindings/timer/ingenic,ost.yaml
@@ -0,0 +1,61 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/timer/ingenic,ost.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Bindings for SYSOST in Ingenic XBurst family SoCs
+
+maintainers:
+Â - åçæ (Zhou Yanjie) <zhouyanjie@xxxxxxxxxxxxxx>
+
+description:
+Â The SYSOST in an Ingenic SoC provides one 64bit timer for clocksource
+Â and one or more than one 32bit timers for clockevent.
"and one or more than one" -> "and one or more"
+
+properties:
+Â compatible:
+ÂÂÂ oneOf:
+
+ÂÂÂÂÂ - description: SYSOST in Ingenic XBurst family SoCs
XBurst is the name of the CPU, not a SoC family, so you would just write 'Ingenic SoCs'. But just drop the description alltogether, it does not add anything valuable.
+ÂÂÂÂÂÂÂ enum:
+ÂÂÂÂÂÂÂÂÂ - ingenic,x1000-ost
+ÂÂÂÂÂÂÂÂÂ - ingenic,x2000-ost
You have "ingenic,x2000-ost" as a compatible string, but your driver (in patch [2/2]) only handles the first compatible string. Either they are different, in this case the driver should handle both, or they work the same, and in the case the "ingenic,x2000-ost" string should use "ingenic,x1000-ost" as a fallback string.
Cheers,
-Paul
+
+Â reg:
+ÂÂÂ maxItems: 1
+
+Â clocks:
+ÂÂÂ maxItems: 1
+
+Â clock-names:
+ÂÂÂ const: ost
+
+Â interrupts:
+ÂÂÂ maxItems: 1
+
+required:
+Â - "#clock-cells"
+Â - compatible
+Â - reg
+Â - clocks
+Â - clock-names
+Â - interrupts
+
+examples:
+Â - |
+ÂÂÂ #include <dt-bindings/clock/x1000-cgu.h>
+
+ÂÂÂ ost: timer@12000000 {
+ÂÂÂÂÂÂÂÂÂÂÂ compatible = "ingenic,x1000-ost";
+ÂÂÂÂÂÂÂÂÂÂÂ reg = <0x12000000 0x3c>;
+
+ÂÂÂÂÂÂÂÂÂÂÂ #clock-cells = <1>;
+
+ÂÂÂÂÂÂÂÂÂÂÂ clocks = <&cgu X1000_CLK_OST>;
+ÂÂÂÂÂÂÂÂÂÂÂ clock-names = "ost";
+
+ÂÂÂÂÂÂÂÂÂÂÂ interrupt-parent = <&cpuintc>;
+ÂÂÂÂÂÂÂÂÂÂÂ interrupts = <3>;
+ÂÂÂÂÂÂÂ };
+...
diff --git a/include/dt-bindings/clock/ingenic,ost.h b/include/dt-bindings/clock/ingenic,ost.h
new file mode 100644
index 000000000000..9ac88e90babf
--- /dev/null
+++ b/include/dt-bindings/clock/ingenic,ost.h
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * This header provides clock numbers for the ingenic,tcu DT binding.
+ */
+
+#ifndef __DT_BINDINGS_CLOCK_INGENIC_OST_H__
+#define __DT_BINDINGS_CLOCK_INGENIC_OST_H__
+
+#define OST_CLK_PERCPU_TIMERÂÂÂ 0
+#define OST_CLK_GLOBAL_TIMERÂÂÂ 1
+
+#endif /* __DT_BINDINGS_CLOCK_INGENIC_OST_H__ */
--
2.11.0