mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
synced 2026-04-18 11:33:36 -04:00
Move several embedded controller bindings (like ChromeOS EC, Gateworks System Controller and Kontron sl28cpld Board Management) to new subdirectory "embedded-controller" matching their purpose. An embedded controller (EC) is a discrete component that contains a microcontroller (i.e. a small CPU running a small firmware without operating system) mounted into a larger computer system running a fully fledged operating system that needs to utilize the embedded controller as part of its operation. So far the EC bindings were split between "mfd" and "platform" directory. MFD name comes from Linux, not hardware, and "platform" is a bit too generic. Rename Gateworks GSC and Huawei Gaokun filenames to match compatible, as preferred for bindings. Acked-by: Michael Walle <mwalle@kernel.org> # for sl28cpld Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Acked-by: Mark Brown <broonie@kernel.org> Reviewed-by: "Rob Herring (Arm)" <robh@kernel.org> Link: https://lore.kernel.org/r/20250825081201.9775-2-krzysztof.kozlowski@linaro.org Signed-off-by: Lee Jones <lee@kernel.org>
194 lines
4.7 KiB
YAML
194 lines
4.7 KiB
YAML
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/embedded-controller/gw,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>
|
|
|
|
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
|
|
additionalProperties: false
|
|
description: Optional hardware monitoring module
|
|
|
|
properties:
|
|
compatible:
|
|
const: gw,gsc-adc
|
|
|
|
"#address-cells":
|
|
const: 1
|
|
|
|
"#size-cells":
|
|
const: 0
|
|
|
|
patternProperties:
|
|
"^channel@[0-9a-f]+$":
|
|
type: object
|
|
additionalProperties: false
|
|
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 24-bit voltage value
|
|
2 - scaled voltage based on an optional resistor divider
|
|
and optional offset
|
|
3 - pre-scaled 16-bit voltage value
|
|
4 - fan tach input to report RPM's
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
enum: [0, 1, 2, 3, 4]
|
|
|
|
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
|
|
additionalProperties: false
|
|
description: Optional fan controller
|
|
|
|
properties:
|
|
compatible:
|
|
const: gw,gsc-fan
|
|
|
|
reg:
|
|
description: The fan controller base address
|
|
maxItems: 1
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- interrupts
|
|
- interrupt-controller
|
|
- "#interrupt-cells"
|
|
- "#address-cells"
|
|
- "#size-cells"
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
#include <dt-bindings/interrupt-controller/irq.h>
|
|
i2c {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
gsc@20 {
|
|
compatible = "gw,gsc";
|
|
reg = <0x20>;
|
|
interrupt-parent = <&gpio1>;
|
|
interrupts = <4 IRQ_TYPE_LEVEL_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 {
|
|
compatible = "gw,gsc-fan";
|
|
reg = <0x2c>;
|
|
};
|
|
};
|
|
};
|