Message ID | 20201019221859.56680-2-luka.kovacic@sartura.hr |
---|---|
State | Superseded |
Headers | show |
Series | Add support for the iEi WT61P803 PUZZLE MCU | expand |
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@sartura.hr> > Cc: Luka Perkov <luka.perkov@sartura.hr> > Cc: Robert Marko <robert.marko@sartura.hr> > --- > .../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@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 > + > +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@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 > + > +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. > + 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@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: > + 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 >
Hello Rob, On Tue, Oct 20, 2020 at 5:30 PM Rob Herring <robh@kernel.org> 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@sartura.hr> > > Cc: Luka Perkov <luka.perkov@sartura.hr> > > Cc: Robert Marko <robert.marko@sartura.hr> > > --- > > .../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@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 > > + > > +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@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 > > + > > +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@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: > > + 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
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@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 + +patternProperties: + "^fan-group@[0-1]$": + type: object + properties: + reg: + minimum: 0 + maximum: 1 + description: + Fan group ID + cooling-levels: + maxItems: 255 + description: + Cooling levels for the fans (PWM value mapping) + description: | + Properties for each fan group. + required: + - reg + +required: + - compatible 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@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 + +patternProperties: + "^led@0$": + 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" 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@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: + description: + Serial bus speed in bps + maxItems: 1 + + enable-beep: true + + iei-wt61p803-hwmon: + $ref: ../hwmon/iei,wt61p803-puzzle-hwmon.yaml + + leds: + $ref: ../leds/iei,wt61p803-puzzle-leds.yaml + +required: + - compatible + - current-speed + +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,.*":
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> Cc: Luka Perkov <luka.perkov@sartura.hr> Cc: Robert Marko <robert.marko@sartura.hr> --- .../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