dt-bindings: Add IEI vendor prefix and IEI WT61P803 PUZZLE driver bindings

Add the IEI WT61P803 PUZZLE Device Tree bindings for MFD, HWMON and LED
drivers. A new vendor prefix is also added accordingly for
IEI Integration Corp.

Signed-off-by: Luka Kovacic <luka.kovacic@sartura.hr>
Signed-off-by: Pavo Banicevic <pavo.banicevic@sartura.hr>
Cc: Luka Perkov <luka.perkov@sartura.hr>
Cc: Robert Marko <robert.marko@sartura.hr>
Reviewed-by: Rob Herring <robh@kernel.org>
Link: https://patch.msgid.link/20210824124438.14519-2-luka.kovacic@sartura.hr
[robh: fix warnings from current tools]
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
This commit is contained in:
Luka Kovacic 2021-08-24 14:44:32 +02:00 committed by Rob Herring (Arm)
parent 949c38ad4b
commit d933808331
3 changed files with 180 additions and 0 deletions

View file

@ -0,0 +1,59 @@
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/hwmon/iei,wt61p803-puzzle-hwmon.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: IEI WT61P803 PUZZLE MCU HWMON module from IEI Integration Corp.
maintainers:
- Luka Kovacic <luka.kovacic@sartura.hr>
description: |
This module is a part of the IEI WT61P803 PUZZLE MFD device. For more details
see Documentation/devicetree/bindings/mfd/iei,wt61p803-puzzle.yaml.
The HWMON module is a sub-node of the MCU node in the Device Tree.
properties:
compatible:
const: iei,wt61p803-puzzle-hwmon
'#address-cells':
const: 1
'#size-cells':
const: 0
patternProperties:
'^fan-group@[0-1]$':
type: object
additionalProperties: false
properties:
reg:
minimum: 0
maximum: 1
description:
Fan group ID
'#cooling-cells':
const: 2
cooling-levels:
minItems: 1
maxItems: 255
description:
Cooling levels for the fans (PWM value mapping)
required:
- reg
- '#cooling-cells'
- cooling-levels
required:
- compatible
- '#address-cells'
- '#size-cells'
additionalProperties: false

View file

@ -0,0 +1,41 @@
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/leds/iei,wt61p803-puzzle-leds.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: IEI WT61P803 PUZZLE MCU LED module from IEI Integration Corp.
maintainers:
- Luka Kovacic <luka.kovacic@sartura.hr>
description: |
This module is a part of the IEI WT61P803 PUZZLE MFD device. For more details
see Documentation/devicetree/bindings/mfd/iei,wt61p803-puzzle.yaml.
The LED module is a sub-node of the MCU node in the Device Tree.
properties:
compatible:
const: iei,wt61p803-puzzle-leds
'#address-cells':
const: 1
'#size-cells':
const: 0
led@0:
$ref: common.yaml
unevaluatedProperties: false
properties:
reg:
const: 0
required:
- compatible
- '#address-cells'
- '#size-cells'
additionalProperties: false

View file

@ -0,0 +1,80 @@
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/mfd/iei,wt61p803-puzzle.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: IEI WT61P803 PUZZLE MCU from IEI Integration Corp.
maintainers:
- Luka Kovacic <luka.kovacic@sartura.hr>
description: |
IEI WT61P803 PUZZLE MCU is embedded in some IEI Puzzle series boards.
It's used for controlling system power states, fans, LEDs and temperature
sensors.
For Device Tree bindings of other sub-modules (HWMON, LEDs) refer to the
binding documents under the respective subsystem directories.
properties:
compatible:
const: iei,wt61p803-puzzle
current-speed: true
enable-beep:
type: boolean
hwmon:
$ref: /schemas/hwmon/iei,wt61p803-puzzle-hwmon.yaml
leds:
$ref: /schemas/leds/iei,wt61p803-puzzle-leds.yaml
required:
- compatible
- current-speed
additionalProperties: false
examples:
- |
#include <dt-bindings/leds/common.h>
serial {
mcu {
compatible = "iei,wt61p803-puzzle";
current-speed = <115200>;
enable-beep;
leds {
compatible = "iei,wt61p803-puzzle-leds";
#address-cells = <1>;
#size-cells = <0>;
led@0 {
reg = <0>;
function = LED_FUNCTION_POWER;
color = <LED_COLOR_ID_BLUE>;
};
};
hwmon {
compatible = "iei,wt61p803-puzzle-hwmon";
#address-cells = <1>;
#size-cells = <0>;
fan-group@0 {
#cooling-cells = <2>;
reg = <0x00>;
cooling-levels = <64 102 170 230 250>;
};
fan-group@1 {
#cooling-cells = <2>;
reg = <0x01>;
cooling-levels = <64 102 170 230 250>;
};
};
};
};