* [RFC][PATCH 1/2] dt-bindings: power: reset: qcom: Add qcom,pm8998-pon compatability line
@ 2019-05-31 23:47 John Stultz
2019-05-31 23:47 ` [RFC][PATCH 2/2] reset: qcom-pon: Add support for gen2 pon John Stultz
2019-05-31 23:50 ` [RFC][PATCH 1/2] dt-bindings: power: reset: qcom: Add qcom,pm8998-pon compatability line Bjorn Andersson
0 siblings, 2 replies; 5+ messages in thread
From: John Stultz @ 2019-05-31 23:47 UTC (permalink / raw)
To: lkml
Cc: John Stultz, Andy Gross, David Brown, Bjorn Andersson,
Amit Pundir, Rob Herring, Mark Rutland, Sebastian Reichel,
linux-arm-msm, devicetree
Update bindings to support for qcom,pm8998-pon which uses gen2 pon
Cc: Andy Gross <agross@kernel.org>
Cc: David Brown <david.brown@linaro.org>
Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
Cc: Amit Pundir <amit.pundir@linaro.org>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Sebastian Reichel <sre@kernel.org>
Cc: linux-arm-msm@vger.kernel.org
Cc: devicetree@vger.kernel.org
Signed-off-by: John Stultz <john.stultz@linaro.org>
---
Documentation/devicetree/bindings/power/reset/qcom,pon.txt | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/power/reset/qcom,pon.txt b/Documentation/devicetree/bindings/power/reset/qcom,pon.txt
index 5705f575862d..0c0dc3a1e693 100644
--- a/Documentation/devicetree/bindings/power/reset/qcom,pon.txt
+++ b/Documentation/devicetree/bindings/power/reset/qcom,pon.txt
@@ -9,6 +9,7 @@ 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
--
2.17.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [RFC][PATCH 2/2] reset: qcom-pon: Add support for gen2 pon
2019-05-31 23:47 [RFC][PATCH 1/2] dt-bindings: power: reset: qcom: Add qcom,pm8998-pon compatability line John Stultz
@ 2019-05-31 23:47 ` John Stultz
2019-05-31 23:53 ` Bjorn Andersson
2019-05-31 23:50 ` [RFC][PATCH 1/2] dt-bindings: power: reset: qcom: Add qcom,pm8998-pon compatability line Bjorn Andersson
1 sibling, 1 reply; 5+ messages in thread
From: John Stultz @ 2019-05-31 23:47 UTC (permalink / raw)
To: lkml
Cc: John Stultz, Andy Gross, David Brown, Bjorn Andersson,
Amit Pundir, Rob Herring, Mark Rutland, Sebastian Reichel,
linux-arm-msm, devicetree
Add support for gen2 pon register so "reboot bootloader" can
work on pixel3 and db845.
Cc: Andy Gross <agross@kernel.org>
Cc: David Brown <david.brown@linaro.org>
Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
Cc: Amit Pundir <amit.pundir@linaro.org>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Sebastian Reichel <sre@kernel.org>
Cc: linux-arm-msm@vger.kernel.org
Cc: devicetree@vger.kernel.org
Signed-off-by: John Stultz <john.stultz@linaro.org>
---
arch/arm64/boot/dts/qcom/pm8998.dtsi | 2 +-
drivers/power/reset/qcom-pon.c | 15 ++++++++++++---
2 files changed, 13 insertions(+), 4 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/pm8998.dtsi b/arch/arm64/boot/dts/qcom/pm8998.dtsi
index d3ca35a940fb..051a52df80f9 100644
--- a/arch/arm64/boot/dts/qcom/pm8998.dtsi
+++ b/arch/arm64/boot/dts/qcom/pm8998.dtsi
@@ -39,7 +39,7 @@
#size-cells = <0>;
pm8998_pon: pon@800 {
- compatible = "qcom,pm8916-pon";
+ compatible = "qcom,pm8998-pon";
reg = <0x800>;
mode-bootloader = <0x2>;
diff --git a/drivers/power/reset/qcom-pon.c b/drivers/power/reset/qcom-pon.c
index 3fa1642d4c54..d0336a1612a4 100644
--- a/drivers/power/reset/qcom-pon.c
+++ b/drivers/power/reset/qcom-pon.c
@@ -14,11 +14,15 @@
#define PON_SOFT_RB_SPARE 0x8f
+#define GEN1_REASON_SHIFT 2
+#define GEN2_REASON_SHIFT 1
+
struct pm8916_pon {
struct device *dev;
struct regmap *regmap;
u32 baseaddr;
struct reboot_mode_driver reboot_mode;
+ long reason_shift;
};
static int pm8916_reboot_mode_write(struct reboot_mode_driver *reboot,
@@ -30,15 +34,18 @@ static int pm8916_reboot_mode_write(struct reboot_mode_driver *reboot,
ret = regmap_update_bits(pon->regmap,
pon->baseaddr + PON_SOFT_RB_SPARE,
- 0xfc, magic << 2);
+ 0xfc, magic << pon->reason_shift);
if (ret < 0)
dev_err(pon->dev, "update reboot mode bits failed\n");
return ret;
}
+static const struct of_device_id pm8916_pon_id_table[];
+
static int pm8916_pon_probe(struct platform_device *pdev)
{
+ const struct of_device_id *match;
struct pm8916_pon *pon;
int error;
@@ -60,6 +67,7 @@ static int pm8916_pon_probe(struct platform_device *pdev)
return error;
pon->reboot_mode.dev = &pdev->dev;
+ pon->reason_shift = of_device_get_match_data(&pdev->dev);
pon->reboot_mode.write = pm8916_reboot_mode_write;
error = devm_reboot_mode_register(&pdev->dev, &pon->reboot_mode);
if (error) {
@@ -73,8 +81,9 @@ static int pm8916_pon_probe(struct platform_device *pdev)
}
static const struct of_device_id pm8916_pon_id_table[] = {
- { .compatible = "qcom,pm8916-pon" },
- { .compatible = "qcom,pms405-pon" },
+ { .compatible = "qcom,pm8916-pon", .data = (void *)GEN1_REASON_SHIFT },
+ { .compatible = "qcom,pms405-pon", .data = (void *)GEN1_REASON_SHIFT },
+ { .compatible = "qcom,pm8998-pon", .data = (void *)GEN2_REASON_SHIFT },
{ }
};
MODULE_DEVICE_TABLE(of, pm8916_pon_id_table);
--
2.17.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [RFC][PATCH 1/2] dt-bindings: power: reset: qcom: Add qcom,pm8998-pon compatability line
2019-05-31 23:47 [RFC][PATCH 1/2] dt-bindings: power: reset: qcom: Add qcom,pm8998-pon compatability line John Stultz
2019-05-31 23:47 ` [RFC][PATCH 2/2] reset: qcom-pon: Add support for gen2 pon John Stultz
@ 2019-05-31 23:50 ` Bjorn Andersson
1 sibling, 0 replies; 5+ messages in thread
From: Bjorn Andersson @ 2019-05-31 23:50 UTC (permalink / raw)
To: John Stultz
Cc: lkml, Andy Gross, David Brown, Amit Pundir, Rob Herring,
Mark Rutland, Sebastian Reichel, linux-arm-msm, devicetree
On Fri 31 May 16:47 PDT 2019, John Stultz wrote:
> Update bindings to support for qcom,pm8998-pon which uses gen2 pon
>
> Cc: Andy Gross <agross@kernel.org>
> Cc: David Brown <david.brown@linaro.org>
> Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
> Cc: Amit Pundir <amit.pundir@linaro.org>
> Cc: Rob Herring <robh+dt@kernel.org>
> Cc: Mark Rutland <mark.rutland@arm.com>
> Cc: Sebastian Reichel <sre@kernel.org>
> Cc: linux-arm-msm@vger.kernel.org
> Cc: devicetree@vger.kernel.org
> Signed-off-by: John Stultz <john.stultz@linaro.org>
> ---
> Documentation/devicetree/bindings/power/reset/qcom,pon.txt | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/Documentation/devicetree/bindings/power/reset/qcom,pon.txt b/Documentation/devicetree/bindings/power/reset/qcom,pon.txt
> index 5705f575862d..0c0dc3a1e693 100644
> --- a/Documentation/devicetree/bindings/power/reset/qcom,pon.txt
> +++ b/Documentation/devicetree/bindings/power/reset/qcom,pon.txt
> @@ -9,6 +9,7 @@ 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
>
> --
> 2.17.1
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [RFC][PATCH 2/2] reset: qcom-pon: Add support for gen2 pon
2019-05-31 23:47 ` [RFC][PATCH 2/2] reset: qcom-pon: Add support for gen2 pon John Stultz
@ 2019-05-31 23:53 ` Bjorn Andersson
2019-06-01 0:05 ` John Stultz
0 siblings, 1 reply; 5+ messages in thread
From: Bjorn Andersson @ 2019-05-31 23:53 UTC (permalink / raw)
To: John Stultz
Cc: lkml, Andy Gross, David Brown, Amit Pundir, Rob Herring,
Mark Rutland, Sebastian Reichel, linux-arm-msm, devicetree
On Fri 31 May 16:47 PDT 2019, John Stultz wrote:
> Add support for gen2 pon register so "reboot bootloader" can
> work on pixel3 and db845.
>
> Cc: Andy Gross <agross@kernel.org>
> Cc: David Brown <david.brown@linaro.org>
> Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
> Cc: Amit Pundir <amit.pundir@linaro.org>
> Cc: Rob Herring <robh+dt@kernel.org>
> Cc: Mark Rutland <mark.rutland@arm.com>
> Cc: Sebastian Reichel <sre@kernel.org>
> Cc: linux-arm-msm@vger.kernel.org
> Cc: devicetree@vger.kernel.org
> Signed-off-by: John Stultz <john.stultz@linaro.org>
> ---
> arch/arm64/boot/dts/qcom/pm8998.dtsi | 2 +-
> drivers/power/reset/qcom-pon.c | 15 ++++++++++++---
> 2 files changed, 13 insertions(+), 4 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/qcom/pm8998.dtsi b/arch/arm64/boot/dts/qcom/pm8998.dtsi
> index d3ca35a940fb..051a52df80f9 100644
> --- a/arch/arm64/boot/dts/qcom/pm8998.dtsi
> +++ b/arch/arm64/boot/dts/qcom/pm8998.dtsi
> @@ -39,7 +39,7 @@
> #size-cells = <0>;
>
> pm8998_pon: pon@800 {
> - compatible = "qcom,pm8916-pon";
> + compatible = "qcom,pm8998-pon";
>
> reg = <0x800>;
> mode-bootloader = <0x2>;
We want to take this through arm-soc and the rest through Sebastian's
tree, so please provide the dts update in a separate commit.
Apart from that this looks good!
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Regards,
Bjorn
> diff --git a/drivers/power/reset/qcom-pon.c b/drivers/power/reset/qcom-pon.c
> index 3fa1642d4c54..d0336a1612a4 100644
> --- a/drivers/power/reset/qcom-pon.c
> +++ b/drivers/power/reset/qcom-pon.c
> @@ -14,11 +14,15 @@
>
> #define PON_SOFT_RB_SPARE 0x8f
>
> +#define GEN1_REASON_SHIFT 2
> +#define GEN2_REASON_SHIFT 1
> +
> struct pm8916_pon {
> struct device *dev;
> struct regmap *regmap;
> u32 baseaddr;
> struct reboot_mode_driver reboot_mode;
> + long reason_shift;
> };
>
> static int pm8916_reboot_mode_write(struct reboot_mode_driver *reboot,
> @@ -30,15 +34,18 @@ static int pm8916_reboot_mode_write(struct reboot_mode_driver *reboot,
>
> ret = regmap_update_bits(pon->regmap,
> pon->baseaddr + PON_SOFT_RB_SPARE,
> - 0xfc, magic << 2);
> + 0xfc, magic << pon->reason_shift);
> if (ret < 0)
> dev_err(pon->dev, "update reboot mode bits failed\n");
>
> return ret;
> }
>
> +static const struct of_device_id pm8916_pon_id_table[];
> +
> static int pm8916_pon_probe(struct platform_device *pdev)
> {
> + const struct of_device_id *match;
> struct pm8916_pon *pon;
> int error;
>
> @@ -60,6 +67,7 @@ static int pm8916_pon_probe(struct platform_device *pdev)
> return error;
>
> pon->reboot_mode.dev = &pdev->dev;
> + pon->reason_shift = of_device_get_match_data(&pdev->dev);
> pon->reboot_mode.write = pm8916_reboot_mode_write;
> error = devm_reboot_mode_register(&pdev->dev, &pon->reboot_mode);
> if (error) {
> @@ -73,8 +81,9 @@ static int pm8916_pon_probe(struct platform_device *pdev)
> }
>
> static const struct of_device_id pm8916_pon_id_table[] = {
> - { .compatible = "qcom,pm8916-pon" },
> - { .compatible = "qcom,pms405-pon" },
> + { .compatible = "qcom,pm8916-pon", .data = (void *)GEN1_REASON_SHIFT },
> + { .compatible = "qcom,pms405-pon", .data = (void *)GEN1_REASON_SHIFT },
> + { .compatible = "qcom,pm8998-pon", .data = (void *)GEN2_REASON_SHIFT },
> { }
> };
> MODULE_DEVICE_TABLE(of, pm8916_pon_id_table);
> --
> 2.17.1
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [RFC][PATCH 2/2] reset: qcom-pon: Add support for gen2 pon
2019-05-31 23:53 ` Bjorn Andersson
@ 2019-06-01 0:05 ` John Stultz
0 siblings, 0 replies; 5+ messages in thread
From: John Stultz @ 2019-06-01 0:05 UTC (permalink / raw)
To: Bjorn Andersson
Cc: lkml, Andy Gross, David Brown, Amit Pundir, Rob Herring,
Mark Rutland, Sebastian Reichel, linux-arm-msm,
open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS
On Fri, May 31, 2019 at 4:53 PM Bjorn Andersson
<bjorn.andersson@linaro.org> wrote:
>
> On Fri 31 May 16:47 PDT 2019, John Stultz wrote:
>
> > Add support for gen2 pon register so "reboot bootloader" can
> > work on pixel3 and db845.
> >
> > Cc: Andy Gross <agross@kernel.org>
> > Cc: David Brown <david.brown@linaro.org>
> > Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
> > Cc: Amit Pundir <amit.pundir@linaro.org>
> > Cc: Rob Herring <robh+dt@kernel.org>
> > Cc: Mark Rutland <mark.rutland@arm.com>
> > Cc: Sebastian Reichel <sre@kernel.org>
> > Cc: linux-arm-msm@vger.kernel.org
> > Cc: devicetree@vger.kernel.org
> > Signed-off-by: John Stultz <john.stultz@linaro.org>
> > ---
> > arch/arm64/boot/dts/qcom/pm8998.dtsi | 2 +-
> > drivers/power/reset/qcom-pon.c | 15 ++++++++++++---
> > 2 files changed, 13 insertions(+), 4 deletions(-)
> >
> > diff --git a/arch/arm64/boot/dts/qcom/pm8998.dtsi b/arch/arm64/boot/dts/qcom/pm8998.dtsi
> > index d3ca35a940fb..051a52df80f9 100644
> > --- a/arch/arm64/boot/dts/qcom/pm8998.dtsi
> > +++ b/arch/arm64/boot/dts/qcom/pm8998.dtsi
> > @@ -39,7 +39,7 @@
> > #size-cells = <0>;
> >
> > pm8998_pon: pon@800 {
> > - compatible = "qcom,pm8916-pon";
> > + compatible = "qcom,pm8998-pon";
> >
> > reg = <0x800>;
> > mode-bootloader = <0x2>;
>
> We want to take this through arm-soc and the rest through Sebastian's
> tree, so please provide the dts update in a separate commit.
Sure. I wasn't sure if tracking the change in a separate patch was
worth it for such a trivial oneliner, but that's fine, I'll split it
out.
thanks for the review!
-john
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2019-06-01 0:05 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-05-31 23:47 [RFC][PATCH 1/2] dt-bindings: power: reset: qcom: Add qcom,pm8998-pon compatability line John Stultz
2019-05-31 23:47 ` [RFC][PATCH 2/2] reset: qcom-pon: Add support for gen2 pon John Stultz
2019-05-31 23:53 ` Bjorn Andersson
2019-06-01 0:05 ` John Stultz
2019-05-31 23:50 ` [RFC][PATCH 1/2] dt-bindings: power: reset: qcom: Add qcom,pm8998-pon compatability line Bjorn Andersson
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.