Convert qcom pm8941 power key binding from .txt to .yaml format.
Signed-off-by: satya priya <[email protected]>
---
Changes in V2:
- Fixed bot errors, took reference from input.yaml for "linux,code"
- Added one complete example for powerkey and resin, and referenced it
in main PON binding.
- Moved this patch to the end of the series.
.../bindings/input/qcom,pm8941-pwrkey.txt | 55 --------------
.../bindings/input/qcom,pm8941-pwrkey.yaml | 88 ++++++++++++++++++++++
2 files changed, 88 insertions(+), 55 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.txt
create mode 100644 Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.yaml
diff --git a/Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.txt b/Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.txt
deleted file mode 100644
index 6cd08bc..0000000
--- a/Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.txt
+++ /dev/null
@@ -1,55 +0,0 @@
-Qualcomm PM8941 PMIC Power Key
-
-PROPERTIES
-
-- compatible:
- Usage: required
- Value type: <string>
- Definition: must be one of:
- "qcom,pm8941-pwrkey"
- "qcom,pm8941-resin"
- "qcom,pmk8350-pwrkey"
- "qcom,pmk8350-resin"
-
-- reg:
- Usage: required
- Value type: <prop-encoded-array>
- Definition: base address of registers for block
-
-- interrupts:
- Usage: required
- Value type: <prop-encoded-array>
- Definition: key change interrupt; The format of the specifier is
- defined by the binding document describing the node's
- interrupt parent.
-
-- debounce:
- Usage: optional
- Value type: <u32>
- Definition: time in microseconds that key must be pressed or released
- for state change interrupt to trigger.
-
-- bias-pull-up:
- Usage: optional
- Value type: <empty>
- Definition: presence of this property indicates that the KPDPWR_N pin
- should be configured for pull up.
-
-- linux,code:
- Usage: optional
- Value type: <u32>
- Definition: The input key-code associated with the power key.
- Use the linux event codes defined in
- include/dt-bindings/input/linux-event-codes.h
- When property is omitted KEY_POWER is assumed.
-
-EXAMPLE
-
- pwrkey@800 {
- compatible = "qcom,pm8941-pwrkey";
- reg = <0x800>;
- interrupts = <0x0 0x8 0 IRQ_TYPE_EDGE_BOTH>;
- debounce = <15625>;
- bias-pull-up;
- linux,code = <KEY_POWER>;
- };
diff --git a/Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.yaml b/Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.yaml
new file mode 100644
index 0000000..fb6cbe8
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.yaml
@@ -0,0 +1,88 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/input/qcom,pm8941-pwrkey.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Qualcomm PM8941 PMIC Power Key
+
+maintainers:
+ - Courtney Cavin <[email protected]>
+ - Vinod Koul <[email protected]>
+
+properties:
+ compatible:
+ enum:
+ - qcom,pm8941-pwrkey
+ - qcom,pm8941-resin
+ - qcom,pmk8350-pwrkey
+ - qcom,pmk8350-resin
+
+ interrupts:
+ description: |
+ Key change interrupt; The format of the specifier is
+ defined by the binding document describing the node's
+ interrupt parent.
+
+ debounce:
+ description: |
+ Time in microseconds that key must be pressed or
+ released for state change interrupt to trigger.
+ $ref: /schemas/types.yaml#/definitions/uint32
+
+ bias-pull-up:
+ description: |
+ Presence of this property indicates that the KPDPWR_N
+ pin should be configured for pull up.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ linux,code:
+ description: |
+ The input key-code associated with the power key.
+ Use the linux event codes defined in
+ include/dt-bindings/input/linux-event-codes.h
+ When property is omitted KEY_POWER is assumed.
+ $ref: "input.yaml#"
+
+required:
+ - compatible
+ - interrupts
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/irq.h>
+ #include <dt-bindings/input/linux-event-codes.h>
+ #include <dt-bindings/spmi/spmi.h>
+ spmi_bus: spmi@c440000 {
+ reg = <0x0c440000 0x1100>;
+ #address-cells = <2>;
+ #size-cells = <0>;
+ pmk8350: pmic@0 {
+ reg = <0x0 SPMI_USID>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ pmk8350_pon: pon_hlos@1300 {
+ reg = <0x1300>;
+ compatible = "qcom,pm8998-pon";
+
+ pwrkey {
+ compatible = "qcom,pm8941-pwrkey";
+ interrupts = < 0x0 0x8 0 IRQ_TYPE_EDGE_BOTH >;
+ debounce = <15625>;
+ bias-pull-up;
+ linux,code = <KEY_POWER>;
+ };
+
+ resin {
+ compatible = "qcom,pm8941-resin";
+ interrupts = <0x0 0x8 1 IRQ_TYPE_EDGE_BOTH>;
+ debounce = <15625>;
+ bias-pull-up;
+ linux,code = <KEY_VOLUMEDOWN>;
+ };
+ };
+ };
+ };
+...
--
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member
of Code Aurora Forum, hosted by The Linux Foundation
On Thu, Apr 08, 2021 at 05:01:09PM +0530, satya priya wrote:
> Convert qcom pm8941 power key binding from .txt to .yaml format.
>
> Signed-off-by: satya priya <[email protected]>
> ---
> Changes in V2:
> - Fixed bot errors, took reference from input.yaml for "linux,code"
> - Added one complete example for powerkey and resin, and referenced it
> in main PON binding.
> - Moved this patch to the end of the series.
>
> .../bindings/input/qcom,pm8941-pwrkey.txt | 55 --------------
> .../bindings/input/qcom,pm8941-pwrkey.yaml | 88 ++++++++++++++++++++++
> 2 files changed, 88 insertions(+), 55 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.txt
> create mode 100644 Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.yaml
> diff --git a/Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.yaml b/Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.yaml
> new file mode 100644
> index 0000000..fb6cbe8
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.yaml
> @@ -0,0 +1,88 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/input/qcom,pm8941-pwrkey.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Qualcomm PM8941 PMIC Power Key
> +
> +maintainers:
> + - Courtney Cavin <[email protected]>
> + - Vinod Koul <[email protected]>
> +
> +properties:
> + compatible:
> + enum:
> + - qcom,pm8941-pwrkey
> + - qcom,pm8941-resin
> + - qcom,pmk8350-pwrkey
> + - qcom,pmk8350-resin
> +
> + interrupts:
How many?
> + description: |
> + Key change interrupt; The format of the specifier is
> + defined by the binding document describing the node's
> + interrupt parent.
The 2nd sentence is every 'interrupts' property. Drop.
> +
> + debounce:
> + description: |
> + Time in microseconds that key must be pressed or
> + released for state change interrupt to trigger.
> + $ref: /schemas/types.yaml#/definitions/uint32
> +
> + bias-pull-up:
> + description: |
> + Presence of this property indicates that the KPDPWR_N
> + pin should be configured for pull up.
> + $ref: /schemas/types.yaml#/definitions/flag
> +
> + linux,code:
> + description: |
> + The input key-code associated with the power key.
> + Use the linux event codes defined in
> + include/dt-bindings/input/linux-event-codes.h
> + When property is omitted KEY_POWER is assumed.
> + $ref: "input.yaml#"
You've just defined that 'linux,code' is a node with properties defined
in input.yaml. Need to move this up to the top level.
> +
> +required:
> + - compatible
> + - interrupts
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/interrupt-controller/irq.h>
> + #include <dt-bindings/input/linux-event-codes.h>
> + #include <dt-bindings/spmi/spmi.h>
> + spmi_bus: spmi@c440000 {
> + reg = <0x0c440000 0x1100>;
> + #address-cells = <2>;
> + #size-cells = <0>;
> + pmk8350: pmic@0 {
> + reg = <0x0 SPMI_USID>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + pmk8350_pon: pon_hlos@1300 {
> + reg = <0x1300>;
> + compatible = "qcom,pm8998-pon";
> +
> + pwrkey {
> + compatible = "qcom,pm8941-pwrkey";
> + interrupts = < 0x0 0x8 0 IRQ_TYPE_EDGE_BOTH >;
> + debounce = <15625>;
> + bias-pull-up;
> + linux,code = <KEY_POWER>;
> + };
> +
> + resin {
> + compatible = "qcom,pm8941-resin";
> + interrupts = <0x0 0x8 1 IRQ_TYPE_EDGE_BOTH>;
> + debounce = <15625>;
> + bias-pull-up;
> + linux,code = <KEY_VOLUMEDOWN>;
> + };
> + };
> + };
> + };
> +...
> --
> QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member
> of Code Aurora Forum, hosted by The Linux Foundation
>
Hi Rob,
On 2021-04-10 00:20, Rob Herring wrote:
> On Thu, Apr 08, 2021 at 05:01:09PM +0530, satya priya wrote:
>> Convert qcom pm8941 power key binding from .txt to .yaml format.
>>
>> Signed-off-by: satya priya <[email protected]>
[...]
>> +
>> +properties:
>> + compatible:
>> + enum:
>> + - qcom,pm8941-pwrkey
>> + - qcom,pm8941-resin
>> + - qcom,pmk8350-pwrkey
>> + - qcom,pmk8350-resin
>> +
>> + interrupts:
>
> How many?
>
ok, will add maxItems.
>> + description: |
>> + Key change interrupt; The format of the specifier is
>> + defined by the binding document describing the node's
>> + interrupt parent.
>
> The 2nd sentence is every 'interrupts' property. Drop.
>
Will remove the description.
>> +
>> + debounce:
>> + description: |
>> + Time in microseconds that key must be pressed or
>> + released for state change interrupt to trigger.
>> + $ref: /schemas/types.yaml#/definitions/uint32
>> +
>> + bias-pull-up:
>> + description: |
>> + Presence of this property indicates that the KPDPWR_N
>> + pin should be configured for pull up.
>> + $ref: /schemas/types.yaml#/definitions/flag
>> +
>> + linux,code:
>> + description: |
>> + The input key-code associated with the power key.
>> + Use the linux event codes defined in
>> + include/dt-bindings/input/linux-event-codes.h
>> + When property is omitted KEY_POWER is assumed.
>> + $ref: "input.yaml#"
>
> You've just defined that 'linux,code' is a node with properties defined
> in input.yaml. Need to move this up to the top level.
>
allOf:
$ref: "input.yaml#"
That means I should add like this at the beginning? please correct me if
wrong.
>> +
>> +required:
>> + - compatible
>> + - interrupts
>> +
>> +additionalProperties: false
[...]
Thanks,
Satya Priya