From 2b69c89c9efed82fdfd558a1a02915a7aa300d12 Mon Sep 17 00:00:00 2001 From: Robert Schwebel Date: Thu, 23 Jun 2011 21:19:22 +0200 Subject: tuxrail v2: add latest changes from v1 Signed-off-by: Robert Schwebel --- arch/arm/boards/busware-tuxrail/tuxrail.c | 40 +++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/arch/arm/boards/busware-tuxrail/tuxrail.c b/arch/arm/boards/busware-tuxrail/tuxrail.c index 03fb5efe..2a4cc44a 100644 --- a/arch/arm/boards/busware-tuxrail/tuxrail.c +++ b/arch/arm/boards/busware-tuxrail/tuxrail.c @@ -35,6 +35,7 @@ #include #include #include +#include static struct memory_platform_data ram_pdata = { .name = "ram0", @@ -196,10 +197,49 @@ static struct device_d usb_dev = { .platform_data = &tuxrail_usb_pdata, }; +/* + * VDDIO: Voltage level to the outer world is 3.3 V + */ +static const struct rail_voltage tuxrail_vddio = { + .main_mV = 3300, + .guard_mV = 3300 - 175, + .lin_mV = 3300 - 25, /* linear regulator cannot be disabled */ +}; + +/* + * VDDA: Voltage level depends on VDDIO + */ +static const struct rail_voltage tuxrail_vdda = { + .main_mV = 1800, + .guard_mV = 1800 - 175, + .lin_mV = 0, /* disable the linear regulator */ +}; + +/* + * Voltage level of VDDD depends on VDDA + * To run the CPU core at 454 MHz VDDD must be at least at 1.55 V! + */ +static const struct rail_voltage tuxrail_vddd = { + .main_mV = 1550, + .guard_mV = 1550 - 175, + .lin_mV = 0, /* disable the linear regulator */ +}; + static int tuxrail_devices_init(void) { int i, rc; + /* initialize voltages */ + switch_to_dcdc(); + + setup_vddio_voltage(&tuxrail_vddio); + setup_vdda_voltage(&tuxrail_vdda); + setup_vddd_voltage(&tuxrail_vddd); + + /* now we are ready to switch the clock to 454 MHz */ + imx_set_hclk(3); + imx_set_armclk(455 * 1000 * 1000); + /* initialize gpios */ for (i = 0; i < ARRAY_SIZE(pad_setup); i++) imx_gpio_mode(pad_setup[i]); -- cgit v1.2.3