> 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-tegra" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html