All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] rtc: ds1307: Enable battery backup on RX8130
@ 2019-06-28  0:21 Marek Vasut
  2019-08-07 11:12 ` Marek Vasut
  2019-08-30 10:42 ` Bastian Krause
  0 siblings, 2 replies; 5+ messages in thread
From: Marek Vasut @ 2019-06-28  0:21 UTC (permalink / raw)
  To: linux-rtc; +Cc: Marek Vasut, Arnaud Ebalard, Alexandre Belloni

The battery backup can be disabled on this RTC, e.g. if populated right
out of production. Force the battery backup bit on to enable it.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Arnaud Ebalard <arno@natisbad.org>
Cc: Alexandre Belloni <alexandre.belloni@free-electrons.com>
---
 drivers/rtc/rtc-ds1307.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/rtc/rtc-ds1307.c b/drivers/rtc/rtc-ds1307.c
index 1f7e8aefc1eb..4af00cac1eff 100644
--- a/drivers/rtc/rtc-ds1307.c
+++ b/drivers/rtc/rtc-ds1307.c
@@ -121,6 +121,8 @@ enum ds_type {
 #define RX8130_REG_FLAG_AF		BIT(3)
 #define RX8130_REG_CONTROL0		0x1e
 #define RX8130_REG_CONTROL0_AIE		BIT(3)
+#define RX8130_REG_CONTROL1		0x0f
+#define RX8130_REG_CONTROL1_INIEN	BIT(4)
 
 #define MCP794XX_REG_CONTROL		0x07
 #	define MCP794XX_BIT_ALM0_EN	0x10
@@ -1750,6 +1752,11 @@ static int ds1307_probe(struct i2c_client *client,
 				     DS1307_REG_HOUR << 4 | 0x08, hour);
 		}
 		break;
+	case rx_8130:
+		/* make sure that the backup battery is enabled */
+		regmap_write(ds1307->regmap, chip->offset + RX8130_REG_CONTROL1,
+			     RX8130_REG_CONTROL1_INIEN);
+		break;
 	default:
 		break;
 	}
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] rtc: ds1307: Enable battery backup on RX8130
  2019-06-28  0:21 [PATCH] rtc: ds1307: Enable battery backup on RX8130 Marek Vasut
@ 2019-08-07 11:12 ` Marek Vasut
  2019-08-30 10:42 ` Bastian Krause
  1 sibling, 0 replies; 5+ messages in thread
From: Marek Vasut @ 2019-08-07 11:12 UTC (permalink / raw)
  To: linux-rtc; +Cc: Arnaud Ebalard, Alexandre Belloni

On 6/28/19 2:21 AM, Marek Vasut wrote:
> The battery backup can be disabled on this RTC, e.g. if populated right
> out of production. Force the battery backup bit on to enable it.
> 
> Signed-off-by: Marek Vasut <marex@denx.de>
> Cc: Arnaud Ebalard <arno@natisbad.org>
> Cc: Alexandre Belloni <alexandre.belloni@free-electrons.com>
> ---
>  drivers/rtc/rtc-ds1307.c | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/drivers/rtc/rtc-ds1307.c b/drivers/rtc/rtc-ds1307.c
> index 1f7e8aefc1eb..4af00cac1eff 100644
> --- a/drivers/rtc/rtc-ds1307.c
> +++ b/drivers/rtc/rtc-ds1307.c
> @@ -121,6 +121,8 @@ enum ds_type {
>  #define RX8130_REG_FLAG_AF		BIT(3)
>  #define RX8130_REG_CONTROL0		0x1e
>  #define RX8130_REG_CONTROL0_AIE		BIT(3)
> +#define RX8130_REG_CONTROL1		0x0f
> +#define RX8130_REG_CONTROL1_INIEN	BIT(4)
>  
>  #define MCP794XX_REG_CONTROL		0x07
>  #	define MCP794XX_BIT_ALM0_EN	0x10
> @@ -1750,6 +1752,11 @@ static int ds1307_probe(struct i2c_client *client,
>  				     DS1307_REG_HOUR << 4 | 0x08, hour);
>  		}
>  		break;
> +	case rx_8130:
> +		/* make sure that the backup battery is enabled */
> +		regmap_write(ds1307->regmap, chip->offset + RX8130_REG_CONTROL1,
> +			     RX8130_REG_CONTROL1_INIEN);
> +		break;
>  	default:
>  		break;
>  	}
> 

