c819dbd078
Cadence TTC can act as PWM device, it will be supported through separate PWM framework based driver. Decision to configure specific TTC device as PWM or clocksource/clockevent would be done based on presence of "#pwm-cells" property. Also, interrupt property is not required for TTC PWM driver. Update bindings to support TTC PWM configuration. Signed-off-by: Mubin Sayyed <mubin.sayyed@amd.com> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> Link: https://lore.kernel.org/r/20240226093333.2581092-1-mubin.sayyed@amd.com
73 lines
1.3 KiB
YAML
73 lines
1.3 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/timer/cdns,ttc.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Cadence TTC - Triple Timer Counter
|
|
|
|
maintainers:
|
|
- Michal Simek <michal.simek@amd.com>
|
|
|
|
properties:
|
|
compatible:
|
|
const: cdns,ttc
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
interrupts:
|
|
maxItems: 3
|
|
description: |
|
|
A list of 3 interrupts; one per timer channel.
|
|
|
|
clocks:
|
|
maxItems: 1
|
|
|
|
power-domains:
|
|
maxItems: 1
|
|
|
|
timer-width:
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
description: |
|
|
Bit width of the timer, necessary if not 16.
|
|
|
|
"#pwm-cells":
|
|
const: 3
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- clocks
|
|
|
|
allOf:
|
|
- if:
|
|
not:
|
|
required:
|
|
- "#pwm-cells"
|
|
then:
|
|
required:
|
|
- interrupts
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
ttc0: ttc0@f8001000 {
|
|
interrupt-parent = <&intc>;
|
|
interrupts = <0 10 4>, <0 11 4>, <0 12 4>;
|
|
compatible = "cdns,ttc";
|
|
reg = <0xF8001000 0x1000>;
|
|
clocks = <&cpu_clk 3>;
|
|
timer-width = <32>;
|
|
};
|
|
|
|
- |
|
|
pwm: pwm@f8002000 {
|
|
compatible = "cdns,ttc";
|
|
reg = <0xf8002000 0x1000>;
|
|
clocks = <&cpu_clk 3>;
|
|
timer-width = <32>;
|
|
#pwm-cells = <3>;
|
|
};
|