diff options
author | Robert Schwebel <r.schwebel@pengutronix.de> | 2011-06-23 21:19:22 +0200 |
---|---|---|
committer | Robert Schwebel <r.schwebel@pengutronix.de> | 2011-06-24 11:27:23 +0200 |
commit | 2b69c89c9efed82fdfd558a1a02915a7aa300d12 (patch) | |
tree | 83e92da648be92acf1f26364643b2274f3b6c8f0 | |
parent | c45692d53f87f6fd0bd381147e37b9b1561981d3 (diff) | |
download | barebox-tuxrail-b2.tar.gz barebox-tuxrail-b2.tar.xz |
tuxrail v2: add latest changes from v1tuxrail-b2
Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
-rw-r--r-- | arch/arm/boards/busware-tuxrail/tuxrail.c | 40 |
1 files changed, 40 insertions, 0 deletions
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 <mach/clock.h> #include <mach/mci.h> #include <mach/usb.h> +#include <mach/pmic-imx23.h> 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]); |