ARM: AM33xx: PRM: add support for prm_init
authorTero Kristo <t-kristo@ti.com>
Mon, 27 Oct 2014 15:39:24 +0000 (08:39 -0700)
committerTony Lindgren <tony@atomide.com>
Mon, 27 Oct 2014 15:39:24 +0000 (08:39 -0700)
Added support for prm_init for AM33xx SoC. This is needed to register
SoC specific prm_ll_data for these devices.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
Acked-by: Paul Walmsley <paul@pwsan.com>
Tested-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
arch/arm/mach-omap2/io.c
arch/arm/mach-omap2/prm33xx.c
arch/arm/mach-omap2/prm33xx.h

index dc251673103aea1e82e9f538ff8d2cb7651403dd..55380bb89a5448eb8a41038977b0f56d153e5d88 100644 (file)
@@ -53,6 +53,7 @@
 #include "cminst44xx.h"
 #include "prm2xxx.h"
 #include "prm3xxx.h"
+#include "prm33xx.h"
 #include "prm44xx.h"
 #include "opp2xxx.h"
 
@@ -566,6 +567,7 @@ void __init am33xx_init_early(void)
        omap2_set_globals_cm(AM33XX_L4_WK_IO_ADDRESS(AM33XX_PRCM_BASE), NULL);
        omap3xxx_check_revision();
        am33xx_check_features();
+       am33xx_prm_init();
        am33xx_cm_init();
        am33xx_powerdomains_init();
        am33xx_clockdomains_init();
index 62709cd2f9c579cb896fc030ebbcc213db0b9263..f149e7c9f948064448c4f71b75c5708fbbcdaf3b 100644 (file)
@@ -342,3 +342,16 @@ struct pwrdm_ops am33xx_pwrdm_operations = {
        .pwrdm_wait_transition          = am33xx_pwrdm_wait_transition,
        .pwrdm_has_voltdm               = am33xx_check_vcvp,
 };
+
+static struct prm_ll_data am33xx_prm_ll_data;
+
+int __init am33xx_prm_init(void)
+{
+       return prm_register(&am33xx_prm_ll_data);
+}
+
+static void __exit am33xx_prm_exit(void)
+{
+       prm_unregister(&am33xx_prm_ll_data);
+}
+__exitcall(am33xx_prm_exit);
index 9b9918dfb119967e91c3c1ee791bb48e63219b41..5cdfdc02c342d4d0c223c07fbb09ab19ca70d6cb 100644 (file)
@@ -127,5 +127,7 @@ extern int am33xx_prm_is_hardreset_asserted(u8 shift, s16 inst,
 extern int am33xx_prm_assert_hardreset(u8 shift, s16 inst, u16 rstctrl_offs);
 extern int am33xx_prm_deassert_hardreset(u8 shift, u8 st_shift, s16 inst,
                u16 rstctrl_offs, u16 rstst_offs);
+int am33xx_prm_init(void);
+
 #endif /* ASSEMBLER */
 #endif