[PATCH v3 3/4] mach-snapdragon: fixup power-domains
neil.armstrong at linaro.org
neil.armstrong at linaro.org
Thu Jul 3 09:31:22 CEST 2025
On 02/07/2025 20:01, Aswin Murugan wrote:
> RPMH power domain properties were initially removed from the
> device tree due to the absence of driver support. Support for
> SA8775P_MMCX and SA8775P_MMCX_AO has now been added in the RPMH
> Power Domain Driver for the SA8775P platform.
Well this affects all SoCs, so please all SoC entries in the RPMH Power domain driver!
Neil
>
> Signed-off-by: Aswin Murugan <aswin.murugan at oss.qualcomm.com>
> ---
> v3:
> - Removed OF_LIVE_SA8775P config, since there is no SA8775P specific fixups are done
>
> v2:
> - Removed the power domain fixups, since the power domains are handled in qcom-rpmhpd driver
> ---
> arch/arm/mach-snapdragon/of_fixup.c | 32 +----------------------------
> 1 file changed, 1 insertion(+), 31 deletions(-)
>
> diff --git a/arch/arm/mach-snapdragon/of_fixup.c b/arch/arm/mach-snapdragon/of_fixup.c
> index b398c6b7b9f..e36c541ac42 100644
> --- a/arch/arm/mach-snapdragon/of_fixup.c
> +++ b/arch/arm/mach-snapdragon/of_fixup.c
> @@ -19,6 +19,7 @@
> #define pr_fmt(fmt) "of_fixup: " fmt
>
> #include <dt-bindings/input/linux-event-codes.h>
> +#include <dt-bindings/power/qcom-rpmpd.h>
> #include <dm/of_access.h>
> #include <dm/of.h>
> #include <event.h>
> @@ -129,36 +130,6 @@ static void fixup_usb_nodes(struct device_node *root)
> }
> }
>
> -/* Remove all references to the rpmhpd device */
> -static void fixup_power_domains(struct device_node *root)
> -{
> - struct device_node *pd = NULL, *np = NULL;
> - struct property *prop;
> - const __be32 *val;
> -
> - /* All Qualcomm platforms name the rpm(h)pd "power-controller" */
> - for_each_of_allnodes_from(root, pd) {
> - if (pd->name && !strcmp("power-controller", pd->name))
> - break;
> - }
> -
> - /* Sanity check that this is indeed a power domain controller */
> - if (!of_find_property(pd, "#power-domain-cells", NULL)) {
> - log_err("Found power-controller but it doesn't have #power-domain-cells\n");
> - return;
> - }
> -
> - /* Remove all references to the power domain controller */
> - for_each_of_allnodes_from(root, np) {
> - if (!(prop = of_find_property(np, "power-domains", NULL)))
> - continue;
> -
> - val = prop->value;
> - if (val[0] == cpu_to_fdt32(pd->phandle))
> - of_remove_property(np, prop);
> - }
> -}
> -
> #define time_call(func, ...) \
> do { \
> u64 start = timer_get_us(); \
> @@ -171,7 +142,6 @@ static int qcom_of_fixup_nodes(void * __maybe_unused ctx, struct event *event)
> struct device_node *root = event->data.of_live_built.root;
>
> time_call(fixup_usb_nodes, root);
> - time_call(fixup_power_domains, root);
>
> return 0;
> }
More information about the U-Boot
mailing list