>>-----Original Message-----
>>From: Kevin Hilman [mailto:khil...@deeprootsystems.com]
>>Sent: Wednesday, September 29, 2010 5:38 AM
>>To: Gopinath, Thara
>>Cc: linux-omap@vger.kernel.org; p...@pwsan.com; Cousson, Benoit; Sripathy,
>>Vishwanath; Sawant, Anand
>>Subject: Re: [PATCH v3 07/11] OMAP3: PM: Adding T2 enabling of smartreflex
>>support
>>
>>Thara Gopinath <th...@ti.com> writes:
>>
>>> This patch adds support in the twl4030 driver to hook up
>>> the API enabling smartreflex support on PMIC side with the
>>> smartreflex driver. Without this the OMAP smartreflex modules
>>> will not function.
>>>
>>> Signed-off-by: Thara Gopinath <th...@ti.com>
>>
>>This one should be a separate patch with a subject something like
>>
>>     mfd: twl4030: add SmartReflex support
>>
>>and the changelog should indicate its dependency on this SR/voltage
>>series.

Do you mean to say this patch should not be a part of this series at all ??

Regards
Thara
>>
>>Kevin
>>
>>> ---
>>>  drivers/mfd/twl-core.c      |    7 +++++--
>>>  drivers/mfd/twl4030-power.c |   29 +++++++++++++++++++++++++++++
>>>  include/linux/i2c/twl.h     |    1 +
>>>  3 files changed, 35 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/drivers/mfd/twl-core.c b/drivers/mfd/twl-core.c
>>> index 720e099..677b903 100644
>>> --- a/drivers/mfd/twl-core.c
>>> +++ b/drivers/mfd/twl-core.c
>>> @@ -1009,8 +1009,11 @@ twl_probe(struct i2c_client *client, const struct
>>i2c_device_id *id)
>>>     clocks_init(&client->dev, pdata->clock);
>>>
>>>     /* load power event scripts */
>>> -   if (twl_has_power() && pdata->power)
>>> -           twl4030_power_init(pdata->power);
>>> +   if (twl_has_power()) {
>>> +           twl4030_power_sr_init();
>>> +            if (pdata->power)
>>> +                   twl4030_power_init(pdata->power);
>>> +   }
>>>
>>>     /* Maybe init the T2 Interrupt subsystem */
>>>     if (client->irq
>>> diff --git a/drivers/mfd/twl4030-power.c b/drivers/mfd/twl4030-power.c
>>> index 7efa878..6d0ad2d 100644
>>> --- a/drivers/mfd/twl4030-power.c
>>> +++ b/drivers/mfd/twl4030-power.c
>>> @@ -31,6 +31,8 @@
>>>
>>>  #include <asm/mach-types.h>
>>>
>>> +#include <plat/smartreflex.h>
>>> +
>>>  static u8 twl4030_start_script_address = 0x2b;
>>>
>>>  #define PWR_P1_SW_EVENTS   0x10
>>> @@ -63,6 +65,10 @@ static u8 twl4030_start_script_address = 0x2b;
>>>  #define R_MEMORY_ADDRESS   PHY_TO_OFF_PM_MASTER(0x59)
>>>  #define R_MEMORY_DATA              PHY_TO_OFF_PM_MASTER(0x5a)
>>>
>>> +/* Smartreflex Control */
>>> +#define R_DCDC_GLOBAL_CFG  PHY_TO_OFF_PM_RECEIVER(0x61)
>>> +#define CFG_ENABLE_SRFLX   0x08
>>> +
>>>  #define R_PROTECT_KEY              0x0E
>>>  #define R_KEY_1                    0xC0
>>>  #define R_KEY_2                    0x0C
>>> @@ -511,6 +517,29 @@ int twl4030_remove_script(u8 flags)
>>>     return err;
>>>  }
>>>
>>> +/* API to enable smrtreflex on Triton side */
>>> +static void twl4030_smartreflex_init(void)
>>> +{
>>> +   int ret = 0;
>>> +   u8 read_val;
>>> +
>>> +   ret = twl_i2c_read_u8(TWL4030_MODULE_PM_RECEIVER, &read_val,
>>> +                   R_DCDC_GLOBAL_CFG);
>>> +   read_val |= CFG_ENABLE_SRFLX;
>>> +   ret |= twl_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, read_val,
>>> +                   R_DCDC_GLOBAL_CFG);
>>> +}
>>> +
>>> +struct omap_smartreflex_pmic_data twl4030_sr_data = {
>>> +   .sr_pmic_init   = twl4030_smartreflex_init,
>>> +};
>>> +
>>> +void __init twl4030_power_sr_init()
>>> +{
>>> +   /* Register the SR init API with the Smartreflex driver */
>>> +   omap_sr_register_pmic(&twl4030_sr_data);
>>> +}
>>> +
>>>  void __init twl4030_power_init(struct twl4030_power_data *twl4030_scripts)
>>>  {
>>>     int err = 0;
>>> diff --git a/include/linux/i2c/twl.h b/include/linux/i2c/twl.h
>>> index 6de90bf..b02011e 100644
>>> --- a/include/linux/i2c/twl.h
>>> +++ b/include/linux/i2c/twl.h
>>> @@ -550,6 +550,7 @@ struct twl4030_power_data {
>>>  };
>>>
>>>  extern void twl4030_power_init(struct twl4030_power_data
>>*triton2_scripts);
>>> +extern void twl4030_power_sr_init(void);
>>>  extern int twl4030_remove_script(u8 flags);
>>>
>>>  struct twl4030_codec_audio_data {
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to