[U-Boot] [PATCH 4/4] ZOOM1 Add power reset button

Tom
2009-06-13T02:28:29Z

Menon, Nishanth wrote:
>> -----Original Message-----
>> From: Tom [mailto:Tom.Rix at windriver.com]
>> Sent: Friday, June 12, 2009 4:57 PM
>> To: Jean-Christophe PLAGNIOL-VILLARD
>> Cc: u-boot at lists.denx.de; Menon, Nishanth
>> Subject: Re: [U-Boot] [PATCH 4/4] ZOOM1 Add power reset button
>>
>>
>>>> */
>>>> void twl4030_power_reset_init(void)
>>>> {
>>>> -#ifdef CONFIG_OMAP3_ZOOM2
>>>> +#if defined(CONFIG_OMAP3_ZOOM2) || defined(CONFIG_OMAP3_ZOOM1)
>>>>
>>>>
>>> I think it will be better to avoid board specifc code in the driver
>>> unless it's the only solution
>>>
>>>
>>>
>> I think this is zoom1 and zoom2 specific.
>> I could add this function to each of their board files.
>> I was trying to avoid that.
>>
>>>> + if (twl4030_i2c_read_u8(TWL4030_CHIP_PM_MASTER, &val,
>>>> + TWL4030_PM_MASTER_P1_SW_EVENTS)) {
>>>> + printf("Error:TWL4030: failed to read the power register\n");
>>>> + printf("Could not initialize hardware reset\n");
>>>> + } else {
>>>> + val |= TWL4030_PM_MASTER_SW_EVENTS_STOPON_PWRON;
>>>> + if (twl4030_i2c_write_u8(TWL4030_CHIP_PM_MASTER, val,
>>>> + TWL4030_PM_MASTER_P1_SW_EVENTS)) {
>>>>
>
> Why is this zoom1 and zoom2 specific? You are playing with PM Master registers causing a board reset right? It should in theory work for beagleboard also.. am I wrong?
>
>
Half right I think.
The beagle, from the schematics, has a 'Reset' - 'S2' switch. This is
tied to them omap's sys_nRespwon and to the t2_nRespwon. I think when
the switch is pressed only the omap gets reset. I could try verifing
this but it would take a while. Looking at
theTWL4030_PM_MASTER_P1_SW_EVENTS using 'i2c md 4b 46' it is clear in
both the factory and the current versions of u-boot.

I think that setting this bit in beagle will reset just the twl4030.
Which I think is the right thing to do.

I will try removing the #if-defs and see what happens :|

Tom

> Regards,
> Nishanth Menon
>