Convert the mtk-pmic-keys to DT schema format.
The old binding was missing documentation for key press/release
interrupts, even though it was supported in hardware and driver,
so support for the same was added during the conversion.
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
---
.../bindings/input/mediatek,pmic-keys.yaml | 113 ++++++++++++++++++
.../bindings/input/mtk-pmic-keys.txt | 46 -------
2 files changed, 113 insertions(+), 46 deletions(-)
create mode 100644 Documentation/devicetree/bindings/input/mediatek,pmic-keys.yaml
delete mode 100644 Documentation/devicetree/bindings/input/mtk-pmic-keys.txt
diff --git a/Documentation/devicetree/bindings/input/mediatek,pmic-keys.yaml b/Documentation/devicetree/bindings/input/mediatek,pmic-keys.yaml
new file mode 100644
index 000000000000..9d8a0c3aebca
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/mediatek,pmic-keys.yaml
@@ -0,0 +1,113 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/input/mediatek,pmic-keys.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: MediaTek PMIC Keys
+
+maintainers:
+ - Chen Zhong <chen.zhong@mediatek.com>
+
+allOf:
+ - $ref: input.yaml#
+
+description: |
+ There are two key functions provided by MT6397, MT6323 and other MediaTek
+ PMICs: pwrkey and homekey.
+ The key functions are defined as the subnode of the function node provided
+ by the PMIC that is defined as a Multi-Function Device (MFD).
+
+ For MediaTek MT6323/MT6397 PMIC bindings see
+ Documentation/devicetree/bindings/mfd/mt6397.txt
+
+properties:
+ compatible:
+ enum:
+ - mediatek,mt6323-keys
+ - mediatek,mt6358-keys
+ - mediatek,mt6397-keys
+
+ power-off-time-sec: true
+
+ mediatek,long-press-mode:
+ description: |
+ Key long-press force shutdown setting
+ 0 - disabled
+ 1 - pwrkey
+ 2 - pwrkey+homekey
+ $ref: /schemas/types.yaml#/definitions/uint32
+ default: 0
+ maximum: 2
+
+patternProperties:
+ "^((power|home)|(key-[a-z0-9-]+|[a-z0-9-]+-key))$":
+ $ref: input.yaml#
+
+ properties:
+ interrupts:
+ minItems: 1
+ items:
+ - description: Key press interrupt
+ - description: Key release interrupt
+
+ interrupt-names: true
+
+ linux-keycodes:
+ maxItems: 1
+
+ wakeup-source: true
+
+ required:
+ - linux,keycodes
+
+ if:
+ properties:
+ interrupt-names:
+ contains:
+ const: powerkey
+ then:
+ properties:
+ interrupt-names:
+ minItems: 1
+ items:
+ - const: powerkey
+ - const: powerkey_r
+ else:
+ properties:
+ interrupt-names:
+ minItems: 1
+ items:
+ - const: homekey
+ - const: homekey_r
+
+ unevaluatedProperties: false
+
+required:
+ - compatible
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/input/input.h>
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+
+ pmic {
+ compatible = "mediatek,mt6397";
+
+ keys {
+ compatible = "mediatek,mt6397-keys";
+ mediatek,long-press-mode = <1>;
+ power-off-time-sec = <0>;
+
+ key-power {
+ linux,keycodes = <KEY_POWER>;
+ wakeup-source;
+ };
+
+ key-home {
+ linux,keycodes = <KEY_VOLUMEDOWN>;
+ };
+ };
+ };
diff --git a/Documentation/devicetree/bindings/input/mtk-pmic-keys.txt b/Documentation/devicetree/bindings/input/mtk-pmic-keys.txt
deleted file mode 100644
index 9d00f2a8e13a..000000000000
--- a/Documentation/devicetree/bindings/input/mtk-pmic-keys.txt
+++ /dev/null
@@ -1,46 +0,0 @@
-MediaTek MT6397/MT6323 PMIC Keys Device Driver
-
-There are two key functions provided by MT6397/MT6323 PMIC, pwrkey
-and homekey. The key functions are defined as the subnode of the function
-node provided by MT6397/MT6323 PMIC that is being defined as one kind
-of Muti-Function Device (MFD)
-
-For MT6397/MT6323 MFD bindings see:
-Documentation/devicetree/bindings/mfd/mt6397.txt
-
-Required properties:
-- compatible: Should be one of:
- - "mediatek,mt6397-keys"
- - "mediatek,mt6323-keys"
- - "mediatek,mt6358-keys"
-- linux,keycodes: See Documentation/devicetree/bindings/input/input.yaml
-
-Optional Properties:
-- wakeup-source: See Documentation/devicetree/bindings/power/wakeup-source.txt
-- mediatek,long-press-mode: Long press key shutdown setting, 1 for
- pwrkey only, 2 for pwrkey/homekey together, others for disabled.
-- power-off-time-sec: See Documentation/devicetree/bindings/input/input.yaml
-
-Example:
-
- pmic: mt6397 {
- compatible = "mediatek,mt6397";
-
- ...
-
- mt6397keys: mt6397keys {
- compatible = "mediatek,mt6397-keys";
- mediatek,long-press-mode = <1>;
- power-off-time-sec = <0>;
-
- power {
- linux,keycodes = <116>;
- wakeup-source;
- };
-
- home {
- linux,keycodes = <114>;
- };
- };
-
- };
--
2.37.2
Hi Angelo, On Wed, Sep 14, 2022 at 12:30, AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> wrote: > Convert the mtk-pmic-keys to DT schema format. > > The old binding was missing documentation for key press/release > interrupts, even though it was supported in hardware and driver, > so support for the same was added during the conversion. > > Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> > --- > .../bindings/input/mediatek,pmic-keys.yaml | 113 ++++++++++++++++++ > .../bindings/input/mtk-pmic-keys.txt | 46 ------- > 2 files changed, 113 insertions(+), 46 deletions(-) > create mode 100644 Documentation/devicetree/bindings/input/mediatek,pmic-keys.yaml > delete mode 100644 Documentation/devicetree/bindings/input/mtk-pmic-keys.txt Thank you for doing this. I started this but it seemed you were faster than me :) Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com> > > diff --git a/Documentation/devicetree/bindings/input/mediatek,pmic-keys.yaml b/Documentation/devicetree/bindings/input/mediatek,pmic-keys.yaml > new file mode 100644 > index 000000000000..9d8a0c3aebca > --- /dev/null > +++ b/Documentation/devicetree/bindings/input/mediatek,pmic-keys.yaml > @@ -0,0 +1,113 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/input/mediatek,pmic-keys.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: MediaTek PMIC Keys > + > +maintainers: > + - Chen Zhong <chen.zhong@mediatek.com> > + > +allOf: > + - $ref: input.yaml# > + > +description: | > + There are two key functions provided by MT6397, MT6323 and other MediaTek > + PMICs: pwrkey and homekey. > + The key functions are defined as the subnode of the function node provided > + by the PMIC that is defined as a Multi-Function Device (MFD). > + > + For MediaTek MT6323/MT6397 PMIC bindings see > + Documentation/devicetree/bindings/mfd/mt6397.txt > + > +properties: > + compatible: > + enum: > + - mediatek,mt6323-keys > + - mediatek,mt6358-keys > + - mediatek,mt6397-keys > + > + power-off-time-sec: true > + > + mediatek,long-press-mode: > + description: | > + Key long-press force shutdown setting > + 0 - disabled > + 1 - pwrkey > + 2 - pwrkey+homekey > + $ref: /schemas/types.yaml#/definitions/uint32 > + default: 0 > + maximum: 2 > + > +patternProperties: > + "^((power|home)|(key-[a-z0-9-]+|[a-z0-9-]+-key))$": > + $ref: input.yaml# > + > + properties: > + interrupts: > + minItems: 1 > + items: > + - description: Key press interrupt > + - description: Key release interrupt > + > + interrupt-names: true > + > + linux-keycodes: > + maxItems: 1 > + > + wakeup-source: true > + > + required: > + - linux,keycodes > + > + if: > + properties: > + interrupt-names: > + contains: > + const: powerkey > + then: > + properties: > + interrupt-names: > + minItems: 1 > + items: > + - const: powerkey > + - const: powerkey_r > + else: > + properties: > + interrupt-names: > + minItems: 1 > + items: > + - const: homekey > + - const: homekey_r > + > + unevaluatedProperties: false > + > +required: > + - compatible > + > +unevaluatedProperties: false > + > +examples: > + - | > + #include <dt-bindings/input/input.h> > + #include <dt-bindings/interrupt-controller/arm-gic.h> > + > + pmic { > + compatible = "mediatek,mt6397"; > + > + keys { > + compatible = "mediatek,mt6397-keys"; > + mediatek,long-press-mode = <1>; > + power-off-time-sec = <0>; > + > + key-power { > + linux,keycodes = <KEY_POWER>; > + wakeup-source; > + }; > + > + key-home { > + linux,keycodes = <KEY_VOLUMEDOWN>; > + }; > + }; > + }; > diff --git a/Documentation/devicetree/bindings/input/mtk-pmic-keys.txt b/Documentation/devicetree/bindings/input/mtk-pmic-keys.txt > deleted file mode 100644 > index 9d00f2a8e13a..000000000000 > --- a/Documentation/devicetree/bindings/input/mtk-pmic-keys.txt > +++ /dev/null > @@ -1,46 +0,0 @@ > -MediaTek MT6397/MT6323 PMIC Keys Device Driver > - > -There are two key functions provided by MT6397/MT6323 PMIC, pwrkey > -and homekey. The key functions are defined as the subnode of the function > -node provided by MT6397/MT6323 PMIC that is being defined as one kind > -of Muti-Function Device (MFD) > - > -For MT6397/MT6323 MFD bindings see: > -Documentation/devicetree/bindings/mfd/mt6397.txt > - > -Required properties: > -- compatible: Should be one of: > - - "mediatek,mt6397-keys" > - - "mediatek,mt6323-keys" > - - "mediatek,mt6358-keys" > -- linux,keycodes: See Documentation/devicetree/bindings/input/input.yaml > - > -Optional Properties: > -- wakeup-source: See Documentation/devicetree/bindings/power/wakeup-source.txt > -- mediatek,long-press-mode: Long press key shutdown setting, 1 for > - pwrkey only, 2 for pwrkey/homekey together, others for disabled. > -- power-off-time-sec: See Documentation/devicetree/bindings/input/input.yaml > - > -Example: > - > - pmic: mt6397 { > - compatible = "mediatek,mt6397"; > - > - ... > - > - mt6397keys: mt6397keys { > - compatible = "mediatek,mt6397-keys"; > - mediatek,long-press-mode = <1>; > - power-off-time-sec = <0>; > - > - power { > - linux,keycodes = <116>; > - wakeup-source; > - }; > - > - home { > - linux,keycodes = <114>; > - }; > - }; > - > - }; > -- > 2.37.2
On Wed, 14 Sep 2022 12:30:20 +0200, AngeloGioacchino Del Regno wrote: > Convert the mtk-pmic-keys to DT schema format. > > The old binding was missing documentation for key press/release > interrupts, even though it was supported in hardware and driver, > so support for the same was added during the conversion. > > Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> > --- > .../bindings/input/mediatek,pmic-keys.yaml | 113 ++++++++++++++++++ > .../bindings/input/mtk-pmic-keys.txt | 46 ------- > 2 files changed, 113 insertions(+), 46 deletions(-) > create mode 100644 Documentation/devicetree/bindings/input/mediatek,pmic-keys.yaml > delete mode 100644 Documentation/devicetree/bindings/input/mtk-pmic-keys.txt > Reviewed-by: Rob Herring <robh@kernel.org>
© 2016 - 2024 Red Hat, Inc.