@@ -47,11 +47,13 @@
#include <plat/nand.h>
#include <plat/usb.h>
#include <plat/omap_device.h>
+#include <plat/prcm.h>
#include "mux.h"
#include "hsmmc.h"
#include "pm.h"
#include "common-board-devices.h"
+#include "voltage.h"
/*
* OMAP3 Beagle revision
@@ -83,6 +85,29 @@ static struct gpio omap3_beagle_rev_gpios[] __initdata = {
{ 173, GPIOF_IN, "rev_id_2" },
};
+struct omap_volt_board_data beagle_mpu_volt_data = {
+ .vdd_setup_ret = {
+ .ramp_up = 50,
+ },
+ .vdd_setup_off = {
+ .ramp_up = 100,
+ },
+};
+
+struct omap_volt_board_data beagle_core_volt_data = {
+ .vdd_setup_ret = {
+ .ramp_up = 50,
+ },
+ .vdd_setup_off = {
+ .ramp_up = 100,
+ },
+};
+
+struct omap_osc_data beagle_osc_data = {
+ .clk_setup_ret = 50,
+ .clk_setup_off = 5000,
+};
+
static void __init omap3_beagle_init_rev(void)
{
int ret;
@@ -506,6 +531,8 @@ static void __init beagle_opp_init(void)
static void __init omap3_beagle_init(void)
{
+ struct voltagedomain *voltdm;
+
omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
omap3_beagle_init_rev();
omap3_beagle_i2c_init();
@@ -532,6 +559,15 @@ static void __init omap3_beagle_init(void)
beagle_display_init();
beagle_opp_init();
+
+ voltdm = voltdm_lookup("mpu_iva");
+ pr_info("beagle: adding volt data\n");
+ omap_voltage_register_board_params(voltdm, &beagle_mpu_volt_data);
+
+ voltdm = voltdm_lookup("core");
+ omap_voltage_register_board_params(voltdm, &beagle_core_volt_data);
+
+ omap_osc_register(&beagle_osc_data);
}
MACHINE_START(OMAP3_BEAGLE, "OMAP3 Beagle Board")
This patch provided just as an example, actual times should be measured for the board. Signed-off-by: Tero Kristo <t-kristo@ti.com> --- arch/arm/mach-omap2/board-omap3beagle.c | 36 +++++++++++++++++++++++++++++++ 1 files changed, 36 insertions(+), 0 deletions(-)