RE: [PATCH V1] TPS62360: Add tps62360 regulator driver

From: Laxman Dewangan
Date: Mon Jan 09 2012 - 02:04:48 EST


> On Sunday, January 08, 2012 10:28 PM, Mark Brown wrote:
> > In range form, the disadvantages is that, most of time, the voltage
> > requirement is surrounding operating voltage and so it will use only
> > one combination of VSEL in most of time and will not get the benefit.
> > The discrete form have long list of voltage and filling table is pain.
> > Also need to maintain the big list of lookuptable to select voltage
> > configuration register.
>
> You only have four possible VSELs so I don't see a concern there.

In my design, the voltage vary from 900mV to the 1300mV in increment of
50mV. In this case, the voltage change request is 900, 950, 1000, 1050,
1100, 1150, 1200, 1250, 1300.
I would like to have entry like
900-950->vsel0
950-1000>vsel1,
1000-1050->vsel2
1050-1100->vsel3
1100-1150->vsel0
1150-1200->vsel1
1200-1250->vsel2
1250->1300->vsel3
Based on voltage increment requirements for a given application, this
table can be tune more. Now if client request for voltage setting for
range of 1000-1050, I will select the VSET1 for configuration, similarly
for 1100-1150, VSET0 will be the configuration register.

I will have structure like:
/*
* struct tps62360_voltage_sel_table - tps62360 voltage selection table
* for seleting the input VSEL for desired output.
* @min_uV: Minimum microvolts in the range. The voltage is included.
* @max_uV: Maximum microvolts in the range. The voltage is excluded.
* @vsel_in: Input vsel for the range (min_uV <= uV < max_uV) of voltage.
*/
struct tps62360_voltage_sel_table {
int min_uV;
int max_uV;
int vsel_in;
}

/*
* struct tps62360_regulator_platform_data - tps62360 regulator platform data.
*::::::::::::::;
* @vsel_table: the lookup table for different voltages and correspondinf input
* voltage selection.
* @vsel_table_size: Number of entry in vsel_table.
*/

struct tps62360_regulator_platform_data {
struct regulator_init_data *reg_init_data;
:::::::::::::
struct tps62360_voltage_sel_table *vsel_table;
int vsel_table_size;
};


Is it inline with your suggestion?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/