]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
ARM: OMAP AM33xx: voltagedomain: Add voltage domain data
authorVaibhav Hiremath <hvaibhav@ti.com>
Mon, 18 Jun 2012 06:47:26 +0000 (00:47 -0600)
committerPaul Walmsley <paul@pwsan.com>
Mon, 18 Jun 2012 06:47:26 +0000 (00:47 -0600)
Currently dummy voltage domain data is being created
in order to succeed boot process, nothing has been done
w.r.t actual hardware (voltage control).

Also, hook up the AM33XX voltage domain to OMAP framework.

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Afzal Mohammed <afzal@ti.com>
Cc: Benoit Cousson <b-cousson@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Kevin Hilman <khilman@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Acked-by: Kevin Hilman <khilman@ti.com>
[paul@pwsan.com: updated for 3.5]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
arch/arm/mach-omap2/Makefile
arch/arm/mach-omap2/common.h
arch/arm/mach-omap2/io.c
arch/arm/mach-omap2/voltage.h
arch/arm/mach-omap2/voltagedomains33xx_data.c [new file with mode: 0644]

index fa742f3c262947313f23df2b65e8b36521cf71d9..6a3aef66f03ec0f3f7747eb8202a8ab5d419cbbf 100644 (file)
@@ -99,6 +99,7 @@ obj-$(CONFIG_ARCH_OMAP3)              += $(voltagedomain-common)
 obj-$(CONFIG_ARCH_OMAP3)               += voltagedomains3xxx_data.o
 obj-$(CONFIG_ARCH_OMAP4)               += $(voltagedomain-common)
 obj-$(CONFIG_ARCH_OMAP4)               += voltagedomains44xx_data.o
+obj-$(CONFIG_SOC_AM33XX)                += voltagedomains33xx_data.o
 
 # OMAP powerdomain framework
 powerdomain-common                     += powerdomain.o powerdomain-common.o
index 56f687bebd0af43b54a07416cfcb274d2279c132..5d99c1b2cb483c1de6da62593594ae51fec1a82b 100644 (file)
@@ -129,6 +129,7 @@ void omap3430_init_early(void);
 void omap35xx_init_early(void);
 void omap3630_init_early(void);
 void omap3_init_early(void);   /* Do not use this one */
+void am33xx_init_early(void);
 void am35xx_init_early(void);
 void ti81xx_init_early(void);
 void am33xx_init_early(void);
index 5d6b2346bf755fdf88d73914ef5f536682100a4a..d15ecb3782b7b10bda4c61ed506afabdc0126e6d 100644 (file)
@@ -484,6 +484,7 @@ void __init am33xx_init_early(void)
        omap3xxx_check_revision();
        ti81xx_check_features();
        omap_common_init_early();
+       am33xx_voltagedomains_init();
 }
 #endif
 
index 16a1b092cf36902b768010fc899b4defcded7eb3..a7c43c1042bea599d303ce1cf04120d9153eed75 100644 (file)
@@ -156,6 +156,7 @@ int omap_voltage_late_init(void);
 
 extern void omap2xxx_voltagedomains_init(void);
 extern void omap3xxx_voltagedomains_init(void);
+extern void am33xx_voltagedomains_init(void);
 extern void omap44xx_voltagedomains_init(void);
 
 struct voltagedomain *voltdm_lookup(const char *name);
diff --git a/arch/arm/mach-omap2/voltagedomains33xx_data.c b/arch/arm/mach-omap2/voltagedomains33xx_data.c
new file mode 100644 (file)
index 0000000..965458d
--- /dev/null
@@ -0,0 +1,43 @@
+/*
+ * AM33XX voltage domain data
+ *
+ * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation version 2.
+ *
+ * This program is distributed "as is" WITHOUT ANY WARRANTY of any
+ * kind, whether express or implied; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#include <linux/kernel.h>
+#include <linux/init.h>
+
+#include "voltage.h"
+
+static struct voltagedomain am33xx_voltdm_mpu = {
+       .name           = "mpu",
+};
+
+static struct voltagedomain am33xx_voltdm_core = {
+       .name           = "core",
+};
+
+static struct voltagedomain am33xx_voltdm_rtc = {
+       .name           = "rtc",
+};
+
+static struct voltagedomain *voltagedomains_am33xx[] __initdata = {
+       &am33xx_voltdm_mpu,
+       &am33xx_voltdm_core,
+       &am33xx_voltdm_rtc,
+       NULL,
+};
+
+void __init am33xx_voltagedomains_init(void)
+{
+       voltdm_init(voltagedomains_am33xx);
+}