Re: [PATCH v2 04/10] dt-bindings: timer: Add EcoNet EN751221 "HPT" CPU Timer

From: Caleb James DeLisle
Date: Wed Mar 26 2025 - 04:20:33 EST



On 26/03/2025 09:04, Krzysztof Kozlowski wrote:
On Tue, Mar 25, 2025 at 01:43:43PM +0000, Caleb James DeLisle wrote:
+title: EcoNet EN751221 High Precision Timer (HPT)
+
+maintainers:
+ - Caleb James DeLisle <cjd@xxxxxxxx>
+
+description:
+ The EcoNet High Precision Timer (HPT) is a timer peripheral found in various
+ EcoNet SoCs, including the EN751221 and EN751627 families. It provides per-VPE
+ count/compare registers and a per-CPU control register, with a single interrupt
+ line using a percpu-devid interrupt mechanism.
+
+properties:
+ compatible:
+ oneOf:
+ - items:
Drop items, that's const directly.
Got it.

+ - const: econet,en751221-timer
+ - items:
+ - const: econet,en751627-timer
+ - const: econet,en751221-timer
+
+ reg: true
Widest constraints are always here.

(AFACT) there's no common constraint to both.

en751221 => minItems: 1, maxItems: 1

en751627 => minItems: 2, maxItems: 2

I spent some time playing with this, thinking I could override constraints
but everything I tried lead me to validation errors. Please let me know if
there's something I'm missing here...


+
+ interrupts:
+ maxItems: 1
+ description: A percpu-devid timer interrupt shared across CPUs.
+
+ clocks:
+ maxItems: 1
+
+if:
This goes under allOf:, to save re-indent later, and then after
required: block (see example-schema).
Got it.

+ properties:
+ compatible:
+ contains:
+ const: econet,en751627-timer
+then:
+ properties:
+ reg:
+ items:
+ - description: Base address for VPE timers 0 and 1
s/Base address for//
because it is redundant. Bus/parent addressing already defines this as
base address, cannot be anything else.

Indeed, got it.


Thank you for the review.

Caleb



+ - description: Base address for VPE timers 2 and 3
+else:
+ properties:
+ reg:
+ items:
+ - description: Base address for VPE timers 0 and 1
Best regards,
Krzysztof