Re: [PATCH v6 1/6] dt-bindings: Add iEi vendor prefix and iEi WT61P803 PUZZLE driver bindings

From: Luka Kovacic
Date: Fri Oct 23 2020 - 17:54:59 EST


Hello Rob,

On Tue, Oct 20, 2020 at 5:30 PM Rob Herring <robh@xxxxxxxxxx> wrote:
>
> On Tue, Oct 20, 2020 at 12:18:54AM +0200, Luka Kovacic wrote:
> > 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@xxxxxxxxxx>
> > Cc: Luka Perkov <luka.perkov@xxxxxxxxxx>
> > Cc: Robert Marko <robert.marko@xxxxxxxxxx>
> > ---
> > .../hwmon/iei,wt61p803-puzzle-hwmon.yaml | 41 ++++++++++
> > .../leds/iei,wt61p803-puzzle-leds.yaml | 45 ++++++++++
> > .../bindings/mfd/iei,wt61p803-puzzle.yaml | 82 +++++++++++++++++++
> > .../devicetree/bindings/vendor-prefixes.yaml | 2 +
> > 4 files changed, 170 insertions(+)
> > create mode 100644 Documentation/devicetree/bindings/hwmon/iei,wt61p803-puzzle-hwmon.yaml
> > create mode 100644 Documentation/devicetree/bindings/leds/iei,wt61p803-puzzle-leds.yaml
> > create mode 100644 Documentation/devicetree/bindings/mfd/iei,wt61p803-puzzle.yaml
> >
> > diff --git a/Documentation/devicetree/bindings/hwmon/iei,wt61p803-puzzle-hwmon.yaml b/Documentation/devicetree/bindings/hwmon/iei,wt61p803-puzzle-hwmon.yaml
> > new file mode 100644
> > index 000000000000..37f0030df237
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/hwmon/iei,wt61p803-puzzle-hwmon.yaml
> > @@ -0,0 +1,41 @@
> > +# 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@xxxxxxxxxx>
> > +
> > +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
> > +
> > +patternProperties:
> > + "^fan-group@[0-1]$":
> > + type: object
> > + properties:
> > + reg:
> > + minimum: 0
> > + maximum: 1
> > + description:
> > + Fan group ID
>
> Blank line between properties.
>
> > + cooling-levels:
> > + maxItems: 255
> > + description:
> > + Cooling levels for the fans (PWM value mapping)
> > + description: |
> > + Properties for each fan group.
> > + required:
> > + - reg
> > +
> > +required:
> > + - compatible
>
> additionalProperties: false
>
> > diff --git a/Documentation/devicetree/bindings/leds/iei,wt61p803-puzzle-leds.yaml b/Documentation/devicetree/bindings/leds/iei,wt61p803-puzzle-leds.yaml
> > new file mode 100644
> > index 000000000000..0d353e5803bf
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/leds/iei,wt61p803-puzzle-leds.yaml
> > @@ -0,0 +1,45 @@
> > +# 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@xxxxxxxxxx>
> > +
> > +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
> > +
> > +patternProperties:
> > + "^led@0$":
>
> Fixed string, not a pattern. Do you plan to add more? Define the schema
> to what the h/w supports, not current driver support.

The microcontroller software itself currently supports many different GPIOs
which could in the future, in different board implementations be repurposed as
LEDs.

Do I keep the pattern in this case?

>
> > + type: object
> > + $ref: common.yaml
> > + description: |
> > + Properties for a single LED.
> > +
> > + properties:
> > + reg:
> > + description:
> > + Index of the LED. Only one LED is supported at the moment.
> > + minimum: 0
> > + maximum: 0
> > +
> > +required:
> > + - compatible
> > + - "#address-cells"
> > + - "#size-cells"
>
> additionalProperties: false
>
> > diff --git a/Documentation/devicetree/bindings/mfd/iei,wt61p803-puzzle.yaml b/Documentation/devicetree/bindings/mfd/iei,wt61p803-puzzle.yaml
> > new file mode 100644
> > index 000000000000..79a232d75093
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/mfd/iei,wt61p803-puzzle.yaml
> > @@ -0,0 +1,82 @@
> > +# 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@xxxxxxxxxx>
> > +
> > +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:
> > + description:
> > + Serial bus speed in bps
> > + maxItems: 1
> > +
> > + enable-beep: true
> > +
> > + iei-wt61p803-hwmon:
>
> Just 'hwmon'
>
> > + $ref: ../hwmon/iei,wt61p803-puzzle-hwmon.yaml
> > +
> > + leds:
> > + $ref: ../leds/iei,wt61p803-puzzle-leds.yaml
> > +
> > +required:
> > + - compatible
> > + - current-speed
>
> additionalProperties: false
>
> > +
> > +examples:
> > + - |
> > + #include <dt-bindings/leds/common.h>
> > + serial {
> > + status = "okay";
> > + 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>;
> > + };
> > + };
> > +
> > + iei-wt61p803-puzzle-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>;
> > + };
> > + };
> > + };
> > + };
> > diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
> > index 63996ab03521..5f2595f0b2ad 100644
> > --- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
> > +++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
> > @@ -467,6 +467,8 @@ patternProperties:
> > description: IC Plus Corp.
> > "^idt,.*":
> > description: Integrated Device Technologies, Inc.
> > + "^iei,.*":
> > + description: IEI Integration Corp.
> > "^ifi,.*":
> > description: Ingenieurburo Fur Ic-Technologie (I/F/I)
> > "^ilitek,.*":
> > --
> > 2.26.2
> >

I will resolve the mentioned issues in the next patchset.

Kind regards,
Luka