@@ -44,6 +44,7 @@ config ARCH_OMAP4
depends on ARCH_OMAP2PLUS
select CPU_V7
select ARM_GIC
+ select PM_OPP if PM
comment "OMAP Core Type"
depends on ARCH_OMAP2
@@ -61,6 +61,7 @@ struct omap_opp_def {
}
#include "opp3xxx_data.h"
+#include "opp4xxx_data.h"
/* Temp variable to allow multiple calls */
static u8 __initdata omap_table_init;
@@ -86,7 +87,10 @@ int __init omap_init_opp_table(void)
omap_table_init = 1;
/* Select the OPP table we'd like to enable based on cpu we are on */
- if (cpu_is_omap34xx()) {
+ if (cpu_is_omap44xx()) {
+ opp_def = omap44xx_opp_def_list;
+ opp_def_size = ARRAY_SIZE(omap44xx_opp_def_list);
+ } else if (cpu_is_omap34xx()) {
opp_def = cpu_is_omap3630() ? omap36xx_opp_def_list :
omap34xx_opp_def_list;
opp_def_size = cpu_is_omap3630() ?
new file mode 100644
@@ -0,0 +1,37 @@
+/*
+ * OMAP4 OPP table definitions.
+ *
+ * Copyright (C) 2009 - 2010 Texas Instruments Incorporated.
+ * Nishanth Menon
+ * Copyright (C) 2009 - 2010 Deep Root Systems, LLC.
+ * Kevin Hilman
+ * Copyright (C) 2010 Nokia Corporation.
+ * Eduardo Valentin
+ * Copyright (C) 2010 Texas Instruments Incorporated.
+ * Thara Gopinath
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#ifndef __ASM_PLAT_OPP_OMAP4XXX_H__
+#define __ASM_PLAT_OPP_OMAP4XXX_H__
+
+static struct omap_opp_def __initdata omap44xx_opp_def_list[] = {
+ /* MPU OPP1 - OPP50 */
+ OPP_INITIALIZER("mpu", true, 300000000, 1100000),
+ /* MPU OPP2 - OPP100 */
+ OPP_INITIALIZER("mpu", true, 600000000, 1200000),
+ /* MPU OPP3 - OPP-Turbo */
+ OPP_INITIALIZER("mpu", false, 800000000, 1260000),
+ /* MPU OPP4 - OPP-SB */
+ OPP_INITIALIZER("mpu", false, 1008000000, 1350000),
+ /* L3 OPP1 - OPP50 */
+ OPP_INITIALIZER("l3_main_1", true, 100000000, 930000),
+ /* L3 OPP2 - OPP100, OPP-Turbo, OPP-SB */
+ OPP_INITIALIZER("l3_main_1", true, 200000000, 1100000),
+ /* TODO: add IVA, DSP, aess, fdif, gpu */
+};
+
+#endif /* __ASM_PLAT_OPP_OMAP4XXX_H__ */