Re: [PATCH v3 1/2] dt-bindings: timer: Add Ingenic X1000 OST bindings.

From: Zhou Yanjie
Date: Wed Jul 01 2020 - 12:54:02 EST


Hi Paul,

å 2020/7/1 äå3:15, Paul Cercueil åé:
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.


Sure.


Â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"


OK, I'll change it in the next version.


+
+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.


Sure.


+ÂÂÂÂÂÂÂ 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.


If SMT is not turned on, X2000 can be compatible with X1000, but if SMT is turned on, some additional processing is required, and now this compatible string is reserved for this.

Thanks and best regards!


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