-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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 <maxim.kaurkin@baikalelectronics.ru> Signed-off-by: Maxim Kaurkin <maxim.kaurkin@baikalelectronics.ru> Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru> Reviewed-by: Rob Herring <robh@kernel.org> Cc: Alexey Malahov <Alexey.Malahov@baikalelectronics.ru> Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de> Cc: Arnd Bergmann <arnd@arndb.de> Cc: linux-mips@vger.kernel.org Signed-off-by: Guenter Roeck <linux@roeck-us.net>
- Loading branch information
Serge Semin
authored and
Guenter Roeck
committed
May 28, 2020
1 parent
fff2d0f
commit ddc65ca
Showing
1 changed file
with
107 additions
and
0 deletions.
There are no files selected for viewing
107 changes: 107 additions & 0 deletions
107
Documentation/devicetree/bindings/hwmon/baikal,bt1-pvt.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,107 @@ | ||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | ||
# Copyright (C) 2020 BAIKAL ELECTRONICS, JSC | ||
%YAML 1.2 | ||
--- | ||
$id: http://devicetree.org/schemas/hwmon/baikal,bt1-pvt.yaml# | ||
$schema: http://devicetree.org/meta-schemas/core.yaml# | ||
|
||
title: Baikal-T1 PVT Sensor | ||
|
||
maintainers: | ||
- Serge Semin <fancer.lancer@gmail.com> | ||
|
||
description: | | ||
Baikal-T1 SoC provides an embedded process, voltage and temperature | ||
sensor to monitor an internal SoC environment (chip temperature, supply | ||
voltage and process monitor) and on time detect critical situations, | ||
which may cause the system instability and even damages. The IP-block | ||
is based on the Analog Bits PVT sensor, but is equipped with a dedicated | ||
control wrapper, which provides a MMIO registers-based access to the | ||
sensor core functionality (APB3-bus based) and exposes an additional | ||
functions like thresholds/data ready interrupts, its status and masks, | ||
measurements timeout. Its internal structure is depicted on the next | ||
diagram: | ||
Analog Bits core Bakal-T1 PVT control block | ||
+--------------------+ +------------------------+ | ||
| Temperature sensor |-+ +------| Sensors control | | ||
|--------------------| |<---En---| |------------------------| | ||
| Voltage sensor |-|<--Mode--| +--->| Sampled data | | ||
|--------------------| |<--Trim--+ | |------------------------| | ||
| Low-Vt sensor |-| | +--| Thresholds comparator | | ||
|--------------------| |---Data----| | |------------------------| | ||
| High-Vt sensor |-| | +->| Interrupts status | | ||
|--------------------| |--Valid--+-+ | |------------------------| | ||
| Standard-Vt sensor |-+ +---+--| Interrupts mask | | ||
+--------------------+ |------------------------| | ||
^ | Interrupts timeout | | ||
| +------------------------+ | ||
| ^ ^ | ||
Rclk-----+----------------------------------------+ | | ||
APB3-------------------------------------------------+ | ||
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. | ||
properties: | ||
compatible: | ||
const: baikal,bt1-pvt | ||
|
||
reg: | ||
maxItems: 1 | ||
|
||
interrupts: | ||
maxItems: 1 | ||
|
||
clocks: | ||
items: | ||
- description: PVT reference clock | ||
- description: APB3 interface clock | ||
|
||
clock-names: | ||
items: | ||
- const: ref | ||
- const: pclk | ||
|
||
"#thermal-sensor-cells": | ||
description: Baikal-T1 can be referenced as the CPU thermal-sensor | ||
const: 0 | ||
|
||
baikal,pvt-temp-offset-millicelsius: | ||
description: | | ||
Temperature sensor trimming factor. It can be used to manually adjust the | ||
temperature measurements within 7.130 degrees Celsius. | ||
maxItems: 1 | ||
items: | ||
default: 0 | ||
minimum: 0 | ||
maximum: 7130 | ||
|
||
unevaluatedProperties: false | ||
|
||
required: | ||
- compatible | ||
- reg | ||
- interrupts | ||
- clocks | ||
- clock-names | ||
|
||
examples: | ||
- | | ||
#include <dt-bindings/interrupt-controller/mips-gic.h> | ||
pvt@1f200000 { | ||
compatible = "baikal,bt1-pvt"; | ||
reg = <0x1f200000 0x1000>; | ||
#thermal-sensor-cells = <0>; | ||
interrupts = <GIC_SHARED 31 IRQ_TYPE_LEVEL_HIGH>; | ||
baikal,pvt-temp-trim-millicelsius = <1000>; | ||
clocks = <&ccu_sys>, <&ccu_sys>; | ||
clock-names = "ref", "pclk"; | ||
}; | ||
... |