From: Hector Martin <marcan@marcan.st> To: Sven Peter <sven@svenpeter.dev>, Rob Herring <robh+dt@kernel.org> Cc: Hector Martin <marcan@marcan.st>, Mark Kettenis <kettenis@openbsd.org>, Alyssa Rosenzweig <alyssa@rosenzweig.io>, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org Subject: [PATCH 2/3] soc: apple: apple-pmgr-pwrstate: Add auto-PM min level support Date: Thu, 9 Dec 2021 13:45:00 +0900 [thread overview] Message-ID: <20211209044501.67028-3-marcan@marcan.st> (raw) In-Reply-To: <20211209044501.67028-1-marcan@marcan.st> This is seemingly required for DCP/DCPEXT, without which they refuse to boot properly. They need to be set to minimum state 4 (clock gated). Signed-off-by: Hector Martin <marcan@marcan.st> --- drivers/soc/apple/apple-pmgr-pwrstate.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/soc/apple/apple-pmgr-pwrstate.c b/drivers/soc/apple/apple-pmgr-pwrstate.c index 8ad9d5fdefbf..590bb7439372 100644 --- a/drivers/soc/apple/apple-pmgr-pwrstate.c +++ b/drivers/soc/apple/apple-pmgr-pwrstate.c @@ -20,6 +20,7 @@ #define APPLE_PMGR_RESET BIT(31) #define APPLE_PMGR_AUTO_ENABLE BIT(28) #define APPLE_PMGR_PS_AUTO GENMASK(27, 24) +#define APPLE_PMGR_PS_MIN GENMASK(19, 16) #define APPLE_PMGR_PARENT_OFF BIT(11) #define APPLE_PMGR_DEV_DISABLE BIT(10) #define APPLE_PMGR_WAS_CLKGATED BIT(9) @@ -42,6 +43,7 @@ struct apple_pmgr_ps { struct reset_controller_dev rcdev; struct regmap *regmap; u32 offset; + u32 min_state; }; #define genpd_to_apple_pmgr_ps(_genpd) container_of(_genpd, struct apple_pmgr_ps, genpd) @@ -224,6 +226,12 @@ static int apple_pmgr_ps_probe(struct platform_device *pdev) ps->genpd.power_on = apple_pmgr_ps_power_on; ps->genpd.power_off = apple_pmgr_ps_power_off; + ret = of_property_read_u32(node, "apple,min-state", &ps->min_state); + if (ret >= 0) { + regmap_update_bits(regmap, ps->offset, APPLE_PMGR_FLAGS | APPLE_PMGR_PS_MIN, + FIELD_PREP(APPLE_PMGR_PS_MIN, ps->min_state)); + } + active = apple_pmgr_ps_is_active(ps); if (of_property_read_bool(node, "apple,always-on")) { ps->genpd.flags |= GENPD_FLAG_ALWAYS_ON; -- 2.33.0
WARNING: multiple messages have this Message-ID (diff)
From: Hector Martin <marcan@marcan.st> To: Sven Peter <sven@svenpeter.dev>, Rob Herring <robh+dt@kernel.org> Cc: Hector Martin <marcan@marcan.st>, Mark Kettenis <kettenis@openbsd.org>, Alyssa Rosenzweig <alyssa@rosenzweig.io>, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org Subject: [PATCH 2/3] soc: apple: apple-pmgr-pwrstate: Add auto-PM min level support Date: Thu, 9 Dec 2021 13:45:00 +0900 [thread overview] Message-ID: <20211209044501.67028-3-marcan@marcan.st> (raw) In-Reply-To: <20211209044501.67028-1-marcan@marcan.st> This is seemingly required for DCP/DCPEXT, without which they refuse to boot properly. They need to be set to minimum state 4 (clock gated). Signed-off-by: Hector Martin <marcan@marcan.st> --- drivers/soc/apple/apple-pmgr-pwrstate.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/soc/apple/apple-pmgr-pwrstate.c b/drivers/soc/apple/apple-pmgr-pwrstate.c index 8ad9d5fdefbf..590bb7439372 100644 --- a/drivers/soc/apple/apple-pmgr-pwrstate.c +++ b/drivers/soc/apple/apple-pmgr-pwrstate.c @@ -20,6 +20,7 @@ #define APPLE_PMGR_RESET BIT(31) #define APPLE_PMGR_AUTO_ENABLE BIT(28) #define APPLE_PMGR_PS_AUTO GENMASK(27, 24) +#define APPLE_PMGR_PS_MIN GENMASK(19, 16) #define APPLE_PMGR_PARENT_OFF BIT(11) #define APPLE_PMGR_DEV_DISABLE BIT(10) #define APPLE_PMGR_WAS_CLKGATED BIT(9) @@ -42,6 +43,7 @@ struct apple_pmgr_ps { struct reset_controller_dev rcdev; struct regmap *regmap; u32 offset; + u32 min_state; }; #define genpd_to_apple_pmgr_ps(_genpd) container_of(_genpd, struct apple_pmgr_ps, genpd) @@ -224,6 +226,12 @@ static int apple_pmgr_ps_probe(struct platform_device *pdev) ps->genpd.power_on = apple_pmgr_ps_power_on; ps->genpd.power_off = apple_pmgr_ps_power_off; + ret = of_property_read_u32(node, "apple,min-state", &ps->min_state); + if (ret >= 0) { + regmap_update_bits(regmap, ps->offset, APPLE_PMGR_FLAGS | APPLE_PMGR_PS_MIN, + FIELD_PREP(APPLE_PMGR_PS_MIN, ps->min_state)); + } + active = apple_pmgr_ps_is_active(ps); if (of_property_read_bool(node, "apple,always-on")) { ps->genpd.flags |= GENPD_FLAG_ALWAYS_ON; -- 2.33.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2021-12-09 4:46 UTC|newest] Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-12-09 4:44 [PATCH 0/3] Apple PMGR fixup: Implement support for min-ps Hector Martin 2021-12-09 4:44 ` Hector Martin 2021-12-09 4:44 ` [PATCH 1/3] dt-bindings: power: apple,pmgr-pwrstate: Add apple,min-ps prop Hector Martin 2021-12-09 4:44 ` [PATCH 1/3] dt-bindings: power: apple, pmgr-pwrstate: Add apple, min-ps prop Hector Martin 2021-12-09 4:48 ` [PATCH 1/3] dt-bindings: power: apple,pmgr-pwrstate: Add apple,min-ps prop Hector Martin 2021-12-09 4:48 ` Hector Martin 2021-12-09 17:30 ` Rob Herring 2021-12-09 17:30 ` Rob Herring 2021-12-09 4:45 ` Hector Martin [this message] 2021-12-09 4:45 ` [PATCH 2/3] soc: apple: apple-pmgr-pwrstate: Add auto-PM min level support Hector Martin 2021-12-09 16:44 ` Sven Peter 2021-12-09 16:44 ` Sven Peter 2021-12-09 4:45 ` [PATCH 3/3] arm64: dts: apple: t8103: Add apple,min-ps to DCP PMGR nodes Hector Martin 2021-12-09 4:45 ` [PATCH 3/3] arm64: dts: apple: t8103: Add apple, min-ps " Hector Martin 2021-12-11 12:24 ` [PATCH 3/3] arm64: dts: apple: t8103: Add apple,min-ps " Sven Peter 2021-12-11 12:24 ` [PATCH 3/3] arm64: dts: apple: t8103: Add apple, min-ps " Sven Peter
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20211209044501.67028-3-marcan@marcan.st \ --to=marcan@marcan.st \ --cc=alyssa@rosenzweig.io \ --cc=devicetree@vger.kernel.org \ --cc=kettenis@openbsd.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=robh+dt@kernel.org \ --cc=sven@svenpeter.dev \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
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.