Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / hwmon / baikal,bt1-pvt.yaml
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 <fancer.lancer@gmail.com>
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 additionalProperties: 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-offset-millicelsius = <1000>;
103
104       clocks = <&ccu_sys>, <&ccu_sys>;
105       clock-names = "ref", "pclk";
106     };
107 ...