The NVIDIA Tegra186 SoC has a Tachometer Controller that analyzes the
PWM signal of a Fan and reports the period value through pwm interface.

Signed-off-by: Rajkumar Rampelli <rr...@nvidia.com>
---
 arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts |  5 +++++
 arch/arm64/boot/dts/nvidia/tegra186.dtsi           | 11 +++++++++++
 2 files changed, 16 insertions(+)

diff --git a/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts 
b/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts
index bd5305a..13c3e59 100644
--- a/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts
+++ b/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts
@@ -172,4 +172,9 @@
                        vin-supply = <&vdd_5v0_sys>;
                };
        };
+
+       tachometer@39c0000 {
+               nvidia,pulse-per-rev = <2>;
+               nvidia,capture-window-len = <2>;
+       };
 };
diff --git a/arch/arm64/boot/dts/nvidia/tegra186.dtsi 
b/arch/arm64/boot/dts/nvidia/tegra186.dtsi
index b762227..8f2d598 100644
--- a/arch/arm64/boot/dts/nvidia/tegra186.dtsi
+++ b/arch/arm64/boot/dts/nvidia/tegra186.dtsi
@@ -1031,4 +1031,15 @@
                                (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
                interrupt-parent = <&gic>;
        };
+
+       tegra_tachometer: tachometer@39c0000 {
+               compatible = "nvidia,tegra186-pwm-tachometer";
+               reg = <0x0 0x039c0000 0x0 0x10>;
+               #pwm-cells = <2>;
+               clocks = <&bpmp TEGRA186_CLK_TACH>;
+               clock-names = "tachometer";
+               resets = <&bpmp TEGRA186_RESET_TACH>;
+               reset-names = "tachometer";
+               status = "disabled";
+       };
 };
-- 
2.1.4

Reply via email to