Bump ?

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] rtc: ds1307: Enable battery backup on RX8130
  2019-06-28  0:21 [PATCH] rtc: ds1307: Enable battery backup on RX8130 Marek Vasut
  2019-08-07 11:12 ` Marek Vasut
@ 2019-08-30 10:42 ` Bastian Krause
  2019-09-05 13:00   ` Marek Vasut
  1 sibling, 1 reply; 5+ messages in thread
From: Bastian Krause @ 2019-08-30 10:42 UTC (permalink / raw)
  To: Marek Vasut, linux-rtc; +Cc: Arnaud Ebalard, Alexandre Belloni, kernel

Hi Marek,

On 6/28/19 2:21 AM, Marek Vasut wrote:
> The battery backup can be disabled on this RTC, e.g. if populated right
> out of production. Force the battery backup bit on to enable it.
> 
> Signed-off-by: Marek Vasut <marex@denx.de>
> Cc: Arnaud Ebalard <arno@natisbad.org>
> Cc: Alexandre Belloni <alexandre.belloni@free-electrons.com>
> ---
>  drivers/rtc/rtc-ds1307.c | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/drivers/rtc/rtc-ds1307.c b/drivers/rtc/rtc-ds1307.c
> index 1f7e8aefc1eb..4af00cac1eff 100644
> --- a/drivers/rtc/rtc-ds1307.c
> +++ b/drivers/rtc/rtc-ds1307.c
> @@ -121,6 +121,8 @@ enum ds_type {
>  #define RX8130_REG_FLAG_AF		BIT(3)
>  #define RX8130_REG_CONTROL0		0x1e
>  #define RX8130_REG_CONTROL0_AIE		BIT(3)
> +#define RX8130_REG_CONTROL1		0x0f

I think it is surprising that RX8130_REG_CONTROL0 is defined absolute
and RX8130_REG_CONTROL1 must be used with chip offset. Having this
defined consistently would be nice.

> +#define RX8130_REG_CONTROL1_INIEN	BIT(4)
>  
>  #define MCP794XX_REG_CONTROL		0x07
>  #	define MCP794XX_BIT_ALM0_EN	0x10
> @@ -1750,6 +1752,11 @@ static int ds1307_probe(struct i2c_client *client,
>  				     DS1307_REG_HOUR << 4 | 0x08, hour);
>  		}
>  		break;
> +	case rx_8130:
> +		/* make sure that the backup battery is enabled */
> +		regmap_write(ds1307->regmap, chip->offset + RX8130_REG_CONTROL1,
> +			     RX8130_REG_CONTROL1_INIEN);
> +		break;

Quick note: if a rechargeable battery or supercap is used the CHGEN bit
must be set also.

Regards,
Bastian

>  	default:
>  		break;
>  	}
> 
> 

-- 
Pengutronix e.K.
Industrial Linux Solutions
http://www.pengutronix.de/
Peiner Str. 6-8, 31137 Hildesheim, Germany
Amtsgericht Hildesheim, HRA 2686

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] rtc: ds1307: Enable battery backup on RX8130
  2019-08-30 10:42 ` Bastian Krause
@ 2019-09-05 13:00   ` Marek Vasut
  2019-09-09 13:33     ` Bastian Krause
  0 siblings, 1 reply; 5+ messages in thread
From: Marek Vasut @ 2019-09-05 13:00 UTC (permalink / raw)
  To: Bastian Krause, linux-rtc; +Cc: Arnaud Ebalard, Alexandre Belloni, kernel

On 8/30/19 12:42 PM, Bastian Krause wrote:
> Hi Marek,

Hi,

> On 6/28/19 2:21 AM, Marek Vasut wrote:
>> The battery backup can be disabled on this RTC, e.g. if populated right
>> out of production. Force the battery backup bit on to enable it.
>>
>> Signed-off-by: Marek Vasut <marex@denx.de>
>> Cc: Arnaud Ebalard <arno@natisbad.org>
>> Cc: Alexandre Belloni <alexandre.belloni@free-electrons.com>
>> ---
>>  drivers/rtc/rtc-ds1307.c | 7 +++++++
>>  1 file changed, 7 insertions(+)
>>
>> diff --git a/drivers/rtc/rtc-ds1307.c b/drivers/rtc/rtc-ds1307.c
>> index 1f7e8aefc1eb..4af00cac1eff 100644
>> --- a/drivers/rtc/rtc-ds1307.c
>> +++ b/drivers/rtc/rtc-ds1307.c
>> @@ -121,6 +121,8 @@ enum ds_type {
>>  #define RX8130_REG_FLAG_AF		BIT(3)
>>  #define RX8130_REG_CONTROL0		0x1e
>>  #define RX8130_REG_CONTROL0_AIE		BIT(3)
>> +#define RX8130_REG_CONTROL1		0x0f
> 
> I think it is surprising that RX8130_REG_CONTROL0 is defined absolute
> and RX8130_REG_CONTROL1 must be used with chip offset. Having this
> defined consistently would be nice.

It's because this old patch was rebased from before the regmap changes
were even in.

>> +#define RX8130_REG_CONTROL1_INIEN	BIT(4)
>>  
>>  #define MCP794XX_REG_CONTROL		0x07
>>  #	define MCP794XX_BIT_ALM0_EN	0x10
>> @@ -1750,6 +1752,11 @@ static int ds1307_probe(struct i2c_client *client,
>>  				     DS1307_REG_HOUR << 4 | 0x08, hour);
>>  		}
>>  		break;
>> +	case rx_8130:
>> +		/* make sure that the backup battery is enabled */
>> +		regmap_write(ds1307->regmap, chip->offset + RX8130_REG_CONTROL1,
>> +			     RX8130_REG_CONTROL1_INIEN);
>> +		break;
> 
> Quick note: if a rechargeable battery or supercap is used the CHGEN bit
> must be set also.

