In preparation for probing the interconnects with simple-pm-bus to
make use of genpd, we need to probe the always-on PRCM first for the
clocks needed by l4_wkup instance.

Signed-off-by: Tony Lindgren <t...@atomide.com>
---
 arch/arm/mach-omap2/pdata-quirks.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/arch/arm/mach-omap2/pdata-quirks.c 
b/arch/arm/mach-omap2/pdata-quirks.c
--- a/arch/arm/mach-omap2/pdata-quirks.c
+++ b/arch/arm/mach-omap2/pdata-quirks.c
@@ -580,6 +580,8 @@ static void pdata_quirks_check(struct pdata_init *quirks)
 
 void __init pdata_quirks_init(const struct of_device_id *omap_dt_match_table)
 {
+       struct device_node *np;
+
        /*
         * We still need this for omap2420 and omap3 PM to work, others are
         * using drivers/misc/sram.c already.
@@ -591,6 +593,15 @@ void __init pdata_quirks_init(const struct of_device_id 
*omap_dt_match_table)
        if (of_machine_is_compatible("ti,omap3"))
                omap3_mcbsp_init();
        pdata_quirks_check(auxdata_quirks);
+
+       /* Populate always-on PRCM in l4_wkup to probe l4_wkup */
+       np = of_find_node_by_name(NULL, "prcm");
+       if (!np)
+               np = of_find_node_by_name(NULL, "prm");
+       if (np)
+               of_platform_populate(np, omap_dt_match_table,
+                                    omap_auxdata_lookup, NULL);
+
        of_platform_populate(NULL, omap_dt_match_table,
                             omap_auxdata_lookup, NULL);
        pdata_quirks_check(pdata_quirks);
-- 
2.29.1

Reply via email to