From: Imran Shaik <imran.shaik@oss.qualcomm.com>
To: Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Richard Cochran <richardcochran@gmail.com>,
Andrew Lunn <andrew+netdev@lunn.ch>,
"David S. Miller" <davem@davemloft.net>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Bjorn Andersson <andersson@kernel.org>,
Konrad Dybcio <konradybcio@kernel.org>,
Eric Dumazet <edumazet@kernel.org>,
Abel Vesa <abelvesa@kernel.org>,
Eric Dumazet <edumazet@kernel.org>
Cc: Ajit Pandey <ajit.pandey@oss.qualcomm.com>,
Taniya Das <taniya.das@oss.qualcomm.com>,
Jagadeesh Kona <jagadeesh.kona@oss.qualcomm.com>,
linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
Imran Shaik <imran.shaik@oss.qualcomm.com>
Subject: [PATCH v2 03/10] dt-bindings: ptp: Document TSCSS hardware on Qualcomm Nord and Shikra SoCs
Date: Sun, 08 Nov 2026 18:48:24 +0530 [thread overview]
Message-ID: <20261108-tscss-v2-3-d5f575010427@oss.qualcomm.com> (raw)
In-Reply-To: <20261108-tscss-v2-0-d5f575010427@oss.qualcomm.com>
Add Devicetree bindings for the Timestamp Counter Subsystem (TSCSS) found
on Qualcomm Nord and Shikra SoCs.
TSCSS is a time synchronization subsystem composed of two main blocks:
Timestamp Counter (TSC) and Event Timestamp Unit (ETU). The TSC block
provides a continuously running counter used for timekeeping, while the
ETU captures timestamps for external hardware event triggers.
Nord additionally has a timer register region used to generate a
periodic pulse in sync with the TSC counter.
Co-developed-by: Taniya Das <taniya.das@oss.qualcomm.com>
Signed-off-by: Taniya Das <taniya.das@oss.qualcomm.com>
Signed-off-by: Imran Shaik <imran.shaik@oss.qualcomm.com>
---
.../devicetree/bindings/ptp/qcom,nord-tscss.yaml | 186 +++++++++++++++++++++
1 file changed, 186 insertions(+)
diff --git a/Documentation/devicetree/bindings/ptp/qcom,nord-tscss.yaml b/Documentation/devicetree/bindings/ptp/qcom,nord-tscss.yaml
new file mode 100644
index 000000000000..9d49e66a35c9
--- /dev/null
+++ b/Documentation/devicetree/bindings/ptp/qcom,nord-tscss.yaml
@@ -0,0 +1,186 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/ptp/qcom,nord-tscss.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Timestamp Counter Subsystem (TSCSS) on Qualcomm Nord and Shikra
+
+maintainers:
+ - Imran Shaik <imran.shaik@oss.qualcomm.com>
+ - Taniya Das <taniya.das@oss.qualcomm.com>
+
+description: |
+ Qualcomm TSCSS is a time synchronization subsystem composed of two main
+ blocks - the Timestamp Counter (TSC) and the Event Timestamp Unit (ETU).
+
+ The TSC block is a timestamp generator that maintains a running counter used
+ for system timekeeping, and is functional with just the AHB and counter
+ clocks.
+ The ETU block captures TSC timestamps for external hardware events. Each
+ ETU slice binds a slice number to an external event selector, and a
+ single summary interrupt is raised for any ETU slice event.
+
+ Nord additionally has a timer register region used to generate a
+ periodic pulse in sync with the TSC counter.
+
+properties:
+ compatible:
+ oneOf:
+ - const: qcom,nord-tscss
+ - items:
+ - const: qcom,shikra-tscss
+ - const: qcom,nord-tscss
+
+ reg:
+ minItems: 1
+ maxItems: 3
+
+ reg-names:
+ minItems: 1
+ items:
+ - const: tsc
+ - const: etu
+ - const: timer
+
+ clocks:
+ items:
+ - description: TSC AHB configuration clock.
+ - description: TSC global counter clock.
+ - description: TSC ETU clock.
+
+ clock-names:
+ items:
+ - const: ahb
+ - const: cntr
+ - const: etu
+
+ interrupts:
+ items:
+ - description:
+ Summary interrupt raised based on an external event for any
+ of the ETU slices.
+
+ interrupt-names:
+ items:
+ - const: etu_summary
+
+ pinctrl-names:
+ minItems: 1
+ maxItems: 32
+ items:
+ pattern: "^slice[0-9]+$"
+
+ qcom,etu-slice:
+ description:
+ ETU slice number for each entry in pinctrl-<n>, pinctrl-names and
+ qcom,etu-event-sel.
+ minItems: 1
+ maxItems: 32
+ $ref: /schemas/types.yaml#/definitions/uint32-array
+
+ qcom,etu-event-sel:
+ description:
+ External event selection value for each ETU slice listed in
+ qcom,etu-slice.
+ minItems: 1
+ maxItems: 32
+ $ref: /schemas/types.yaml#/definitions/uint32-array
+
+required:
+ - compatible
+ - reg
+ - reg-names
+ - clocks
+ - clock-names
+
+allOf:
+ - if:
+ properties:
+ reg-names:
+ contains:
+ const: etu
+ then:
+ required:
+ - interrupts
+ - interrupt-names
+ - pinctrl-names
+ - qcom,etu-slice
+ - qcom,etu-event-sel
+
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: qcom,shikra-tscss
+ then:
+ properties:
+ reg-names:
+ minItems: 1
+ items:
+ - const: tsc
+ - const: etu
+ pinctrl-names:
+ maxItems: 8
+ qcom,etu-slice:
+ maxItems: 8
+ qcom,etu-event-sel:
+ maxItems: 8
+
+additionalProperties: false
+
+examples:
+ - |
+ soc {
+ #address-cells = <2>;
+ #size-cells = <2>;
+
+ ptp@1c80000 {
+ compatible = "qcom,nord-tscss";
+ reg = <0x0 0x01c80000 0x0 0x2000>;
+ reg-names = "tsc";
+
+ clocks = <&gcc_tscss_ahb_clk>,
+ <&gcc_tscss_cntr_clk>,
+ <&gcc_tscss_etu_clk>;
+ clock-names = "ahb", "cntr", "etu";
+
+ assigned-clocks = <&gcc_tscss_cntr_clk>;
+ assigned-clock-rates = <250000000>;
+ };
+ };
+
+ - |
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+
+ soc {
+ #address-cells = <2>;
+ #size-cells = <2>;
+
+ ptp@1c80000 {
+ compatible = "qcom,nord-tscss";
+ reg = <0x0 0x01c80000 0x0 0x2000>,
+ <0x0 0x01ca0000 0x0 0x20000>,
+ <0x0 0x01c87000 0x0 0x1000>;
+ reg-names = "tsc", "etu", "timer";
+
+ clocks = <&gcc_tscss_ahb_clk>,
+ <&gcc_tscss_cntr_clk>,
+ <&gcc_tscss_etu_clk>;
+ clock-names = "ahb", "cntr", "etu";
+
+ assigned-clocks = <&gcc_tscss_cntr_clk>;
+ assigned-clock-rates = <250000000>;
+
+ interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "etu_summary";
+
+ pinctrl-0 = <&cci_timer0>;
+ pinctrl-1 = <&cci_timer1>;
+ pinctrl-names = "slice1", "slice2";
+
+ qcom,etu-slice = <1 2>;
+ qcom,etu-event-sel = <1 2>;
+ };
+ };
+...
--
2.34.1
next prev parent reply other threads:[~2026-11-08 13:18 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-08 13:18 [PATCH v2 00/10] Add support for Qualcomm TSCSS hardware Imran Shaik
2026-11-08 13:18 ` [PATCH v2 01/10] dt-bindings: ptp: Document the TSCSS on Qualcomm SA8775P and QCS8300 SoCs Imran Shaik
2026-11-09 12:48 ` Krzysztof Kozlowski
2026-11-12 9:31 ` Imran Shaik
2026-11-13 7:03 ` Krzysztof Kozlowski
2026-11-13 10:42 ` Imran Shaik
2026-11-09 13:19 ` sashiko-bot
2026-11-08 13:18 ` [PATCH v2 02/10] dt-bindings: ptp: Document TSCSS hardware on Qualcomm QDU1000 SoC Imran Shaik
2026-11-09 12:49 ` Krzysztof Kozlowski
2026-11-12 9:32 ` Imran Shaik
2026-11-13 7:05 ` Krzysztof Kozlowski
2026-11-13 10:44 ` Imran Shaik
2026-11-08 13:18 ` Imran Shaik [this message]
2026-11-09 12:51 ` [PATCH v2 03/10] dt-bindings: ptp: Document TSCSS hardware on Qualcomm Nord and Shikra SoCs Krzysztof Kozlowski
2026-11-12 9:32 ` Imran Shaik
2026-11-09 13:19 ` sashiko-bot
2026-11-08 13:18 ` [PATCH v2 04/10] ptp: qcom: Add PTP driver for the Qualcomm TSC hardware Imran Shaik
2026-11-09 13:19 ` sashiko-bot
2026-11-08 13:18 ` [PATCH v2 05/10] arm64: defconfig: Enable Qualcomm TSC driver Imran Shaik
2026-11-08 13:18 ` [PATCH v2 06/10] arm64: dts: qcom: lemans: Add support for TSCSS node Imran Shaik
2026-11-09 12:52 ` Krzysztof Kozlowski
2026-11-12 9:33 ` Imran Shaik
2026-11-09 13:19 ` sashiko-bot
2026-11-08 13:18 ` [PATCH v2 07/10] arm64: dts: qcom: monaco: " Imran Shaik
2026-11-08 13:18 ` [PATCH v2 08/10] arm64: dts: qcom: qdu1000: " Imran Shaik
2026-11-09 12:52 ` Krzysztof Kozlowski
2026-11-08 13:18 ` [PATCH v2 09/10] arm64: dts: qcom: shikra: " Imran Shaik
2026-11-08 13:18 ` [PATCH v2 10/10] arm64: dts: qcom: nord: " Imran Shaik
2026-11-09 8:43 ` Shawn Guo
2026-11-12 9:33 ` Imran Shaik
2026-11-09 12:52 ` Krzysztof Kozlowski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261108-tscss-v2-3-d5f575010427@oss.qualcomm.com \
--to=imran.shaik@oss.qualcomm.com \
--cc=abelvesa@kernel.org \
--cc=ajit.pandey@oss.qualcomm.com \
--cc=andersson@kernel.org \
--cc=andrew+netdev@lunn.ch \
--cc=conor+dt@kernel.org \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=edumazet@kernel.org \
--cc=jagadeesh.kona@oss.qualcomm.com \
--cc=konradybcio@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=kuba@kernel.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=richardcochran@gmail.com \
--cc=robh@kernel.org \
--cc=taniya.das@oss.qualcomm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.