* [PATCH 0/3] Add support for PMK8350 PON_HLOS PMIC peripheral @ 2021-03-05 5:38 satya priya 2021-03-05 5:38 ` [PATCH 1/3] input: pm8941-pwrkey: add " satya priya ` (2 more replies) 0 siblings, 3 replies; 9+ messages in thread From: satya priya @ 2021-03-05 5:38 UTC (permalink / raw) To: Dmitry Torokhov, Rob Herring, Andy Gross, Bjorn Andersson Cc: David Collins, kgunda, linux-input, linux-kernel, devicetree, linux-arm-msm, satya priya David Collins (2): input: pm8941-pwrkey: add support for PMK8350 PON_HLOS PMIC peripheral dt-bindings: input: pm8941-pwrkey: Add pmk8350 compatible strings satya priya (1): dt-bindings: input: pm8941-pwrkey: Convert power key bindings to yaml .../bindings/input/qcom,pm8941-pwrkey.txt | 53 ----------- .../bindings/input/qcom,pm8941-pwrkey.yaml | 78 ++++++++++++++++ drivers/input/misc/pm8941-pwrkey.c | 103 ++++++++++++++------- 3 files changed, 150 insertions(+), 84 deletions(-) delete mode 100644 Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.txt create mode 100644 Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.yaml -- QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 1/3] input: pm8941-pwrkey: add support for PMK8350 PON_HLOS PMIC peripheral 2021-03-05 5:38 [PATCH 0/3] Add support for PMK8350 PON_HLOS PMIC peripheral satya priya @ 2021-03-05 5:38 ` satya priya 2021-04-07 15:29 ` skakit 2021-03-05 5:38 ` [PATCH 2/3] dt-bindings: input: pm8941-pwrkey: Convert power key bindings to yaml satya priya 2021-03-05 5:38 ` [PATCH 3/3] dt-bindings: input: pm8941-pwrkey: Add pmk8350 compatible strings satya priya 2 siblings, 1 reply; 9+ messages in thread From: satya priya @ 2021-03-05 5:38 UTC (permalink / raw) To: Dmitry Torokhov, Rob Herring, Andy Gross, Bjorn Andersson Cc: David Collins, kgunda, linux-input, linux-kernel, devicetree, linux-arm-msm, satya priya From: David Collins <collinsd@codeaurora.org> On Qualcomm Technologies, Inc. PMIC PMK8350, the PON peripheral is split into two peripherals: PON_HLOS and PON_PBS. The application processor only has write access to PON_HLOS which limits it to only receiving PON interrupts. Add support for the PMK8350 PON_HLOS peripheral so that its KPDPWR_N and RESIN_N interrupts can be used to detect key presses. Signed-off-by: David Collins <collinsd@codeaurora.org> Signed-off-by: satya priya <skakit@codeaurora.org> --- drivers/input/misc/pm8941-pwrkey.c | 103 ++++++++++++++++++++++++++----------- 1 file changed, 72 insertions(+), 31 deletions(-) diff --git a/drivers/input/misc/pm8941-pwrkey.c b/drivers/input/misc/pm8941-pwrkey.c index cf81044..2044d187 100644 --- a/drivers/input/misc/pm8941-pwrkey.c +++ b/drivers/input/misc/pm8941-pwrkey.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0-only /* - * Copyright (c) 2010-2011, Code Aurora Forum. All rights reserved. + * Copyright (c) 2010-2011, 2020, The Linux Foundation. All rights reserved. * Copyright (c) 2014, Sony Mobile Communications Inc. */ @@ -22,6 +22,8 @@ #define PON_RT_STS 0x10 #define PON_KPDPWR_N_SET BIT(0) #define PON_RESIN_N_SET BIT(1) +#define PON_GEN3_RESIN_N_SET BIT(6) +#define PON_GEN3_KPDPWR_N_SET BIT(7) #define PON_PS_HOLD_RST_CTL 0x5a #define PON_PS_HOLD_RST_CTL2 0x5b @@ -38,8 +40,12 @@ #define PON_DBC_DELAY_MASK 0x7 struct pm8941_data { - unsigned int pull_up_bit; - unsigned int status_bit; + unsigned int pull_up_bit; + unsigned int status_bit; + bool supports_ps_hold_poff_config; + bool supports_debounce_config; + const char *name; + const char *phys; }; struct pm8941_pwrkey { @@ -231,34 +237,40 @@ static int pm8941_pwrkey_probe(struct platform_device *pdev) input_set_capability(pwrkey->input, EV_KEY, pwrkey->code); - pwrkey->input->name = "pm8941_pwrkey"; - pwrkey->input->phys = "pm8941_pwrkey/input0"; - - req_delay = (req_delay << 6) / USEC_PER_SEC; - req_delay = ilog2(req_delay); - - error = regmap_update_bits(pwrkey->regmap, - pwrkey->baseaddr + PON_DBC_CTL, - PON_DBC_DELAY_MASK, - req_delay); - if (error) { - dev_err(&pdev->dev, "failed to set debounce: %d\n", error); - return error; + pwrkey->input->name = pwrkey->data->name; + pwrkey->input->phys = pwrkey->data->phys; + + if (pwrkey->data->supports_debounce_config) { + req_delay = (req_delay << 6) / USEC_PER_SEC; + req_delay = ilog2(req_delay); + + error = regmap_update_bits(pwrkey->regmap, + pwrkey->baseaddr + PON_DBC_CTL, + PON_DBC_DELAY_MASK, + req_delay); + if (error) { + dev_err(&pdev->dev, "failed to set debounce: %d\n", + error); + return error; + } } - error = regmap_update_bits(pwrkey->regmap, - pwrkey->baseaddr + PON_PULL_CTL, - pwrkey->data->pull_up_bit, - pull_up ? pwrkey->data->pull_up_bit : 0); - if (error) { - dev_err(&pdev->dev, "failed to set pull: %d\n", error); - return error; + if (pwrkey->data->pull_up_bit) { + error = regmap_update_bits(pwrkey->regmap, + pwrkey->baseaddr + PON_PULL_CTL, + pwrkey->data->pull_up_bit, + pull_up ? pwrkey->data->pull_up_bit : + 0); + if (error) { + dev_err(&pdev->dev, "failed to set pull: %d\n", error); + return error; + } } error = devm_request_threaded_irq(&pdev->dev, pwrkey->irq, NULL, pm8941_pwrkey_irq, IRQF_ONESHOT, - "pm8941_pwrkey", pwrkey); + pwrkey->data->name, pwrkey); if (error) { dev_err(&pdev->dev, "failed requesting IRQ: %d\n", error); return error; @@ -271,12 +283,14 @@ static int pm8941_pwrkey_probe(struct platform_device *pdev) return error; } - pwrkey->reboot_notifier.notifier_call = pm8941_reboot_notify, - error = register_reboot_notifier(&pwrkey->reboot_notifier); - if (error) { - dev_err(&pdev->dev, "failed to register reboot notifier: %d\n", - error); - return error; + if (pwrkey->data->supports_ps_hold_poff_config) { + pwrkey->reboot_notifier.notifier_call = pm8941_reboot_notify, + error = register_reboot_notifier(&pwrkey->reboot_notifier); + if (error) { + dev_err(&pdev->dev, "failed to register reboot notifier: %d\n", + error); + return error; + } } platform_set_drvdata(pdev, pwrkey); @@ -289,7 +303,8 @@ static int pm8941_pwrkey_remove(struct platform_device *pdev) { struct pm8941_pwrkey *pwrkey = platform_get_drvdata(pdev); - unregister_reboot_notifier(&pwrkey->reboot_notifier); + if (pwrkey->data->supports_ps_hold_poff_config) + unregister_reboot_notifier(&pwrkey->reboot_notifier); return 0; } @@ -297,16 +312,42 @@ static int pm8941_pwrkey_remove(struct platform_device *pdev) static const struct pm8941_data pwrkey_data = { .pull_up_bit = PON_KPDPWR_PULL_UP, .status_bit = PON_KPDPWR_N_SET, + .name = "pm8941_pwrkey", + .phys = "pm8941_pwrkey/input0", + .supports_ps_hold_poff_config = true, + .supports_debounce_config = true, }; static const struct pm8941_data resin_data = { .pull_up_bit = PON_RESIN_PULL_UP, .status_bit = PON_RESIN_N_SET, + .name = "pm8941_resin", + .phys = "pm8941_resin/input0", + .supports_ps_hold_poff_config = true, + .supports_debounce_config = true, +}; + +static const struct pm8941_data pon_gen3_pwrkey_data = { + .status_bit = PON_GEN3_KPDPWR_N_SET, + .name = "pmic_pwrkey", + .phys = "pmic_pwrkey/input0", + .supports_ps_hold_poff_config = false, + .supports_debounce_config = false, +}; + +static const struct pm8941_data pon_gen3_resin_data = { + .status_bit = PON_GEN3_RESIN_N_SET, + .name = "pmic_resin", + .phys = "pmic_resin/input0", + .supports_ps_hold_poff_config = false, + .supports_debounce_config = false, }; static const struct of_device_id pm8941_pwr_key_id_table[] = { { .compatible = "qcom,pm8941-pwrkey", .data = &pwrkey_data }, { .compatible = "qcom,pm8941-resin", .data = &resin_data }, + { .compatible = "qcom,pmk8350-pwrkey", .data = &pon_gen3_pwrkey_data }, + { .compatible = "qcom,pmk8350-resin", .data = &pon_gen3_resin_data }, { } }; MODULE_DEVICE_TABLE(of, pm8941_pwr_key_id_table); -- QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 1/3] input: pm8941-pwrkey: add support for PMK8350 PON_HLOS PMIC peripheral 2021-03-05 5:38 ` [PATCH 1/3] input: pm8941-pwrkey: add " satya priya @ 2021-04-07 15:29 ` skakit 2021-04-08 6:24 ` Dmitry Torokhov 0 siblings, 1 reply; 9+ messages in thread From: skakit @ 2021-04-07 15:29 UTC (permalink / raw) To: Dmitry Torokhov, Rob Herring, Andy Gross, Bjorn Andersson Cc: David Collins, kgunda, linux-input, linux-kernel, devicetree, linux-arm-msm Gentle Reminder! Thanks, Satya Priya On 2021-03-05 11:08, satya priya wrote: > From: David Collins <collinsd@codeaurora.org> > > On Qualcomm Technologies, Inc. PMIC PMK8350, the PON peripheral > is split into two peripherals: PON_HLOS and PON_PBS. The > application processor only has write access to PON_HLOS which > limits it to only receiving PON interrupts. > > Add support for the PMK8350 PON_HLOS peripheral so that its > KPDPWR_N and RESIN_N interrupts can be used to detect key > presses. > > Signed-off-by: David Collins <collinsd@codeaurora.org> > Signed-off-by: satya priya <skakit@codeaurora.org> > --- > drivers/input/misc/pm8941-pwrkey.c | 103 > ++++++++++++++++++++++++++----------- > 1 file changed, 72 insertions(+), 31 deletions(-) > > diff --git a/drivers/input/misc/pm8941-pwrkey.c > b/drivers/input/misc/pm8941-pwrkey.c > index cf81044..2044d187 100644 > --- a/drivers/input/misc/pm8941-pwrkey.c > +++ b/drivers/input/misc/pm8941-pwrkey.c ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 1/3] input: pm8941-pwrkey: add support for PMK8350 PON_HLOS PMIC peripheral 2021-04-07 15:29 ` skakit @ 2021-04-08 6:24 ` Dmitry Torokhov 0 siblings, 0 replies; 9+ messages in thread From: Dmitry Torokhov @ 2021-04-08 6:24 UTC (permalink / raw) To: skakit Cc: Rob Herring, Andy Gross, Bjorn Andersson, David Collins, kgunda, linux-input, linux-kernel, devicetree, linux-arm-msm Hi Satya, On Wed, Apr 07, 2021 at 08:59:39PM +0530, skakit@codeaurora.org wrote: > Gentle Reminder! Sorry, please address Rob's comments on the bindings, the driver code looks OK to me. Thanks. -- Dmitry ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 2/3] dt-bindings: input: pm8941-pwrkey: Convert power key bindings to yaml 2021-03-05 5:38 [PATCH 0/3] Add support for PMK8350 PON_HLOS PMIC peripheral satya priya 2021-03-05 5:38 ` [PATCH 1/3] input: pm8941-pwrkey: add " satya priya @ 2021-03-05 5:38 ` satya priya 2021-03-05 14:15 ` Rob Herring 2021-03-05 14:40 ` Rob Herring 2021-03-05 5:38 ` [PATCH 3/3] dt-bindings: input: pm8941-pwrkey: Add pmk8350 compatible strings satya priya 2 siblings, 2 replies; 9+ messages in thread From: satya priya @ 2021-03-05 5:38 UTC (permalink / raw) To: Dmitry Torokhov, Rob Herring, Andy Gross, Bjorn Andersson Cc: David Collins, kgunda, linux-input, linux-kernel, devicetree, linux-arm-msm, satya priya Convert power key bindings from .txt to .yaml format. Signed-off-by: satya priya <skakit@codeaurora.org> --- .../bindings/input/qcom,pm8941-pwrkey.txt | 53 --------------- .../bindings/input/qcom,pm8941-pwrkey.yaml | 76 ++++++++++++++++++++++ 2 files changed, 76 insertions(+), 53 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 34ab576..0000000 --- a/Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.txt +++ /dev/null @@ -1,53 +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" - -- 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..302866d --- /dev/null +++ b/Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.yaml @@ -0,0 +1,76 @@ +# 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 <courtney.cavin@sonymobile.com> + - Vinod Koul <vkoul@kernel.org> + +properties: + compatible: + enum: + - qcom,pm8941-pwrkey + - qcom,pm8941-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: /schemas/types.yaml#/definitions/uint32 + +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>; + pwrkey { + compatible = "qcom,pm8941-pwrkey"; + interrupts = < 0x0 0x8 0 IRQ_TYPE_EDGE_BOTH >; + debounce = <15625>; + bias-pull-up; + linux,code = <KEY_POWER>; + }; + }; + }; + }; +... -- QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 2/3] dt-bindings: input: pm8941-pwrkey: Convert power key bindings to yaml 2021-03-05 5:38 ` [PATCH 2/3] dt-bindings: input: pm8941-pwrkey: Convert power key bindings to yaml satya priya @ 2021-03-05 14:15 ` Rob Herring 2021-03-05 14:40 ` Rob Herring 1 sibling, 0 replies; 9+ messages in thread From: Rob Herring @ 2021-03-05 14:15 UTC (permalink / raw) To: satya priya Cc: linux-arm-msm, linux-kernel, Bjorn Andersson, Dmitry Torokhov, David Collins, Andy Gross, devicetree, kgunda, Rob Herring, linux-input On Fri, 05 Mar 2021 11:08:40 +0530, satya priya wrote: > Convert power key bindings from .txt to .yaml format. > > Signed-off-by: satya priya <skakit@codeaurora.org> > --- > .../bindings/input/qcom,pm8941-pwrkey.txt | 53 --------------- > .../bindings/input/qcom,pm8941-pwrkey.yaml | 76 ++++++++++++++++++++++ > 2 files changed, 76 insertions(+), 53 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.txt > create mode 100644 Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.yaml > My bot found errors running 'make dt_binding_check' on your patch: yamllint warnings/errors: ./Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.yaml:10:2: [warning] wrong indentation: expected 2 but found 1 (indentation) ./Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.yaml:46:2: [warning] wrong indentation: expected 2 but found 1 (indentation) ./Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.yaml:52:2: [warning] wrong indentation: expected 2 but found 1 (indentation) dtschema/dtc warnings/errors: See https://patchwork.ozlabs.org/patch/1447638 This check can fail if there are any dependencies. The base for a patch series is generally the most recent rc1. If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure 'yamllint' is installed and dt-schema is up to date: pip3 install dtschema --upgrade Please check and re-submit. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 2/3] dt-bindings: input: pm8941-pwrkey: Convert power key bindings to yaml 2021-03-05 5:38 ` [PATCH 2/3] dt-bindings: input: pm8941-pwrkey: Convert power key bindings to yaml satya priya 2021-03-05 14:15 ` Rob Herring @ 2021-03-05 14:40 ` Rob Herring 2021-03-25 6:12 ` skakit 1 sibling, 1 reply; 9+ messages in thread From: Rob Herring @ 2021-03-05 14:40 UTC (permalink / raw) To: satya priya Cc: Dmitry Torokhov, Andy Gross, Bjorn Andersson, David Collins, kgunda, linux-input, linux-kernel, devicetree, linux-arm-msm On Fri, Mar 05, 2021 at 11:08:40AM +0530, satya priya wrote: > Convert power key bindings from .txt to .yaml format. > > Signed-off-by: satya priya <skakit@codeaurora.org> > --- > .../bindings/input/qcom,pm8941-pwrkey.txt | 53 --------------- > .../bindings/input/qcom,pm8941-pwrkey.yaml | 76 ++++++++++++++++++++++ > 2 files changed, 76 insertions(+), 53 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.txt > create mode 100644 Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.yaml You need to convert the main pm8941 binding first if not done already and then reference this binding from it. And let's have 1 complete example instead of fragments. > > 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 34ab576..0000000 > --- a/Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.txt > +++ /dev/null > @@ -1,53 +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" > - > -- 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..302866d > --- /dev/null > +++ b/Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.yaml > @@ -0,0 +1,76 @@ > +# 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 <courtney.cavin@sonymobile.com> > + - Vinod Koul <vkoul@kernel.org> > + > +properties: > + compatible: > + enum: > + - qcom,pm8941-pwrkey > + - qcom,pm8941-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: /schemas/types.yaml#/definitions/uint32 Already has a type definition. Need to reference 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>; > + pwrkey { > + compatible = "qcom,pm8941-pwrkey"; > + interrupts = < 0x0 0x8 0 IRQ_TYPE_EDGE_BOTH >; > + debounce = <15625>; > + bias-pull-up; > + linux,code = <KEY_POWER>; > + }; > + }; > + }; > + }; > +... > -- > QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member > of Code Aurora Forum, hosted by The Linux Foundation > ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 2/3] dt-bindings: input: pm8941-pwrkey: Convert power key bindings to yaml 2021-03-05 14:40 ` Rob Herring @ 2021-03-25 6:12 ` skakit 0 siblings, 0 replies; 9+ messages in thread From: skakit @ 2021-03-25 6:12 UTC (permalink / raw) To: Rob Herring Cc: Dmitry Torokhov, Andy Gross, Bjorn Andersson, David Collins, kgunda, linux-input, linux-kernel, devicetree, linux-arm-msm Hi Rob, On 2021-03-05 20:10, Rob Herring wrote: > On Fri, Mar 05, 2021 at 11:08:40AM +0530, satya priya wrote: >> Convert power key bindings from .txt to .yaml format. >> >> Signed-off-by: satya priya <skakit@codeaurora.org> >> --- >> .../bindings/input/qcom,pm8941-pwrkey.txt | 53 >> --------------- >> .../bindings/input/qcom,pm8941-pwrkey.yaml | 76 >> ++++++++++++++++++++++ >> 2 files changed, 76 insertions(+), 53 deletions(-) >> delete mode 100644 >> Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.txt >> create mode 100644 >> Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.yaml > > You need to convert the main pm8941 binding first if not done already > and then reference this binding from it. > Okay. > And let's have 1 complete example instead of fragments. > Sure. >> >> 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 34ab576..0000000 >> --- a/Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.txt >> +++ /dev/null >> @@ -1,53 +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" >> - >> -- 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..302866d >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.yaml >> @@ -0,0 +1,76 @@ >> +# 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 <courtney.cavin@sonymobile.com> >> + - Vinod Koul <vkoul@kernel.org> >> + >> +properties: >> + compatible: >> + enum: >> + - qcom,pm8941-pwrkey >> + - qcom,pm8941-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: /schemas/types.yaml#/definitions/uint32 > > Already has a type definition. Need to reference input.yaml. > Okay. >> + >> +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>; >> + pwrkey { >> + compatible = "qcom,pm8941-pwrkey"; >> + interrupts = < 0x0 0x8 0 IRQ_TYPE_EDGE_BOTH >; >> + debounce = <15625>; >> + bias-pull-up; >> + linux,code = <KEY_POWER>; >> + }; >> + }; >> + }; >> + }; >> +... >> -- >> QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a >> member >> of Code Aurora Forum, hosted by The Linux Foundation >> ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 3/3] dt-bindings: input: pm8941-pwrkey: Add pmk8350 compatible strings 2021-03-05 5:38 [PATCH 0/3] Add support for PMK8350 PON_HLOS PMIC peripheral satya priya 2021-03-05 5:38 ` [PATCH 1/3] input: pm8941-pwrkey: add " satya priya 2021-03-05 5:38 ` [PATCH 2/3] dt-bindings: input: pm8941-pwrkey: Convert power key bindings to yaml satya priya @ 2021-03-05 5:38 ` satya priya 2 siblings, 0 replies; 9+ messages in thread From: satya priya @ 2021-03-05 5:38 UTC (permalink / raw) To: Dmitry Torokhov, Rob Herring, Andy Gross, Bjorn Andersson Cc: David Collins, kgunda, linux-input, linux-kernel, devicetree, linux-arm-msm, satya priya From: David Collins <collinsd@codeaurora.org> Add power key and resin compatible strings for the PMK8350 PMIC. These are needed to distinguish key PON_HLOS register differences between PMK8350 and previous PMIC PON modules. Signed-off-by: David Collins <collinsd@codeaurora.org> Signed-off-by: satya priya <skakit@codeaurora.org> --- Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.yaml b/Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.yaml index 302866d..32ac762 100644 --- a/Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.yaml +++ b/Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.yaml @@ -15,6 +15,8 @@ properties: enum: - qcom,pm8941-pwrkey - qcom,pm8941-resin + - qcom,pmk8350-pwrkey + - qcom,pmk8350-resin interrupts: description: | -- QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation ^ permalink raw reply related [flat|nested] 9+ messages in thread
end of thread, other threads:[~2021-04-08 6:24 UTC | newest] Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-03-05 5:38 [PATCH 0/3] Add support for PMK8350 PON_HLOS PMIC peripheral satya priya 2021-03-05 5:38 ` [PATCH 1/3] input: pm8941-pwrkey: add " satya priya 2021-04-07 15:29 ` skakit 2021-04-08 6:24 ` Dmitry Torokhov 2021-03-05 5:38 ` [PATCH 2/3] dt-bindings: input: pm8941-pwrkey: Convert power key bindings to yaml satya priya 2021-03-05 14:15 ` Rob Herring 2021-03-05 14:40 ` Rob Herring 2021-03-25 6:12 ` skakit 2021-03-05 5:38 ` [PATCH 3/3] dt-bindings: input: pm8941-pwrkey: Add pmk8350 compatible strings satya priya
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.