[U-Boot] TI:OMAP: [PATCH] API to select twl4030 voltage and dev group

Grazvydas Ignotas notasas at gmail.com
Mon Jan 11 14:00:09 CET 2010


On Sat, Jan 9, 2010 at 6:42 AM, Khasim Syed Mohammed
<khasim at beagleboard.org> wrote:
> From cc1b24cb290d428f2e1aefec9c7878b46380f592 Mon Sep 17 00:00:00 2001
> From: Syed Mohammed Khasim <khasim at ti.com>
> Date: Sat, 9 Jan 2010 09:28:03 +0530
> Subject: [PATCH] API to select twl4030 voltage and dev group
>
> Adds a new API "twl4030_pmrecv_vsel_cfg" to select voltage
> and its device group
>
> Signed-off-by: Syed Mohammed Khasim <khasim at ti.com>
> ---

<snip>

> @@ -113,3 +104,18 @@ void twl4030_power_mmc_init(void)
>        twl4030_i2c_write_u8(TWL4030_CHIP_PM_RECEIVER, byte,
>                             TWL4030_PM_RECEIVER_VMMC1_DEDICATED);
>  }
> +
> +/*
> + * Generic function to select Device Group and Voltage
> + */
> +void twl4030_pmrecv_vsel_cfg(u8 vsel_reg, u8 vsel_val,
> +                               u8 dev_grp, u8 dev_grp_sel)
> +{
> +       /* Select the Device Group */
> +       twl4030_i2c_write_u8(TWL4030_CHIP_PM_RECEIVER, dev_grp_sel,
> +                               dev_grp);
> +
> +       /* Select the Voltage */
> +       twl4030_i2c_write_u8(TWL4030_CHIP_PM_RECEIVER, vsel_val,
> +                               vsel_reg);
> +}

I was always wondering why TI code first sets the device group (which
effectively enables the supply), and configures voltage after that.
Doesn't that cause wrong voltage output for a short interval of time
(knowing that i2c transfers take some time to complete)? What happens
if second write fails due to some i2c error?


More information about the U-Boot mailing list