Skip to content

Commit ddc65ca

Browse files
fancergroeck
authored andcommitted
dt-bindings: hwmon: Add Baikal-T1 PVT sensor binding
Baikal-T1 SoC is equipped with an embedded process, voltage and temperature sensor to monitor the chip internal environment like temperature, supply voltage and transistors performance. This bindings describes the external Baikal-T1 PVT control interfaces like MMIO registers space, interrupt request number and clocks source. These are then used by the corresponding hwmon device driver to implement the sysfs files-based access to the sensors functionality. Co-developed-by: Maxim Kaurkin <[email protected]> Signed-off-by: Maxim Kaurkin <[email protected]> Signed-off-by: Serge Semin <[email protected]> Reviewed-by: Rob Herring <[email protected]> Cc: Alexey Malahov <[email protected]> Cc: Thomas Bogendoerfer <[email protected]> Cc: Arnd Bergmann <[email protected]> Cc: [email protected] Signed-off-by: Guenter Roeck <[email protected]>
1 parent fff2d0f commit ddc65ca

File tree

1 file changed

+107
-0
lines changed

1 file changed

+107
-0
lines changed
Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
# Copyright (C) 2020 BAIKAL ELECTRONICS, JSC
3+
%YAML 1.2
4+
---
5+
$id: http://devicetree.org/schemas/hwmon/baikal,bt1-pvt.yaml#
6+
$schema: http://devicetree.org/meta-schemas/core.yaml#
7+
8+
title: Baikal-T1 PVT Sensor
9+
10+
maintainers:
11+
- Serge Semin <[email protected]>
12+
13+
description: |
14+
Baikal-T1 SoC provides an embedded process, voltage and temperature
15+
sensor to monitor an internal SoC environment (chip temperature, supply
16+
voltage and process monitor) and on time detect critical situations,
17+
which may cause the system instability and even damages. The IP-block
18+
is based on the Analog Bits PVT sensor, but is equipped with a dedicated
19+
control wrapper, which provides a MMIO registers-based access to the
20+
sensor core functionality (APB3-bus based) and exposes an additional
21+
functions like thresholds/data ready interrupts, its status and masks,
22+
measurements timeout. Its internal structure is depicted on the next
23+
diagram:
24+
25+
Analog Bits core Bakal-T1 PVT control block
26+
+--------------------+ +------------------------+
27+
| Temperature sensor |-+ +------| Sensors control |
28+
|--------------------| |<---En---| |------------------------|
29+
| Voltage sensor |-|<--Mode--| +--->| Sampled data |
30+
|--------------------| |<--Trim--+ | |------------------------|
31+
| Low-Vt sensor |-| | +--| Thresholds comparator |
32+
|--------------------| |---Data----| | |------------------------|
33+
| High-Vt sensor |-| | +->| Interrupts status |
34+
|--------------------| |--Valid--+-+ | |------------------------|
35+
| Standard-Vt sensor |-+ +---+--| Interrupts mask |
36+
+--------------------+ |------------------------|
37+
^ | Interrupts timeout |
38+
| +------------------------+
39+
| ^ ^
40+
Rclk-----+----------------------------------------+ |
41+
APB3-------------------------------------------------+
42+
43+
This bindings describes the external Baikal-T1 PVT control interfaces
44+
like MMIO registers space, interrupt request number and clocks source.
45+
These are then used by the corresponding hwmon device driver to
46+
implement the sysfs files-based access to the sensors functionality.
47+
48+
properties:
49+
compatible:
50+
const: baikal,bt1-pvt
51+
52+
reg:
53+
maxItems: 1
54+
55+
interrupts:
56+
maxItems: 1
57+
58+
clocks:
59+
items:
60+
- description: PVT reference clock
61+
- description: APB3 interface clock
62+
63+
clock-names:
64+
items:
65+
- const: ref
66+
- const: pclk
67+
68+
"#thermal-sensor-cells":
69+
description: Baikal-T1 can be referenced as the CPU thermal-sensor
70+
const: 0
71+
72+
baikal,pvt-temp-offset-millicelsius:
73+
description: |
74+
Temperature sensor trimming factor. It can be used to manually adjust the
75+
temperature measurements within 7.130 degrees Celsius.
76+
maxItems: 1
77+
items:
78+
default: 0
79+
minimum: 0
80+
maximum: 7130
81+
82+
unevaluatedProperties: false
83+
84+
required:
85+
- compatible
86+
- reg
87+
- interrupts
88+
- clocks
89+
- clock-names
90+
91+
examples:
92+
- |
93+
#include <dt-bindings/interrupt-controller/mips-gic.h>
94+
95+
pvt@1f200000 {
96+
compatible = "baikal,bt1-pvt";
97+
reg = <0x1f200000 0x1000>;
98+
#thermal-sensor-cells = <0>;
99+
100+
interrupts = <GIC_SHARED 31 IRQ_TYPE_LEVEL_HIGH>;
101+
102+
baikal,pvt-temp-trim-millicelsius = <1000>;
103+
104+
clocks = <&ccu_sys>, <&ccu_sys>;
105+
clock-names = "ref", "pclk";
106+
};
107+
...

0 commit comments

Comments
 (0)