Message ID | 1567424417-3914-2-git-send-email-michal.vokac@ysoft.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Add polling mode to the MPR121 touchkey | expand |
On Mon, Sep 02, 2019 at 01:40:14PM +0200, Michal Vokáč wrote: > Convert the mpr121 binding to DT schema format using json-schema. > > Signed-off-by: Michal Vokáč <michal.vokac@ysoft.com> > --- > Hi Rob, > > I will appreciate your help converting this binding. Currently > the scheme is not valid and the error output of dt_binding_check > is not really helpful. What's the error? I don't see anything obvious. > > Also, who shoud be the maintainer of this binding? > I put Dmitry in there as he is the input subsystem maintainer but > I am not sure it is correct. My preference is the author or driver maintainer. > .../bindings/input/fsl,mpr121-touchkey.yaml | 64 ++++++++++++++++++++++ > .../devicetree/bindings/input/mpr121-touchkey.txt | 30 ---------- > 2 files changed, 64 insertions(+), 30 deletions(-) > create mode 100644 Documentation/devicetree/bindings/input/fsl,mpr121-touchkey.yaml > delete mode 100644 Documentation/devicetree/bindings/input/mpr121-touchkey.txt
On 03. 09. 19 8:56, Rob Herring wrote: > On Mon, Sep 02, 2019 at 01:40:14PM +0200, Michal Vokáč wrote: >> Convert the mpr121 binding to DT schema format using json-schema. >> >> Signed-off-by: Michal Vokáč <michal.vokac@ysoft.com> >> --- >> Hi Rob, >> >> I will appreciate your help converting this binding. Currently >> the scheme is not valid and the error output of dt_binding_check >> is not really helpful. > > What's the error? I don't see anything obvious. After some trial & error attempts I found few issues: - Wrong placement of description for wakeup-source. Solved. - Missing coma between <KEY_4>, <KEY_5> values in the example. Solved. - DTC complained about invalid reg property length in the example. Solved by placing the mpr121 subnode into i2c {}; node and adding #address-cells and #size-cells properties. - The linux,keycodes property also requires type definition. Unresolved. What type should be used? Neither uint32-array nor uint32-matrix work. The linux,keycodes list is not correctly validated against the maxItems value. When I set maxItems less then the number of keycodes, it does not complain. >> Also, who shoud be the maintainer of this binding? >> I put Dmitry in there as he is the input subsystem maintainer but >> I am not sure it is correct. > > My preference is the author or driver maintainer. Then Dmitry seems to be the best match here I think. >> .../bindings/input/fsl,mpr121-touchkey.yaml | 64 ++++++++++++++++++++++ >> .../devicetree/bindings/input/mpr121-touchkey.txt | 30 ---------- >> 2 files changed, 64 insertions(+), 30 deletions(-) >> create mode 100644 Documentation/devicetree/bindings/input/fsl,mpr121-touchkey.yaml >> delete mode 100644 Documentation/devicetree/bindings/input/mpr121-touchkey.txt
On 17. 09. 19 16:16, Michal Vokáč wrote: > On 03. 09. 19 8:56, Rob Herring wrote: >> On Mon, Sep 02, 2019 at 01:40:14PM +0200, Michal Vokáč wrote: >>> Convert the mpr121 binding to DT schema format using json-schema. >>> >>> Signed-off-by: Michal Vokáč <michal.vokac@ysoft.com> >>> --- >>> Hi Rob, >>> >>> I will appreciate your help converting this binding. Currently >>> the scheme is not valid and the error output of dt_binding_check >>> is not really helpful. >> >> What's the error? I don't see anything obvious. > > After some trial & error attempts I found few issues: > > - Wrong placement of description for wakeup-source. Solved. > - Missing coma between <KEY_4>, <KEY_5> values in the example. Solved. > - DTC complained about invalid reg property length in the example. > Solved by placing the mpr121 subnode into i2c {}; node and adding > #address-cells and #size-cells properties. > - The linux,keycodes property also requires type definition. Unresolved. > > What type should be used? Neither uint32-array nor uint32-matrix work. > The linux,keycodes list is not correctly validated against the maxItems > value. When I set maxItems less then the number of keycodes, it does not > complain. Hi Rob, maybe this went through the cracks unnoticed? >>> Also, who shoud be the maintainer of this binding? >>> I put Dmitry in there as he is the input subsystem maintainer but >>> I am not sure it is correct. >> >> My preference is the author or driver maintainer. > > Then Dmitry seems to be the best match here I think. > >>> .../bindings/input/fsl,mpr121-touchkey.yaml | 64 ++++++++++++++++++++++ >>> .../devicetree/bindings/input/mpr121-touchkey.txt | 30 ---------- >>> 2 files changed, 64 insertions(+), 30 deletions(-) >>> create mode 100644 Documentation/devicetree/bindings/input/fsl,mpr121-touchkey.yaml >>> delete mode 100644 Documentation/devicetree/bindings/input/mpr121-touchkey.txt >
diff --git a/Documentation/devicetree/bindings/input/fsl,mpr121-touchkey.yaml b/Documentation/devicetree/bindings/input/fsl,mpr121-touchkey.yaml new file mode 100644 index 000000000000..c463c1c81755 --- /dev/null +++ b/Documentation/devicetree/bindings/input/fsl,mpr121-touchkey.yaml @@ -0,0 +1,64 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/input/fsl,mpr121-touchkey.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Freescale MPR121 capacitive touch sensor controller + +maintainers: + - Dmitry Torokhov <dmitry.torokhov@gmail.com> + +description: | + The MPR121 supports up to 12 completely independent electrodes/capacitance + sensing inputs in which 8 are multifunctional for LED driving and GPIO. + https://www.nxp.com/docs/en/data-sheet/MPR121.pdf + +properties: + compatible: + const: fsl,mpr121-touchkey + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + vdd-supply: + maxItems: 1 + + linux,keycodes: + description: + Specifies an array of numeric keycode values to be used for reporting + button presses. The array can contain up to 12 entries. + minItems: 1 + maxItems: 12 + + wakeup-source: Use any event on keypad as wakeup event. + type: boolean + + autorepeat: + description: Enable autorepeat when key is pressed and held down. + type: boolean + +required: + - compatible + - reg + - interrupts + - vdd-supply + - linux,keycodes + +examples: + - | + #include "dt-bindings/input/input.h" + touchkey: mpr121@5a { + compatible = "fsl,mpr121-touchkey"; + reg = <0x5a>; + interrupt-parent = <&gpio1>; + interrupts = <28 2>; + autorepeat; + vdd-supply = <&ldo4_reg>; + linux,keycodes = <KEY_0>, <KEY_1>, <KEY_2>, <KEY_3>, + <KEY_4> <KEY_5>, <KEY_6>, <KEY_7>, + <KEY_8>, <KEY_9>, <KEY_A>, <KEY_B>; + }; diff --git a/Documentation/devicetree/bindings/input/mpr121-touchkey.txt b/Documentation/devicetree/bindings/input/mpr121-touchkey.txt deleted file mode 100644 index b7c61ee5841b..000000000000 --- a/Documentation/devicetree/bindings/input/mpr121-touchkey.txt +++ /dev/null @@ -1,30 +0,0 @@ -* Freescale MPR121 Controllor - -Required Properties: -- compatible: Should be "fsl,mpr121-touchkey" -- reg: The I2C slave address of the device. -- interrupts: The interrupt number to the cpu. -- vdd-supply: Phandle to the Vdd power supply. -- linux,keycodes: Specifies an array of numeric keycode values to - be used for reporting button presses. The array can - contain up to 12 entries. - -Optional Properties: -- wakeup-source: Use any event on keypad as wakeup event. -- autorepeat: Enable autorepeat feature. - -Example: - -#include "dt-bindings/input/input.h" - - touchkey: mpr121@5a { - compatible = "fsl,mpr121-touchkey"; - reg = <0x5a>; - interrupt-parent = <&gpio1>; - interrupts = <28 2>; - autorepeat; - vdd-supply = <&ldo4_reg>; - linux,keycodes = <KEY_0>, <KEY_1>, <KEY_2>, <KEY_3>, - <KEY_4> <KEY_5>, <KEY_6>, <KEY_7>, - <KEY_8>, <KEY_9>, <KEY_A>, <KEY_B>; - };
Convert the mpr121 binding to DT schema format using json-schema. Signed-off-by: Michal Vokáč <michal.vokac@ysoft.com> --- Hi Rob, I will appreciate your help converting this binding. Currently the scheme is not valid and the error output of dt_binding_check is not really helpful. Also, who shoud be the maintainer of this binding? I put Dmitry in there as he is the input subsystem maintainer but I am not sure it is correct. Thank you, Michal .../bindings/input/fsl,mpr121-touchkey.yaml | 64 ++++++++++++++++++++++ .../devicetree/bindings/input/mpr121-touchkey.txt | 30 ---------- 2 files changed, 64 insertions(+), 30 deletions(-) create mode 100644 Documentation/devicetree/bindings/input/fsl,mpr121-touchkey.yaml delete mode 100644 Documentation/devicetree/bindings/input/mpr121-touchkey.txt