mirror of
git://nv-tegra.nvidia.com/linux-nv-oot.git
synced 2025-12-22 17:25:35 +03:00
documentation: Add DT binding document for PWM tachometer driver
Add Device Tree binding document for the PWM based tachometer driver. Bug 3621819 Change-Id: I186f473afbfbbf56741dcf7149f68823d1d01f30 Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2703761 GVS: Gerrit_Virtual_Submit
This commit is contained in:
committed by
mobile promotions
parent
3a5b645b03
commit
fb19a12e96
130
Documentation/devicetree/bindings/pwm/pwm-tegra-tachometer.yaml
Normal file
130
Documentation/devicetree/bindings/pwm/pwm-tegra-tachometer.yaml
Normal file
@@ -0,0 +1,130 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/pwm/pwm-tegra-tachometer.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: NVIDIA Tegra PWM based tachometer
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Laxman Dewangan <ldewangan@nvidia.com>
|
||||||
|
- Vishwaroop A <va@nvidia.com>
|
||||||
|
|
||||||
|
description: |+
|
||||||
|
Nvidia SoCs Tegra contains PWM based tachometer which captrues the PWM signal
|
||||||
|
and reports this as RPM.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- nvidia,pwm-tegra234-tachometer
|
||||||
|
- nvidia,pwm-tegra194-tachometer
|
||||||
|
- nvidia,pwm-tegra186-tachometer
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
description: Base address and size of the Tachometer controller.
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clock-names:
|
||||||
|
description: |
|
||||||
|
Should contain all following required clock names:
|
||||||
|
- "tach" - Base clock for the tachometer to measure the timing of PWM period.
|
||||||
|
|
||||||
|
resets:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
reset-names:
|
||||||
|
description: |
|
||||||
|
Should contain all following required reset names:
|
||||||
|
- "tach" - Reset name for the tachometer controller.
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
description:
|
||||||
|
Interrupt from the tachometer if speed of wheel crosses the upper/lowe threshold.
|
||||||
|
|
||||||
|
"#pwm-cells":
|
||||||
|
description:
|
||||||
|
The only third cell flag supported by this binding
|
||||||
|
is PWM_POLARITY_INVERTED.
|
||||||
|
const: 2
|
||||||
|
|
||||||
|
pulse-per-rev:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description: |
|
||||||
|
Number of PWM pusles per revolution of the wheel.
|
||||||
|
|
||||||
|
capture-window-length:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description: |
|
||||||
|
Number of window for which PWM signal needs to capture for calculating the speed in RPM.
|
||||||
|
|
||||||
|
disable-clk-gate:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/flag
|
||||||
|
description: |
|
||||||
|
If present than disable the clock gating to continuously provide the clock to the controller.
|
||||||
|
|
||||||
|
upper-threshold:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description: |
|
||||||
|
Upper threshold of RPM for which interrupt is generated.
|
||||||
|
|
||||||
|
lower-threshold:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description: |
|
||||||
|
Lower threshold of RPM for which interrupt is generated.
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- clocks
|
||||||
|
- clock-names
|
||||||
|
- resets
|
||||||
|
- reset-names
|
||||||
|
- "#pwm-cells"
|
||||||
|
- pulse-per-rev
|
||||||
|
- capture-window-length
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: pwm.yaml#
|
||||||
|
|
||||||
|
- if:
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
contains:
|
||||||
|
enum:
|
||||||
|
- nvidia,pwm-tegra234-tachometer
|
||||||
|
then:
|
||||||
|
required:
|
||||||
|
- interrupts
|
||||||
|
- upper-threshold
|
||||||
|
- lower-threshold
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#define TEGRA234_RESET_TACH0 95U
|
||||||
|
#define TEGRA234_CLK_TACH0 152U
|
||||||
|
|
||||||
|
|
||||||
|
soc {
|
||||||
|
#address-cells = <2>;
|
||||||
|
#size-cells = <2>;
|
||||||
|
|
||||||
|
tegra_tachometer: pwm@39c0000 {
|
||||||
|
compatible = "nvidia,pwm-tegra194-tachometer";
|
||||||
|
reg = <0x0 0x039c0000 0x0 0x10>;
|
||||||
|
#pwm-cells = <2>;
|
||||||
|
clocks = <&bpmp_clks TEGRA234_CLK_TACH0>;
|
||||||
|
clock-names = "tach";
|
||||||
|
resets = <&bpmp_resets TEGRA234_RESET_TACH0>;
|
||||||
|
reset-names = "tach";
|
||||||
|
pulse-per-rev = <2>;
|
||||||
|
capture-window-length = <2>;
|
||||||
|
disable-clk-gate;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
...
|
||||||
Reference in New Issue
Block a user