Skip to content

Commit 30fddbd

Browse files
cjdelisledlezcano
authored andcommitted
dt-bindings: timer: Add EcoNet EN751221 "HPT" CPU Timer
Add device tree bindings for the so-called high-precision timer (HPT) in the EcoNet EN751221 SoC. Signed-off-by: Caleb James DeLisle <[email protected]> Reviewed-by: Krzysztof Kozlowski <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Daniel Lezcano <[email protected]>
1 parent 7aeeac5 commit 30fddbd

File tree

1 file changed

+80
-0
lines changed

1 file changed

+80
-0
lines changed
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/timer/econet,en751221-timer.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: EcoNet EN751221 High Precision Timer (HPT)
8+
9+
maintainers:
10+
- Caleb James DeLisle <[email protected]>
11+
12+
description:
13+
The EcoNet High Precision Timer (HPT) is a timer peripheral found in various
14+
EcoNet SoCs, including the EN751221 and EN751627 families. It provides per-VPE
15+
count/compare registers and a per-CPU control register, with a single interrupt
16+
line using a percpu-devid interrupt mechanism.
17+
18+
properties:
19+
compatible:
20+
oneOf:
21+
- const: econet,en751221-timer
22+
- items:
23+
- const: econet,en751627-timer
24+
- const: econet,en751221-timer
25+
26+
reg:
27+
minItems: 1
28+
maxItems: 2
29+
30+
interrupts:
31+
maxItems: 1
32+
description: A percpu-devid timer interrupt shared across CPUs.
33+
34+
clocks:
35+
maxItems: 1
36+
37+
required:
38+
- compatible
39+
- reg
40+
- interrupts
41+
- clocks
42+
43+
allOf:
44+
- if:
45+
properties:
46+
compatible:
47+
contains:
48+
const: econet,en751627-timer
49+
then:
50+
properties:
51+
reg:
52+
items:
53+
- description: VPE timers 0 and 1
54+
- description: VPE timers 2 and 3
55+
else:
56+
properties:
57+
reg:
58+
items:
59+
- description: VPE timers 0 and 1
60+
61+
additionalProperties: false
62+
63+
examples:
64+
- |
65+
timer@1fbf0400 {
66+
compatible = "econet,en751627-timer", "econet,en751221-timer";
67+
reg = <0x1fbf0400 0x100>, <0x1fbe0000 0x100>;
68+
interrupt-parent = <&intc>;
69+
interrupts = <30>;
70+
clocks = <&hpt_clock>;
71+
};
72+
- |
73+
timer@1fbf0400 {
74+
compatible = "econet,en751221-timer";
75+
reg = <0x1fbe0400 0x100>;
76+
interrupt-parent = <&intc>;
77+
interrupts = <30>;
78+
clocks = <&hpt_clock>;
79+
};
80+
...

0 commit comments

Comments
 (0)