mirror of
				https://github.com/Ysurac/openmptcprouter.git
				synced 2025-03-09 15:40:20 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			55 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From 8c45fc7b8a971db912e3a7e4e8131ec91dd61302 Mon Sep 17 00:00:00 2001
 | |
| From: Phil Howard <phil@gadgetoid.com>
 | |
| Date: Fri, 29 Mar 2019 10:53:14 +0000
 | |
| Subject: [PATCH 429/432] rtc: rv3028: Add backup switchover mode support
 | |
| 
 | |
| Signed-off-by: Phil Howard <phil@pimoroni.com>
 | |
| ---
 | |
|  drivers/rtc/rtc-rv3028.c | 17 +++++++++++++++++
 | |
|  1 file changed, 17 insertions(+)
 | |
| 
 | |
| diff --git a/drivers/rtc/rtc-rv3028.c b/drivers/rtc/rtc-rv3028.c
 | |
| index d04c2d481655..b69d8e6408aa 100644
 | |
| --- a/drivers/rtc/rtc-rv3028.c
 | |
| +++ b/drivers/rtc/rtc-rv3028.c
 | |
| @@ -74,6 +74,7 @@
 | |
|  
 | |
|  #define RV3028_BACKUP_TCE		BIT(5)
 | |
|  #define RV3028_BACKUP_TCR_MASK		GENMASK(1,0)
 | |
| +#define RV3028_BACKUP_BSM_MASK		0x0C
 | |
|  
 | |
|  #define OFFSET_STEP_PPT			953674
 | |
|  
 | |
| @@ -601,6 +602,7 @@ static int rv3028_probe(struct i2c_client *client)
 | |
|  	struct rv3028_data *rv3028;
 | |
|  	int ret, status;
 | |
|  	u32 ohms;
 | |
| +	u8 bsm;
 | |
|  	struct nvmem_config nvmem_cfg = {
 | |
|  		.name = "rv3028_nvram",
 | |
|  		.word_size = 1,
 | |
| @@ -671,6 +673,21 @@ static int rv3028_probe(struct i2c_client *client)
 | |
|  	if (ret)
 | |
|  		return ret;
 | |
|  
 | |
| +	/* setup backup switchover mode */
 | |
| +	if (!device_property_read_u8(&client->dev, "backup-switchover-mode",
 | |
| +				     &bsm))  {
 | |
| +		if (bsm <= 3) {
 | |
| +			ret = regmap_update_bits(rv3028->regmap, RV3028_BACKUP,
 | |
| +				RV3028_BACKUP_BSM_MASK,
 | |
| +				(bsm & 0x03) << 2);
 | |
| +
 | |
| +			if (ret)
 | |
| +				return ret;
 | |
| +		} else {
 | |
| +			dev_warn(&client->dev, "invalid backup switchover mode value\n");
 | |
| +		}
 | |
| +	}
 | |
| +
 | |
|  	/* setup trickle charger */
 | |
|  	if (!device_property_read_u32(&client->dev, "trickle-resistor-ohms",
 | |
|  				      &ohms)) {
 | |
| -- 
 | |
| 2.19.1
 | |
| 
 |