Hi,

Jens Gehrlein wrote:
> +static int adjust_voltages (void)
> +{
> +     u32 reg;
> +     u32 val;
> +     static struct spi_slave *slave = NULL;
> +
> +     slave = spi_setup_slave(1, 0, 1000000,
> +             SPI_MODE_2 | SPI_CS_HIGH);
> +     if (!slave)
> +             return -1;
> +
> +     if (spi_claim_bus(slave))
> +             return -1;
> +
> +     /* Set PMIC arbitration switchers */
> +     val = 0x000020;
> +     reg = 0x14000000 | val | 0x80000000;

It seems like it's time to create a MC13783 header file containing some helper 
macros and symbolic names to the 13783's registers so we can write:
reg = MC13783_READ_CMD(MC_REG_FOO);
...
val = something_symbolic | something_symbolic2;
reg = MC13783_WRITE_CMD(MC_REG_FOO, val);
...
etc..


Also, I'm pretty sure some other i.MX31 boards could benefit from changing some 
voltages in U-boot so perhaps we could have a mc13783-reg.c (-reg as in 
regulators) file containing stuff like mc13783_set_regulator(MC_VRFDIG, 
VRFDIG_1V8)?


> +     /*
> +      * FIXME: switcher settings 0 and 1.
> +      * Kernel hangs when unpacking itself.
> +      * Workaround:
> +      * Up to now CPU can operate at maximum allowed voltage 1.6 V.
> +      */

I suppose you know that 1.6V is only needed if the CPU is clocked at 532MHz, if 
it's clocked at 399MHz it can be supplied with 1.2V.


Regards, Magnus


-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
U-Boot-Users mailing list
U-Boot-Users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/u-boot-users

Reply via email to