On Thu, Mar 12, 2020 at 05:13:04PM -0500, Rob Herring wrote: > On Fri, Mar 06, 2020 at 04:26:03PM +0300, Sergey.Semin@xxxxxxxxxxxxxxxxxxxx wrote: > > From: Serge Semin <Sergey.Semin@xxxxxxxxxxxxxxxxxxxx> > > > > 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. > > > > Signed-off-by: Maxim Kaurkin <maxim.kaurkin@xxxxxxxxxxxxxxxxxxxx> > > Signed-off-by: Serge Semin <Sergey.Semin@xxxxxxxxxxxxxxxxxxxx> > > Signed-off-by: Alexey Malahov <Alexey.Malahov@xxxxxxxxxxxxxxxxxxxx> > > Cc: Thomas Bogendoerfer <tsbogend@xxxxxxxxxxxxxxxx> > > Cc: Paul Burton <paulburton@xxxxxxxxxx> > > Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> > > --- > > .../devicetree/bindings/hwmon/be,bt1-pvt.yaml | 100 ++++++++++++++++++ > > 1 file changed, 100 insertions(+) > > create mode 100644 Documentation/devicetree/bindings/hwmon/be,bt1-pvt.yaml > > > > diff --git a/Documentation/devicetree/bindings/hwmon/be,bt1-pvt.yaml b/Documentation/devicetree/bindings/hwmon/be,bt1-pvt.yaml > > new file mode 100644 > > index 000000000000..d575d124d538 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/hwmon/be,bt1-pvt.yaml > > @@ -0,0 +1,100 @@ > > +# SPDX-License-Identifier: GPL-2.0 > > Dual license > Ok. I'll add BSD-2-Clause here. > > +# > > +# Copyright (C) 2019 BAIKAL ELECTRONICS, JSC > > +# > > +# Baikal-T1 Process, Voltage, Temperature Sensor Device Tree Bindings. > > drop > Ok. > > +# > > +%YAML 1.2 > > +--- > > +$id: http://devicetree.org/schemas/hwmon/be,bt1-pvt.yaml# > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > + > > +title: Baikal-T1 PVT Sensor Device Tree Bindings > > + > > +maintainers: > > + - Serge Semin <fancer.lancer@xxxxxxxxx> > > + > > +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: be,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 > > + > > +additionalProperties: false > > + > > +required: > > + - compatible > > + - reg > > + - interrupts > > + - clocks > > + - clock-names > > + > > +examples: > > + - | > > + #include <dt-bindings/interrupt-controller/mips-gic.h> > > + #include <dt-bindings/clock/bt1-ccu.h> > > + > > + pvt: pvt@1F200000 { > > lowercase hex > Ok. I'll also remove the bt1-ccu.h inclusion here, since that header doesn't exist in the kernel source tree at the moment. Regards, -Sergey > > + compatible = "be,bt1-pvt"; > > + reg = <0x1F200000 0x1000>; > > + #thermal-sensor-cells = <0>; > > + > > + interrupts = <GIC_SHARED 31 IRQ_TYPE_LEVEL_HIGH>; > > + > > + clocks = <&ccu_sys CCU_SYS_PVT_CLK>, > > + <&ccu_sys CCU_SYS_APB_CLK>; > > + clock-names = "ref", "pclk"; > > + }; > > +... > > -- > > 2.25.1 > >