Add support for PMK8350 PON_HLOS PMIC peripheral
Subsystems (5)
v2 cover Add support for PMK8350 PON_HLOS PMIC peripheral
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 (2):
dt-bindings: power: reset: qcom-pon: Convert qcom PON binding to yaml
dt-bindings: input: pm8941-pwrkey: Convert pm8941 power key binding to
yaml
.../bindings/input/qcom,pm8941-pwrkey.txt | 53 ----------- .../bindings/input/qcom,pm8941-pwrkey.yaml | 88 ++++++++++++++++++ .../devicetree/bindings/power/reset/qcom,pon.txt | 49 ---------- .../devicetree/bindings/power/reset/qcom,pon.yaml | 41 ++++++++ drivers/input/misc/pm8941-pwrkey.c | 103 ++++++++++++++------- 5 files changed, 201 insertions(+), 133 deletions(-) delete mode 100644 Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.txt create mode 100644 Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.yaml delete mode 100644 Documentation/devicetree/bindings/power/reset/qcom,pon.txt create mode 100644 Documentation/devicetree/bindings/power/reset/qcom,pon.yaml
Signature · 2 lines
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
PATCH v2 1/4 input: pm8941-pwrkey: add support for PMK8350 PON_HLOS PMIC peripheral
From: David Collins <[email protected]>
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.
---
Changes in V2:
- No change.
drivers/input/misc/pm8941-pwrkey.c | 103 ++++++++++++++++++++++++++----------- 1 file changed, 72 insertions(+), 31 deletions(-)
drivers/input/misc/pm8941-pwrkey.c +72 -31
@@ -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-2021, 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 0x7struct 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);
Signature · 2 lines
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
Re: [PATCH V2 1/4] input: pm8941-pwrkey: add support for PMK8350 PON_HLOS PMIC peripheral
Quoted 11 lines · satya priya
From: David Collins <[email protected]>
On Qualcomm Technologies, Inc. PMIC PMK8350, the PON peripheral is split into two peripherals:
PON_HLOSandPON_PBS. The application processor only has write access toPON_HLOSwhich limits it to only receiving PON interrupts.Add support for the PMK8350
PON_HLOSperipheral so that itsKPDPWR_NandRESIN_Ninterrupts can be used to detect key presses.
Regards,
Bjorn
Quoted 185 lines
Signed-off-by David Collins <[email protected]>Signed-off-by satya priya <[email protected]>---
Changes in V2:
- No change.drivers/input/misc/pm8941-pwrkey.c | 103 ++++++++++++++++++++++++++----------- 1 file changed, 72 insertions(+), 31 deletions(-)drivers/input/misc/pm8941-pwrkey.c +72
-31@@ -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-2021, 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 0x7struct 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);Signature · 2 lines
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
PATCH v2 2/4 dt-bindings: input: pm8941-pwrkey: add pmk8350 compatible strings
In reply to satya priyaFrom: David Collins <[email protected]>
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.
---
Chnages in V2:
- Moved this patch before the conversion patches.
Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.txt | 2 ++ 1 file changed, 2 insertions(+)
Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.txt +2 -0
@@ -8,6 +8,8 @@ PROPERTIES Definition: must be one of: "qcom,pm8941-pwrkey" "qcom,pm8941-resin" + "qcom,pmk8350-pwrkey" + "qcom,pmk8350-resin" - reg: Usage: required
Signature · 2 lines
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
Re: [PATCH V2 2/4] dt-bindings: input: pm8941-pwrkey: add pmk8350 compatible strings
Quoted 6 lines · satya priya
From: David Collins <[email protected]>
Add power key and resin compatible strings for the PMK8350 PMIC. These are needed to distinguish key
PON_HLOSregister differences between PMK8350 and previous PMIC PON modules.
Quoted 9 lines
Signed-off-by David Collins <[email protected]>Signed-off-by satya priya <[email protected]>---
Chnages in V2:
- Moved this patch before the conversion patches.Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.txt | 2 ++ 1 file changed, 2 insertions(+)
PATCH v2 3/4 dt-bindings: power: reset: qcom-pon: Convert qcom PON binding to yaml
In reply to satya priyaConvert qcom PON binding from .txt to .yaml format.
---
Changes in V2:
- As per Rob's comments, converted the main PON binding and added in V2.
.../devicetree/bindings/power/reset/qcom,pon.txt | 49 ---------------------- .../devicetree/bindings/power/reset/qcom,pon.yaml | 41 ++++++++++++++++++ 2 files changed, 41 insertions(+), 49 deletions(-) delete mode 100644 Documentation/devicetree/bindings/power/reset/qcom,pon.txt create mode 100644 Documentation/devicetree/bindings/power/reset/qcom,pon.yaml
Documentation/devicetree/bindings/power/reset/qcom,pon.txt deleted +0 -49
@@ -1,49 +0,0 @@ -Qualcomm PON Device - -The Power On device for Qualcomm PM8xxx is MFD supporting pwrkey -and resin along with the Android reboot-mode. - -This DT node has pwrkey and resin as sub nodes. - -Required Properties: --compatible: Must be one of: - "qcom,pm8916-pon" - "qcom,pms405-pon" - "qcom,pm8998-pon" - --reg: Specifies the physical address of the pon register - -Optional subnode: --pwrkey: Specifies the subnode pwrkey and should follow the - qcom,pm8941-pwrkey.txt description. --resin: Specifies the subnode resin and should follow the - qcom,pm8xxx-pwrkey.txt description. - -The rest of the properties should follow the generic reboot-mode description -found in reboot-mode.txt - -Example: - - pon@800 { - compatible = "qcom,pm8916-pon"; - - reg = <0x800>; - mode-bootloader = <0x2>; - mode-recovery = <0x1>; - - 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>; - }; - };
Documentation/devicetree/bindings/power/reset/qcom,pon.yaml new file +41 -0
41 lines not on this page · raw message
Signature · 2 lines
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
Re: [PATCH V2 3/4] dt-bindings: power: reset: qcom-pon: Convert qcom PON binding to yaml
Hi,
Quoted 4 lines · satya priya
Convert qcom PON binding from .txt to .yaml format.
Signed-off-by satya priya <[email protected]>---
Thanks for doing this.
Quoted 86 lines
Changes in V2:
- As per Rob's comments, converted the main PON binding and added in V2..../devicetree/bindings/power/reset/qcom,pon.txt | 49 ---------------------- .../devicetree/bindings/power/reset/qcom,pon.yaml | 41 ++++++++++++++++++ 2 files changed, 41 insertions(+), 49 deletions(-) delete mode 100644 Documentation/devicetree/bindings/power/reset/qcom,pon.txt create mode 100644 Documentation/devicetree/bindings/power/reset/qcom,pon.yamlDocumentation/devicetree/bindings/power/reset/qcom,pon.txt deleted +0
-49@@ -1,49 +0,0 @@ -Qualcomm PON Device - -The Power On device for Qualcomm PM8xxx is MFD supporting pwrkey -and resin along with the Android reboot-mode. - -This DT node has pwrkey and resin as sub nodes. - -Required Properties: --compatible: Must be one of: - "qcom,pm8916-pon" - "qcom,pms405-pon" - "qcom,pm8998-pon" - --reg: Specifies the physical address of the pon register - -Optional subnode: --pwrkey: Specifies the subnode pwrkey and should follow the - qcom,pm8941-pwrkey.txt description. --resin: Specifies the subnode resin and should follow the - qcom,pm8xxx-pwrkey.txt description. - -The rest of the properties should follow the generic reboot-mode description -found in reboot-mode.txt - -Example: - - pon@800 { - compatible = "qcom,pm8916-pon"; - - reg = <0x800>; - mode-bootloader = <0x2>; - mode-recovery = <0x1>; - - 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>; - }; - };Documentation/devicetree/bindings/power/reset/qcom,pon.yaml new file +16
-0@@ -0,0 +1,41 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/power/reset/qcom,pon.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Qualcomm PON Device + +maintainers: + - Vinod Koul <[email protected]> + +description: | + The Power On device for Qualcomm PM8xxx is MFD supporting pwrkey + and resin along with the Android reboot-mode. + + This DT node has pwrkey and resin as sub nodes.
Documentation/devicetree/bindings/power/reset/qcom,pon.yaml line 26
Quoted 10 lines
Documentation/devicetree/bindings/power/reset/qcom,pon.yaml new file +10
-0+ +properties: + compatible: + enum: + - qcom,pm8916-pon + - qcom,pms405-pon + - qcom,pm8998-pon + + reg: + description: Specifies the physical address of the pon register
That description is obvious and pointless. Instead add
maxItems: 1
Documentation/devicetree/bindings/power/reset/qcom,pon.yaml line 40
Quoted 13 lines
Documentation/devicetree/bindings/power/reset/qcom,pon.yaml new file +13
-0+ pwrkey: + type: object + $ref: "../../input/qcom,pm8941-pwrkey.yaml#" + + resin: + type: object + $ref: "../../input/qcom,pm8941-pwrkey.yaml#" + +required: + - compatible + - reg + +additionalProperties: true
Instead of allowing arbitrary properties, only valid modes should be allowed. So drop additionalProperties and do this instead:
allOf:
- $ref: reboot-mode.yaml#
unevaluatedProperties: false
Documentation/devicetree/bindings/power/reset/qcom,pon.yaml line 41
Quoted 1 line
Documentation/devicetree/bindings/power/reset/qcom,pon.yaml new file +1
-0+...
Please do not drop the example :)
-- Sebastian
Re: [PATCH V2 3/4] dt-bindings: power: reset: qcom-pon: Convert qcom PON binding to yaml
Hi Sebastian,
Quoted 115 lines · Sebastian Reichel
Hi,
Quoted 4 lines · satya priya
Convert qcom PON binding from .txt to .yaml format.
Signed-off-by satya priya <[email protected]>---
Thanks for doing this.
Quoted 92 lines
Changes in V2:
- As per Rob's comments, converted the main PON binding and added in
V2..../devicetree/bindings/power/reset/qcom,pon.txt | 49 ---------------------- .../devicetree/bindings/power/reset/qcom,pon.yaml | 41 ++++++++++++++++++ 2 files changed, 41 insertions(+), 49 deletions(-) delete mode 100644 Documentation/devicetree/bindings/power/reset/qcom,pon.txt create mode 100644
Documentation/devicetree/bindings/power/reset/qcom,pon.yamlDocumentation/devicetree/bindings/power/reset/qcom,pon.txt deleted +0
-22@@ -1,49 +0,0 @@ -Qualcomm PON Device - -The Power On device for Qualcomm PM8xxx is MFD supporting pwrkey -and resin along with the Android reboot-mode. - -This DT node has pwrkey and resin as sub nodes. - -Required Properties: --compatible: Must be one of: - "qcom,pm8916-pon" - "qcom,pms405-pon" - "qcom,pm8998-pon" - --reg: Specifies the physical address of the pon register - -Optional subnode: --pwrkey: Specifies the subnode pwrkey and should follow the - qcom,pm8941-pwrkey.txt description. --resin: Specifies the subnode resin and should follow the - qcom,pm8xxx-pwrkey.txt description. - -The rest of the properties should follow the generic reboot-modedescription
Documentation/devicetree/bindings/power/reset/qcom,pon.txt deleted +0
-27-found in reboot-mode.txt - -Example: - - pon@800 { - compatible = "qcom,pm8916-pon"; - - reg = <0x800>; - mode-bootloader = <0x2>; - mode-recovery = <0x1>; - - 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>; - }; - };Documentation/devicetree/bindings/power/reset/qcom,pon.yaml new file +16
-0@@ -0,0 +1,41 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/power/reset/qcom,pon.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Qualcomm PON Device + +maintainers: + - Vinod Koul <[email protected]> + +description: | + The Power On device for Qualcomm PM8xxx is MFD supporting pwrkey + and resin along with the Android reboot-mode. + + This DT node has pwrkey and resin as sub nodes.Documentation/devicetree/bindings/power/reset/qcom,pon.yaml line 26
Quoted 10 lines
Documentation/devicetree/bindings/power/reset/qcom,pon.yaml new file +10
-0+ +properties: + compatible: + enum: + - qcom,pm8916-pon + - qcom,pms405-pon + - qcom,pm8998-pon + + reg: + description: Specifies the physical address of the pon registerThat description is obvious and pointless. Instead add
Quoted 2 lines
maxItems: 1
Okay.
Quoted 18 lines
Documentation/devicetree/bindings/power/reset/qcom,pon.yaml line 40
Quoted 13 lines
Documentation/devicetree/bindings/power/reset/qcom,pon.yaml new file +13
-0+ pwrkey: + type: object + $ref: "../../input/qcom,pm8941-pwrkey.yaml#" + + resin: + type: object + $ref: "../../input/qcom,pm8941-pwrkey.yaml#" + +required: + - compatible + - reg + +additionalProperties: trueInstead of allowing arbitrary properties, only valid modes should be allowed. So drop additionalProperties and do this instead:
Quoted 5 lines
allOf:
- $ref: reboot-mode.yaml#unevaluatedProperties: false
Okay.
Quoted 4 lines
Documentation/devicetree/bindings/power/reset/qcom,pon.yaml line 41
Quoted 1 line
Documentation/devicetree/bindings/power/reset/qcom,pon.yaml new file +1
-0+...Please do not drop the example :)
As per my understanding on Rob's comments [1] I have added one complete example in qcom,pm8941-pwrkey.yaml (see patch 4/4) and dropped it here.
[1] https://lore.kernel.org/patchwork/patch/1390062/#1588027
Quoted 1 line
-- Sebastian
Thanks,
Satya Priya
Re: [PATCH V2 3/4] dt-bindings: power: reset: qcom-pon: Convert qcom PON binding to yaml
Hi,
Quoted 6 lines · On Fri, Apr 09, 2021 at 01:48:58PM +0530, [email protected] wrote:
Quoted 1 line
Please do not drop the example :)
As per my understanding on Rob's comments [1] I have added one complete example in qcom,pm8941-pwrkey.yaml (see patch 4/4) and dropped it here.
[1] https://lore.kernel.org/patchwork/patch/1390062/#1588027
Ok, please add a note about this in the commit message. Something like:
The example has been removed in favour of full example being available in the qcom,pm8941-pwrkey binding.
Thanks,
-- Sebastian
Re: [PATCH V2 3/4] dt-bindings: power: reset: qcom-pon: Convert qcom PON binding to yaml
Quoted 8 lines · Sebastian Reichel
Hi,
Quoted 5 lines · On Fri, Apr 09, 2021 at 01:48:58PM +0530, [email protected] wrote:
Quoted 1 line
Please do not drop the example :)
As per my understanding on Rob's comments [1] I have added one complete example in qcom,pm8941-pwrkey.yaml (see patch 4/4) and dropped it here.
Quoted 8 lines
Quoted 1 line
[1] https://lore.kernel.org/patchwork/patch/1390062/#1588027
Ok, please add a note about this in the commit message. Something like:
The example has been removed in favour of full example being available in the qcom,pm8941-pwrkey binding.
Okay.
Quoted 3 lines
Thanks,
-- Sebastian
Re: [PATCH V2 3/4] dt-bindings: power: reset: qcom-pon: Convert qcom PON binding to yaml
In reply to [email protected]Hi Sebastian,
Quoted 17 lines · On 2021-04-09 13:48, [email protected] wrote:
Hi Sebastian,
Quoted 14 lines · Sebastian Reichel
Hi,
Quoted 4 lines · satya priya
Convert qcom PON binding from .txt to .yaml format.
Signed-off-by satya priya <[email protected]>---
Thanks for doing this.
Quoted 4 lines
Changes in V2:
- As per Rob's comments, converted the main PON binding and added in
V2.
[...]
Quoted 28 lines
Quoted 7 lines
Documentation/devicetree/bindings/power/reset/qcom,pon.yaml line 26
Quoted 2 lines
Documentation/devicetree/bindings/power/reset/qcom,pon.yaml new file +2
-0+ reg: + description: Specifies the physical address of the pon registerThat description is obvious and pointless. Instead add
maxItems: 1
Okay.
Quoted 18 lines
Documentation/devicetree/bindings/power/reset/qcom,pon.yaml line 40
Quoted 13 lines
Documentation/devicetree/bindings/power/reset/qcom,pon.yaml new file +13
-0+ pwrkey: + type: object + $ref: "../../input/qcom,pm8941-pwrkey.yaml#" + + resin: + type: object + $ref: "../../input/qcom,pm8941-pwrkey.yaml#" + +required: + - compatible + - reg + +additionalProperties: trueInstead of allowing arbitrary properties, only valid modes should be allowed. So drop additionalProperties and do this instead:
Quoted 8 lines
Quoted 5 lines
allOf:
- $ref: reboot-mode.yaml#unevaluatedProperties: false
Okay.
I am not able to use 'allOf' to refer reboot-mode.yaml as some of the properties do not match with reboot-mode.yaml properties. Can we use oneOf like below?
oneOf:
- $ref: "reboot-mode.yaml#"
- $ref: "../../input/qcom,pm8941-pwrkey.yaml#"
Also, If I drop additionalProperties I am getting below error.
kernel/Documentation/devicetree/bindings/power/reset/qcom,pon.yaml: 'additionalProperties' is a required property
Thanks,
Satya Priya
Re: [PATCH V2 3/4] dt-bindings: power: reset: qcom-pon: Convert qcom PON binding to yaml
Hi,
Quoted 57 lines · On Tue, Apr 27, 2021 at 11:45:44AM +0530, [email protected] wrote:
Hi Sebastian,
Quoted 17 lines · On 2021-04-09 13:48, [email protected] wrote:
Hi Sebastian,
Quoted 14 lines · Sebastian Reichel
Hi,
Quoted 4 lines · satya priya
Convert qcom PON binding from .txt to .yaml format.
Signed-off-by satya priya <[email protected]>---
Thanks for doing this.
Quoted 4 lines
Changes in V2:
- As per Rob's comments, converted the main PON binding and
added in V2.[...]
Quoted 28 lines
Quoted 7 lines
Documentation/devicetree/bindings/power/reset/qcom,pon.yaml line 26
Quoted 2 lines
Documentation/devicetree/bindings/power/reset/qcom,pon.yaml new file +2
-0+ reg: + description: Specifies the physical address of the pon registerThat description is obvious and pointless. Instead add
maxItems: 1
Okay.
Quoted 18 lines
Documentation/devicetree/bindings/power/reset/qcom,pon.yaml line 40
Quoted 13 lines
Documentation/devicetree/bindings/power/reset/qcom,pon.yaml new file +13
-0+ pwrkey: + type: object + $ref: "../../input/qcom,pm8941-pwrkey.yaml#" + + resin: + type: object + $ref: "../../input/qcom,pm8941-pwrkey.yaml#" + +required: + - compatible + - reg + +additionalProperties: trueInstead of allowing arbitrary properties, only valid modes should be allowed. So drop additionalProperties and do this instead:
Quoted 7 lines
Quoted 5 lines
allOf:
- $ref: reboot-mode.yaml#unevaluatedProperties: false
Okay.
Quoted 7 lines
I am not able to use 'allOf' to refer
reboot-mode.yamlas some of the properties do not match withreboot-mode.yamlproperties. Can we use oneOf like below?oneOf:
- $ref: "reboot-mode.yaml#"
- $ref: "../../input/qcom,pm8941-pwrkey.yaml#"
That does not make sense.
The reference to reboot-mode.yaml is needed because it adds valid mode properties, so that you can set unevaluatedProperties to false. You need it at the root of the PON binding. They are not added to the required list, so it's fine if not all of them are used. Also there can (and usually is) more than one mode, so using oneOf is not ok.
Last but not least the pwrkey reference is needed to describe specific nodes (resin, pwrkey) and should not appear at the root of the PON binding.
Quoted 4 lines
Also, If I drop additionalProperties I am getting below error.
kernel/Documentation/devicetree/bindings/power/reset/qcom,pon.yaml:
'additionalProperties' is a required property
You need to add 'unevaluatedProperties: false'. It is basically the same as 'additionalProperties: false', but also accepts properties from the referenced bindings.
Thanks,
-- Sebastian
Re: [PATCH V2 3/4] dt-bindings: power: reset: qcom-pon: Convert qcom PON binding to yaml
Quoted 68 lines · Sebastian Reichel
Hi,
Quoted 57 lines · On Tue, Apr 27, 2021 at 11:45:44AM +0530, [email protected] wrote:
Hi Sebastian,
Quoted 17 lines · On 2021-04-09 13:48, [email protected] wrote:
Hi Sebastian,
Quoted 14 lines · Sebastian Reichel
Hi,
Quoted 4 lines · satya priya
Convert qcom PON binding from .txt to .yaml format.
Signed-off-by satya priya <[email protected]>---
Thanks for doing this.
Quoted 4 lines
Changes in V2:
- As per Rob's comments, converted the main PON binding and
added in V2.[...]
Quoted 28 lines
Quoted 7 lines
Documentation/devicetree/bindings/power/reset/qcom,pon.yaml line 26
Quoted 2 lines
Documentation/devicetree/bindings/power/reset/qcom,pon.yaml new file +2
-0+ reg: + description: Specifies the physical address of the pon registerThat description is obvious and pointless. Instead add
maxItems: 1
Okay.
Quoted 18 lines
Documentation/devicetree/bindings/power/reset/qcom,pon.yaml line 40
Quoted 13 lines
Documentation/devicetree/bindings/power/reset/qcom,pon.yaml new file +13
-0+ pwrkey: + type: object + $ref: "../../input/qcom,pm8941-pwrkey.yaml#" + + resin: + type: object + $ref: "../../input/qcom,pm8941-pwrkey.yaml#" + +required: + - compatible + - reg + +additionalProperties: trueInstead of allowing arbitrary properties, only valid modes should be allowed. So drop additionalProperties and do this instead:
Quoted 7 lines
Quoted 5 lines
allOf:
- $ref: reboot-mode.yaml#unevaluatedProperties: false
Okay.
Quoted 7 lines
I am not able to use 'allOf' to refer
reboot-mode.yamlas some of the properties do not match withreboot-mode.yamlproperties. Can we use oneOf like below?oneOf:
- $ref: "reboot-mode.yaml#"
- $ref: "../../input/qcom,pm8941-pwrkey.yaml#"
Quoted 9 lines
That does not make sense.
The reference to
reboot-mode.yamlis needed because it adds valid mode properties, so that you can set unevaluatedProperties to false. You need it at the root of the PON binding. They are not added to the required list, so it's fine if not all of them are used. Also there can (and usually is) more than one mode, so using oneOf is not ok.
Okay, but I am getting errors like below during make dtbs_check.
kernel/arch/arm64/boot/dts/qcom/sdm630-sony-xperia-ganges-kirin.dt.yaml: pon@800: 'compatible', 'pwrkey', 'reg' do not match any of the regexes: '^mode-.*$', 'pinctrl-[0-9]+'
As suggested I have added
allOf:
- $ref: reboot-mode.yaml#
at the root of binding and also added unevaluatedProperties: false
Quoted 16 lines
Last but not least the pwrkey reference is needed to describe specific nodes (resin, pwrkey) and should not appear at the root of the PON binding.
Quoted 4 lines
Also, If I drop additionalProperties I am getting below error.
kernel/Documentation/devicetree/bindings/power/reset/qcom,pon.yaml:
'additionalProperties' is a required propertyYou need to add 'unevaluatedProperties: false'. It is basically the same as 'additionalProperties: false', but also accepts properties from the referenced bindings.
Thanks,
-- Sebastian
Re: [PATCH V2 3/4] dt-bindings: power: reset: qcom-pon: Convert qcom PON binding to yaml
Hi,
[...]
Quoted 37 lines
Quoted 27 lines
Quoted 19 lines
Quoted 11 lines
Quoted 11 lines
Documentation/devicetree/bindings/power/reset/qcom,pon.yaml line 40
Quoted 6 lines
Documentation/devicetree/bindings/power/reset/qcom,pon.yaml new file +6
-0+ +required: + - compatible + - reg + +additionalProperties: trueInstead of allowing arbitrary properties, only valid modes should be allowed. So drop additionalProperties and do this instead:
Quoted 7 lines
Quoted 5 lines
allOf:
- $ref: reboot-mode.yaml#unevaluatedProperties: false
Okay.
Quoted 7 lines
I am not able to use 'allOf' to refer
reboot-mode.yamlas some of the properties do not match withreboot-mode.yamlproperties. Can we use oneOf like below?oneOf:
- $ref: "reboot-mode.yaml#"
- $ref: "../../input/qcom,pm8941-pwrkey.yaml#"Quoted 9 lines
That does not make sense.
The reference to
reboot-mode.yamlis needed because it adds valid mode properties, so that you can set unevaluatedProperties to false. You need it at the root of the PON binding. They are not added to the required list, so it's fine if not all of them are used. Also there can (and usually is) more than one mode, so using oneOf is not ok.
Quoted 6 lines
Okay, but I am getting errors like below during make
dtbs_check.
kernel/arch/arm64/boot/dts/qcom/sdm630-sony-xperia-ganges-kirin.dt.yaml:
pon@800: 'compatible', 'pwrkey', 'reg' do not match any of the
regexes: '^mode-.*$', 'pinctrl-[0-9]+'
Seems like I have to make 'additionalProperties' as true in reboot-mode.yaml
I have checked other yaml binding docs where allOf is used, and they have 'additionalProperties' as true in the file which is being referred. Please let me know if this is not correct way to do it.
Quoted 23 lines
As suggested I have added
allOf:
- $ref: reboot-mode.yaml#at the root of binding and also added unevaluatedProperties: false
Quoted 16 lines
Last but not least the pwrkey reference is needed to describe specific nodes (resin, pwrkey) and should not appear at the root of the PON binding.
Quoted 4 lines
Also, If I drop additionalProperties I am getting below error.
kernel/Documentation/devicetree/bindings/power/reset/qcom,pon.yaml:
'additionalProperties' is a required propertyYou need to add 'unevaluatedProperties: false'. It is basically the same as 'additionalProperties: false', but also accepts properties from the referenced bindings.
Thanks,
-- Sebastian
Thanks,
Satya Priya
Re: [PATCH V2 3/4] dt-bindings: power: reset: qcom-pon: Convert qcom PON binding to yaml
Hi,
Quoted 4 lines · On Fri, May 07, 2021 at 03:15:55PM +0530, [email protected] wrote:
Seems like I have to make 'additionalProperties' as true in
reboot-mode.yamlI have checked other yaml binding docs where allOf is used, and they have 'additionalProperties' as true in the file which is being referred. Please let me know if this is not correct way to do it.
Yes, reboot-mode.yaml should have additionalProperties = true. I think Rob missed, that the binding is a generic one when he added it in f84e2c5c528d.
-- Sebastian
PATCH v2 4/4 dt-bindings: input: pm8941-pwrkey: Convert pm8941 power key binding to yaml
In reply to satya priyaConvert qcom pm8941 power key binding from .txt to .yaml format.
---
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
Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.txt deleted +0 -55
@@ -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>; - };
Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.yaml new file +88 -0
88 lines not on this page · raw message
Signature · 2 lines
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
Rob Herring
maintainerRe: [PATCH V2 4/4] dt-bindings: input: pm8941-pwrkey: Convert pm8941 power key binding to yaml
Quoted 34 lines · satya priya
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 frominput.yamlfor "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.yamlDocumentation/devicetree/bindings/input/qcom,pm8941-pwrkey.yaml new file +11
-0@@ -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]>
Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.yaml line 21
Quoted 10 lines
Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.yaml new file +10
-0+ +properties: + compatible: + enum: + - qcom,pm8941-pwrkey + - qcom,pm8941-resin + - qcom,pmk8350-pwrkey + - qcom,pmk8350-resin + + interrupts:
How many?
Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.yaml line 25
Quoted 4 lines
Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.yaml new file +4
-0+ 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.
Quoted 10 lines
Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.yaml new file +10
-0+ + 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
Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.yaml line 45
Quoted 10 lines
Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.yaml new file +10
-0+ 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.
Quoted 47 lines
Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.yaml new file +43
-0+ +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>; + }; + }; + }; + }; +...Signature · 2 lines
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
Re: [PATCH V2 4/4] dt-bindings: input: pm8941-pwrkey: Convert pm8941 power key binding to yaml
Hi Rob,
Quoted 4 lines · Rob Herring
Quoted 3 lines · satya priya
Convert qcom pm8941 power key binding from .txt to .yaml format.
Signed-off-by satya priya <[email protected]>
[...]
Quoted 4 lines
Quoted 4 lines
Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.yaml new file +4
-0+ +properties: + compatible: + enum:
Quoted 9 lines
Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.yaml line 21
Quoted 6 lines
Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.yaml new file +6
-0+ - qcom,pm8941-pwrkey + - qcom,pm8941-resin + - qcom,pmk8350-pwrkey + - qcom,pmk8350-resin + + interrupts:How many?
ok, will add maxItems.
Quoted 7 lines
Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.yaml line 25
Quoted 4 lines
Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.yaml new file +4
-0+ 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.
Quoted 15 lines
Quoted 15 lines
Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.yaml new file +15
-0+ + 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: |
Quoted 9 lines
Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.yaml line 45
Quoted 5 lines
Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.yaml new file +5
-0+ 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.
Quoted 6 lines
Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.yaml line 51
Quoted 6 lines
Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.yaml new file +6
-0+ +required: + - compatible + - interrupts + +additionalProperties: false
[...]
Thanks,
Satya Priya