106 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2# Copyright (C) 2020 BAIKAL ELECTRONICS, JSC3%YAML 1.24---5$id: http://devicetree.org/schemas/hwmon/baikal,bt1-pvt.yaml#6$schema: http://devicetree.org/meta-schemas/core.yaml#7 8title: Baikal-T1 PVT Sensor9 10maintainers:11 - Serge Semin <fancer.lancer@gmail.com>12 13description: |14 Baikal-T1 SoC provides an embedded process, voltage and temperature15 sensor to monitor an internal SoC environment (chip temperature, supply16 voltage and process monitor) and on time detect critical situations,17 which may cause the system instability and even damages. The IP-block18 is based on the Analog Bits PVT sensor, but is equipped with a dedicated19 control wrapper, which provides a MMIO registers-based access to the20 sensor core functionality (APB3-bus based) and exposes an additional21 functions like thresholds/data ready interrupts, its status and masks,22 measurements timeout. Its internal structure is depicted on the next23 diagram:24 25 Analog Bits core Bakal-T1 PVT control block26 +--------------------+ +------------------------+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 interfaces44 like MMIO registers space, interrupt request number and clocks source.45 These are then used by the corresponding hwmon device driver to46 implement the sysfs files-based access to the sensors functionality.47 48properties:49 compatible:50 const: baikal,bt1-pvt51 52 reg:53 maxItems: 154 55 interrupts:56 maxItems: 157 58 clocks:59 items:60 - description: PVT reference clock61 - description: APB3 interface clock62 63 clock-names:64 items:65 - const: ref66 - const: pclk67 68 "#thermal-sensor-cells":69 description: Baikal-T1 can be referenced as the CPU thermal-sensor70 const: 071 72 baikal,pvt-temp-offset-millicelsius:73 description: |74 Temperature sensor trimming factor. It can be used to manually adjust the75 temperature measurements within 7.130 degrees Celsius.76 default: 077 minimum: 078 maximum: 713079 80additionalProperties: false81 82required:83 - compatible84 - reg85 - interrupts86 - clocks87 - clock-names88 89examples:90 - |91 #include <dt-bindings/interrupt-controller/mips-gic.h>92 93 pvt@1f200000 {94 compatible = "baikal,bt1-pvt";95 reg = <0x1f200000 0x1000>;96 #thermal-sensor-cells = <0>;97 98 interrupts = <GIC_SHARED 31 IRQ_TYPE_LEVEL_HIGH>;99 100 baikal,pvt-temp-offset-millicelsius = <1000>;101 102 clocks = <&ccu_sys>, <&ccu_sys>;103 clock-names = "ref", "pclk";104 };105...106