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