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.
Signed-off-by: Aswin Murugan <[email protected]> --- v2: - Power domain fixups have been removed since they are now managed by qcom-rpmhpd driver --- arch/arm/mach-snapdragon/Kconfig | 7 +++++++ arch/arm/mach-snapdragon/of_fixup.c | 32 +---------------------------- 2 files changed, 8 insertions(+), 31 deletions(-) diff --git a/arch/arm/mach-snapdragon/Kconfig b/arch/arm/mach-snapdragon/Kconfig index 976c0e35fce..28e564889bc 100644 --- a/arch/arm/mach-snapdragon/Kconfig +++ b/arch/arm/mach-snapdragon/Kconfig @@ -1,5 +1,12 @@ if ARCH_SNAPDRAGON +config OF_LIVE_SA8775P + bool "Enable OF LIVE SA8775P" + select OF_LIVE + help + Say Y here to enable support for OF LIVE fixups + on the Snapdragon SA8775 SoC. + config SYS_SOC default "snapdragon" 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; } -- 2.34.1