By rechargable battery, you mean coin cell one ?

-- 
Best regards,
Marek Vasut

DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-56 Email: marex@denx.de

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] rtc: ds1307: Enable battery backup on RX8130
  2019-09-05 13:00   ` Marek Vasut
@ 2019-09-09 13:33     ` Bastian Krause
  0 siblings, 0 replies; 5+ messages in thread
From: Bastian Krause @ 2019-09-09 13:33 UTC (permalink / raw)
  To: Marek Vasut, linux-rtc; +Cc: Arnaud Ebalard, Alexandre Belloni, kernel


On 9/5/19 3:00 PM, Marek Vasut wrote:
> On 8/30/19 12:42 PM, Bastian Krause wrote:
>> On 6/28/19 2:21 AM, Marek Vasut wrote:
>>> The battery backup can be disabled on this RTC, e.g. if populated right
>>> out of production. Force the battery backup bit on to enable it.
>>>
>>> Signed-off-by: Marek Vasut <marex@denx.de>
>>> Cc: Arnaud Ebalard <arno@natisbad.org>
>>> Cc: Alexandre Belloni <alexandre.belloni@free-electrons.com>
>>> ---
>>>  drivers/rtc/rtc-ds1307.c | 7 +++++++
>>>  1 file changed, 7 insertions(+)
>>>
>>> diff --git a/drivers/rtc/rtc-ds1307.c b/drivers/rtc/rtc-ds1307.c
>>> index 1f7e8aefc1eb..4af00cac1eff 100644
>>> --- a/drivers/rtc/rtc-ds1307.c
>>> +++ b/drivers/rtc/rtc-ds1307.c
>>> @@ -121,6 +121,8 @@ enum ds_type {
>>>  #define RX8130_REG_FLAG_AF		BIT(3)
>>>  #define RX8130_REG_CONTROL0		0x1e
>>>  #define RX8130_REG_CONTROL0_AIE		BIT(3)
>>> +#define RX8130_REG_CONTROL1		0x0f
>>
>> I think it is surprising that RX8130_REG_CONTROL0 is defined absolute
>> and RX8130_REG_CONTROL1 must be used with chip offset. Having this
>> defined consistently would be nice.
> 
> It's because this old patch was rebased from before the regmap changes
> were even in.
> 
>>> +#define RX8130_REG_CONTROL1_INIEN	BIT(4)
>>>  
>>>  #define MCP794XX_REG_CONTROL		0x07
>>>  #	define MCP794XX_BIT_ALM0_EN	0x10
>>> @@ -1750,6 +1752,11 @@ static int ds1307_probe(struct i2c_client *client,
>>>  				     DS1307_REG_HOUR << 4 | 0x08, hour);
>>>  		}
>>>  		break;
>>> +	case rx_8130:
>>> +		/* make sure that the backup battery is enabled */
>>> +		regmap_write(ds1307->regmap, chip->offset + RX8130_REG_CONTROL1,
>>> +			     RX8130_REG_CONTROL1_INIEN);
>>> +		break;
>>
>> Quick note: if a rechargeable battery or supercap is used the CHGEN bit
>> must be set also.
> 
> By rechargable battery, you mean coin cell one ?

Yes, some rechargeable lithium coin/button cell. Or in my case a ELNA
0.2F 3.3V supercap.

Regards,
Bastian

-- 
Pengutronix e.K.
Industrial Linux Solutions
http://www.pengutronix.de/
Peiner Str. 6-8, 31137 Hildesheim, Germany
Amtsgericht Hildesheim, HRA 2686

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2019-09-09 13:33 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-06-28  0:21 [PATCH] rtc: ds1307: Enable battery backup on RX8130 Marek Vasut
2019-08-07 11:12 ` Marek Vasut
2019-08-30 10:42 ` Bastian Krause
2019-09-05 13:00   ` Marek Vasut
2019-09-09 13:33     ` Bastian Krause

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.