Merge tag 'hwmon-for-v5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
Pull hwmon updates from Guenter Roeck: "Infrastructure: - Add notification support New drivers: - Baikal-T1 PVT sensor driver - amd_energy driver to report energy counters - Driver for Maxim MAX16601 - Gateworks System Controller Various: - applesmc: avoid overlong udelay() - dell-smm: Use one DMI match for all XPS models - ina2xx: Implement alert functions - lm70: Add support for ACPI - lm75: Fix coding-style warnings - lm90: Add max6654 support to lm90 driver - nct7802: Replace container_of() API - nct7904: Set default timeout - nct7904: Add watchdog function - pmbus: Improve initialization of 'currpage' and 'currphase'" * tag 'hwmon-for-v5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (24 commits) hwmon: Add Baikal-T1 PVT sensor driver hwmon: Add notification support dt-bindings: hwmon: Add Baikal-T1 PVT sensor binding hwmon: (applesmc) avoid overlong udelay() hwmon: (nct7904) Set default timeout hwmon: (amd_energy) Missing platform_driver_unregister() on error in amd_energy_init() MAINTAINERS: add entry for AMD energy driver hwmon: (amd_energy) Add documentation hwmon: Add amd_energy driver to report energy counters hwmon: (nct7802) Replace container_of() API hwmon: (lm90) Add max6654 support to lm90 driver hwmon : (nct6775) Use kobj_to_dev() API hwmon: (pmbus) Driver for Maxim MAX16601 hwmon: (pmbus) Improve initialization of 'currpage' and 'currphase' hwmon: (adt7411) update contact email hwmon: (lm75) Fix all coding-style warnings on lm75 driver hwmon: Reduce indentation level in __hwmon_device_register() hwmon: (ina2xx) Implement alert functions hwmon: (lm70) Add support for ACPI hwmon: (dell-smm) Use one DMI match for all XPS models ...
This commit is contained in:
107
Documentation/devicetree/bindings/hwmon/baikal,bt1-pvt.yaml
Normal file
107
Documentation/devicetree/bindings/hwmon/baikal,bt1-pvt.yaml
Normal file
@@ -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";
|
||||
};
|
||||
...
|
||||
196
Documentation/devicetree/bindings/mfd/gateworks-gsc.yaml
Normal file
196
Documentation/devicetree/bindings/mfd/gateworks-gsc.yaml
Normal file
@@ -0,0 +1,196 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/mfd/gateworks-gsc.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Gateworks System Controller
|
||||
|
||||
description: |
|
||||
The Gateworks System Controller (GSC) is a device present across various
|
||||
Gateworks product families that provides a set of system related features
|
||||
such as the following (refer to the board hardware user manuals to see what
|
||||
features are present)
|
||||
- Watchdog Timer
|
||||
- GPIO
|
||||
- Pushbutton controller
|
||||
- Hardware monitor with ADC's for temperature and voltage rails and
|
||||
fan controller
|
||||
|
||||
maintainers:
|
||||
- Tim Harvey <tharvey@gateworks.com>
|
||||
- Robert Jones <rjones@gateworks.com>
|
||||
|
||||
properties:
|
||||
$nodename:
|
||||
pattern: "gsc@[0-9a-f]{1,2}"
|
||||
compatible:
|
||||
const: gw,gsc
|
||||
|
||||
reg:
|
||||
description: I2C device address
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
interrupt-controller: true
|
||||
|
||||
"#interrupt-cells":
|
||||
const: 1
|
||||
|
||||
"#address-cells":
|
||||
const: 1
|
||||
|
||||
"#size-cells":
|
||||
const: 0
|
||||
|
||||
adc:
|
||||
type: object
|
||||
description: Optional hardware monitoring module
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: gw,gsc-adc
|
||||
|
||||
"#address-cells":
|
||||
const: 1
|
||||
|
||||
"#size-cells":
|
||||
const: 0
|
||||
|
||||
patternProperties:
|
||||
"^channel@[0-9]+$":
|
||||
type: object
|
||||
description: |
|
||||
Properties for a single ADC which can report cooked values
|
||||
(i.e. temperature sensor based on thermister), raw values
|
||||
(i.e. voltage rail with a pre-scaling resistor divider).
|
||||
|
||||
properties:
|
||||
reg:
|
||||
description: Register of the ADC
|
||||
maxItems: 1
|
||||
|
||||
label:
|
||||
description: Name of the ADC input
|
||||
|
||||
gw,mode:
|
||||
description: |
|
||||
conversion mode:
|
||||
0 - temperature, in C*10
|
||||
1 - pre-scaled voltage value
|
||||
2 - scaled voltage based on an optional resistor divider
|
||||
and optional offset
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
enum: [0, 1, 2]
|
||||
|
||||
gw,voltage-divider-ohms:
|
||||
description: Values of resistors for divider on raw ADC input
|
||||
maxItems: 2
|
||||
items:
|
||||
minimum: 1000
|
||||
maximum: 1000000
|
||||
|
||||
gw,voltage-offset-microvolt:
|
||||
description: |
|
||||
A positive voltage offset to apply to a raw ADC
|
||||
(i.e. to compensate for a diode drop).
|
||||
minimum: 0
|
||||
maximum: 1000000
|
||||
|
||||
required:
|
||||
- gw,mode
|
||||
- reg
|
||||
- label
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- "#address-cells"
|
||||
- "#size-cells"
|
||||
|
||||
patternProperties:
|
||||
"^fan-controller@[0-9a-f]+$":
|
||||
type: object
|
||||
description: Optional fan controller
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: gw,gsc-fan
|
||||
|
||||
"#address-cells":
|
||||
const: 1
|
||||
|
||||
"#size-cells":
|
||||
const: 0
|
||||
|
||||
reg:
|
||||
description: The fan controller base address
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- "#address-cells"
|
||||
- "#size-cells"
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- interrupts
|
||||
- interrupt-controller
|
||||
- "#interrupt-cells"
|
||||
- "#address-cells"
|
||||
- "#size-cells"
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
gsc@20 {
|
||||
compatible = "gw,gsc";
|
||||
reg = <0x20>;
|
||||
interrupt-parent = <&gpio1>;
|
||||
interrupts = <4 GPIO_ACTIVE_LOW>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <1>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
adc {
|
||||
compatible = "gw,gsc-adc";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
channel@0 { /* A0: Board Temperature */
|
||||
reg = <0x00>;
|
||||
label = "temp";
|
||||
gw,mode = <0>;
|
||||
};
|
||||
|
||||
channel@2 { /* A1: Input Voltage (raw ADC) */
|
||||
reg = <0x02>;
|
||||
label = "vdd_vin";
|
||||
gw,mode = <1>;
|
||||
gw,voltage-divider-ohms = <22100 1000>;
|
||||
gw,voltage-offset-microvolt = <800000>;
|
||||
};
|
||||
|
||||
channel@b { /* A2: Battery voltage */
|
||||
reg = <0x0b>;
|
||||
label = "vdd_bat";
|
||||
gw,mode = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
fan-controller@2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "gw,gsc-fan";
|
||||
reg = <0x2c>;
|
||||
};
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user