Loading Documentation/devicetree/bindings/platform/msm/qpnp-power-on.txt +3 −0 Original line number Diff line number Diff line Loading @@ -58,6 +58,7 @@ Sub-node optional properties: 0 = Not supported 1 = Supported This property is set to '0' if not specified. - qcom,use-bark Specify if this pon type needs to handle bark irq - qcom,s1-timer The debounce timer for the BARK interrupt for that reset source. Value is specified in ms. Supported values are - Loading Loading @@ -108,6 +109,7 @@ Example: qcom,s2-timer = <2000>; qcom,s2-type = <1>; linux,code = <114>; qcom,use-bark; }; qcom,pon_3 { Loading @@ -117,5 +119,6 @@ Example: qcom,s2-timer = <2000>; qcom,s2-type = <7>; qcom,pull-up = <1>; qcom,use-bark; }; }; arch/arm/boot/dts/msm-pm8226.dtsi +5 −0 Original line number Diff line number Diff line Loading @@ -50,6 +50,10 @@ qcom,pon-type = <1>; qcom,pull-up = <1>; linux,code = <114>; qcom,support-reset = <1>; qcom,s1-timer = <6720>; qcom,s2-timer = <2000>; qcom,s2-type = <7>; }; qcom,pon_3 { Loading @@ -59,6 +63,7 @@ qcom,s1-timer = <6720>; qcom,s2-timer = <2000>; qcom,s2-type = <7>; qcom,use-bark; }; }; Loading arch/arm/boot/dts/msm-pm8941.dtsi +2 −0 Original line number Diff line number Diff line Loading @@ -69,6 +69,7 @@ qcom,s2-timer = <2000>; qcom,s2-type = <1>; linux,code = <114>; qcom,use-bark; }; qcom,pon_3 { Loading @@ -78,6 +79,7 @@ qcom,s2-timer = <2000>; qcom,s2-type = <7>; qcom,pull-up = <1>; qcom,use-bark; }; }; Loading drivers/platform/msm/qpnp-power-on.c +13 −6 Original line number Diff line number Diff line Loading @@ -112,6 +112,7 @@ struct qpnp_pon_config { u16 s2_cntl_addr; u16 s2_cntl2_addr; bool old_state; bool use_bark; }; struct qpnp_pon { Loading Loading @@ -762,7 +763,7 @@ qpnp_pon_request_irqs(struct qpnp_pon *pon, struct qpnp_pon_config *cfg) cfg->state_irq); return rc; } if (cfg->support_reset) { if (cfg->use_bark) { rc = devm_request_irq(&pon->spmi->dev, cfg->bark_irq, qpnp_kpdpwr_bark_irq, IRQF_TRIGGER_RISING, Loading @@ -785,7 +786,7 @@ qpnp_pon_request_irqs(struct qpnp_pon *pon, struct qpnp_pon_config *cfg) cfg->state_irq); return rc; } if (cfg->support_reset) { if (cfg->use_bark) { rc = devm_request_irq(&pon->spmi->dev, cfg->bark_irq, qpnp_resin_bark_irq, IRQF_TRIGGER_RISING, Loading @@ -810,7 +811,7 @@ qpnp_pon_request_irqs(struct qpnp_pon *pon, struct qpnp_pon_config *cfg) } break; case PON_KPDPWR_RESIN: if (cfg->support_reset) { if (cfg->use_bark) { rc = devm_request_irq(&pon->spmi->dev, cfg->bark_irq, qpnp_kpdpwr_resin_bark_irq, IRQF_TRIGGER_RISING, Loading Loading @@ -903,7 +904,9 @@ static int qpnp_pon_config_init(struct qpnp_pon *pon) return rc; } if (cfg->support_reset) { cfg->use_bark = of_property_read_bool(pp, "qcom,use-bark"); if (cfg->use_bark) { cfg->bark_irq = spmi_get_irq_byname(pon->spmi, NULL, "kpdpwr-bark"); if (cfg->bark_irq < 0) { Loading Loading @@ -941,7 +944,9 @@ static int qpnp_pon_config_init(struct qpnp_pon *pon) return rc; } if (cfg->support_reset) { cfg->use_bark = of_property_read_bool(pp, "qcom,use-bark"); if (cfg->use_bark) { cfg->bark_irq = spmi_get_irq_byname(pon->spmi, NULL, "resin-bark"); if (cfg->bark_irq < 0) { Loading Loading @@ -980,7 +985,9 @@ static int qpnp_pon_config_init(struct qpnp_pon *pon) return rc; } if (cfg->support_reset) { cfg->use_bark = of_property_read_bool(pp, "qcom,use-bark"); if (cfg->use_bark) { cfg->bark_irq = spmi_get_irq_byname(pon->spmi, NULL, "kpdpwr-resin-bark"); if (cfg->bark_irq < 0) { Loading Loading
Documentation/devicetree/bindings/platform/msm/qpnp-power-on.txt +3 −0 Original line number Diff line number Diff line Loading @@ -58,6 +58,7 @@ Sub-node optional properties: 0 = Not supported 1 = Supported This property is set to '0' if not specified. - qcom,use-bark Specify if this pon type needs to handle bark irq - qcom,s1-timer The debounce timer for the BARK interrupt for that reset source. Value is specified in ms. Supported values are - Loading Loading @@ -108,6 +109,7 @@ Example: qcom,s2-timer = <2000>; qcom,s2-type = <1>; linux,code = <114>; qcom,use-bark; }; qcom,pon_3 { Loading @@ -117,5 +119,6 @@ Example: qcom,s2-timer = <2000>; qcom,s2-type = <7>; qcom,pull-up = <1>; qcom,use-bark; }; };
arch/arm/boot/dts/msm-pm8226.dtsi +5 −0 Original line number Diff line number Diff line Loading @@ -50,6 +50,10 @@ qcom,pon-type = <1>; qcom,pull-up = <1>; linux,code = <114>; qcom,support-reset = <1>; qcom,s1-timer = <6720>; qcom,s2-timer = <2000>; qcom,s2-type = <7>; }; qcom,pon_3 { Loading @@ -59,6 +63,7 @@ qcom,s1-timer = <6720>; qcom,s2-timer = <2000>; qcom,s2-type = <7>; qcom,use-bark; }; }; Loading
arch/arm/boot/dts/msm-pm8941.dtsi +2 −0 Original line number Diff line number Diff line Loading @@ -69,6 +69,7 @@ qcom,s2-timer = <2000>; qcom,s2-type = <1>; linux,code = <114>; qcom,use-bark; }; qcom,pon_3 { Loading @@ -78,6 +79,7 @@ qcom,s2-timer = <2000>; qcom,s2-type = <7>; qcom,pull-up = <1>; qcom,use-bark; }; }; Loading
drivers/platform/msm/qpnp-power-on.c +13 −6 Original line number Diff line number Diff line Loading @@ -112,6 +112,7 @@ struct qpnp_pon_config { u16 s2_cntl_addr; u16 s2_cntl2_addr; bool old_state; bool use_bark; }; struct qpnp_pon { Loading Loading @@ -762,7 +763,7 @@ qpnp_pon_request_irqs(struct qpnp_pon *pon, struct qpnp_pon_config *cfg) cfg->state_irq); return rc; } if (cfg->support_reset) { if (cfg->use_bark) { rc = devm_request_irq(&pon->spmi->dev, cfg->bark_irq, qpnp_kpdpwr_bark_irq, IRQF_TRIGGER_RISING, Loading @@ -785,7 +786,7 @@ qpnp_pon_request_irqs(struct qpnp_pon *pon, struct qpnp_pon_config *cfg) cfg->state_irq); return rc; } if (cfg->support_reset) { if (cfg->use_bark) { rc = devm_request_irq(&pon->spmi->dev, cfg->bark_irq, qpnp_resin_bark_irq, IRQF_TRIGGER_RISING, Loading @@ -810,7 +811,7 @@ qpnp_pon_request_irqs(struct qpnp_pon *pon, struct qpnp_pon_config *cfg) } break; case PON_KPDPWR_RESIN: if (cfg->support_reset) { if (cfg->use_bark) { rc = devm_request_irq(&pon->spmi->dev, cfg->bark_irq, qpnp_kpdpwr_resin_bark_irq, IRQF_TRIGGER_RISING, Loading Loading @@ -903,7 +904,9 @@ static int qpnp_pon_config_init(struct qpnp_pon *pon) return rc; } if (cfg->support_reset) { cfg->use_bark = of_property_read_bool(pp, "qcom,use-bark"); if (cfg->use_bark) { cfg->bark_irq = spmi_get_irq_byname(pon->spmi, NULL, "kpdpwr-bark"); if (cfg->bark_irq < 0) { Loading Loading @@ -941,7 +944,9 @@ static int qpnp_pon_config_init(struct qpnp_pon *pon) return rc; } if (cfg->support_reset) { cfg->use_bark = of_property_read_bool(pp, "qcom,use-bark"); if (cfg->use_bark) { cfg->bark_irq = spmi_get_irq_byname(pon->spmi, NULL, "resin-bark"); if (cfg->bark_irq < 0) { Loading Loading @@ -980,7 +985,9 @@ static int qpnp_pon_config_init(struct qpnp_pon *pon) return rc; } if (cfg->support_reset) { cfg->use_bark = of_property_read_bool(pp, "qcom,use-bark"); if (cfg->use_bark) { cfg->bark_irq = spmi_get_irq_byname(pon->spmi, NULL, "kpdpwr-resin-bark"); if (cfg->bark_irq < 0) { Loading