RE: [PATCH v3 03/11] OMAP3: PM: Adding smartreflex driver support.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




>>-----Original Message-----
>>From: Kevin Hilman [mailto:khilman@xxxxxxxxxxxxxxxxxxx]
>>Sent: Wednesday, September 29, 2010 5:01 AM
>>To: Gopinath, Thara
>>Cc: linux-omap@xxxxxxxxxxxxxxx; paul@xxxxxxxxx; Cousson, Benoit; Sripathy,
>>Vishwanath; Sawant, Anand
>>Subject: Re: [PATCH v3 03/11] OMAP3: PM: Adding smartreflex driver support.
>>
>>Thara Gopinath <thara@xxxxxx> writes:
>>
>>> SmartReflex modules do adaptive voltage control for real-time
>>> voltage adjustments. With Smartreflex the power supply voltage
>>> can be adapted to the silicon performance(manufacturing process,
>>> temperature induced performance, age induced performance etc).
>>>
>>> There are differnet classes of smartreflex implementation.
>>> 	Class-0: Manufacturing Test Calibration
>>> 	Class-1: Boot-Time Software Calibration
>>> 	Class-2: Continuous Software Calibration
>>> 	Class-3: Continuous Hardware Calibration
>>> 	Class-4: Fully Integrated Power Management
>>>
>>> OMAP3 has two smartreflex modules one associated with VDD1 and the
>>> other associated with VDD2.
>>> This patch adds support for  smartreflex driver. The driver is designed
>>> for Class-1 , Class-2 and Class-3 support and is  a platform driver.
>>> Smartreflex driver can be enabled through a Kconfig option
>>> "SmartReflex support" under "System type"->"TI OMAP implementations" menu.
>>>
>>> Smartreflex autocompensation feature can be enabled runtime through
>>> a debug fs option.
>>> To enable smartreflex autocompensation feature
>>> 	echo 1 > /debugfs/pm_debug/smartreflex/sr_<X>/autocomp
>>> To disable smartreflex autocompensation feature
>>> 	echo 0 > /debugfs/pm_debug/smartreflex/sr_<X>/autocomp
>>>
>>> where X can be mpu, core , iva etc.
>>>
>>
>>[...]
>>
>>> +static void sr_set_regfields(struct omap_sr *sr)
>>> +{
>>> +	/*
>>> +	 * For time being these values are defined in smartreflex.h
>>> +	 * and populated during init. May be they can be moved to board
>>> +	 * file or pmic specific data structure. In that case these structure
>>> +	 * fields will have to be populated using the pdata or pmic structure.
>>> +	 */
>>> +	if (cpu_is_omap34xx()) {
>>> +		sr->err_weight = OMAP3430_SR_ERRWEIGHT;
>>> +		sr->err_maxlimit = OMAP3430_SR_ERRMAXLIMIT;
>>> +		sr->accum_data = OMAP3430_SR_ACCUMDATA;
>>> +		if (!(strcmp(sr->voltdm->name, "mpu"))) {
>>> +			sr->senn_avgweight = OMAP3430_SR1_SENNAVGWEIGHT;
>>> +			sr->senp_avgweight = OMAP3430_SR1_SENPAVGWEIGHT;
>>> +		} else {
>>> +			sr->senn_avgweight = OMAP3430_SR2_SENNAVGWEIGHT;
>>> +			sr->senp_avgweight = OMAP3430_SR2_SENPAVGWEIGHT;
>>> +		}
>>> +	}
>>> +	/* TODO: 3630 and Omap4 specific bit field values */
>>
>>This comment is still present even after the OMAP4 series is applied.
>>
>>[...]
>>
>>> +/*
>>> + * 3430 specific values. Maybe these should be passed from board file or
>>> + * pmic structures.
>>> + */
>>> +#define OMAP3430_SR_ACCUMDATA		0x1f4
>>> +
>>> +#define OMAP3430_SR1_SENPAVGWEIGHT	0x03
>>> +#define OMAP3430_SR1_SENNAVGWEIGHT	0x03
>>> +
>>> +#define OMAP3430_SR2_SENPAVGWEIGHT	0x01
>>> +#define OMAP3430_SR2_SENNAVGWEIGHT	0x01
>>> +
>>> +#define OMAP3430_SR_ERRWEIGHT		0x04
>>> +#define OMAP3430_SR_ERRMAXLIMIT		0x02
>>> +
>>> +/* TODO:3630/OMAP4 values if it has to come from this file */
>>
>>ditto
>>
>>It's best to just not put these kind of things into the code in the
>>first place, they tend to be forgotten and stale quickly.

Will fix this and post V4. 
>>
>>Kevin
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux