diff options
Diffstat (limited to 'drivers/rtc/rtc-ds1307.c')
| -rw-r--r-- | drivers/rtc/rtc-ds1307.c | 18 | 
1 files changed, 16 insertions, 2 deletions
diff --git a/drivers/rtc/rtc-ds1307.c b/drivers/rtc/rtc-ds1307.c index e9ec4160d7f6..4b2b4627daeb 100644 --- a/drivers/rtc/rtc-ds1307.c +++ b/drivers/rtc/rtc-ds1307.c @@ -44,6 +44,7 @@ enum ds_type {  	ds_3231,  	m41t0,  	m41t00, +	m41t11,  	mcp794xx,  	rx_8025,  	rx_8130, @@ -227,6 +228,11 @@ static const struct chip_desc chips[last_ds_type] = {  		.irq_handler = rx8130_irq,  		.rtc_ops = &rx8130_rtc_ops,  	}, +	[m41t11] = { +		/* this is battery backed SRAM */ +		.nvram_offset	= 8, +		.nvram_size	= 56, +	},  	[mcp794xx] = {  		.alarm		= 1,  		/* this is battery backed SRAM */ @@ -249,6 +255,7 @@ static const struct i2c_device_id ds1307_id[] = {  	{ "ds3231", ds_3231 },  	{ "m41t0", m41t0 },  	{ "m41t00", m41t00 }, +	{ "m41t11", m41t11 },  	{ "mcp7940x", mcp794xx },  	{ "mcp7941x", mcp794xx },  	{ "pt7c4338", ds_1307 }, @@ -299,13 +306,17 @@ static const struct of_device_id ds1307_of_match[] = {  	},  	{  		.compatible = "st,m41t0", -		.data = (void *)m41t00 +		.data = (void *)m41t0  	},  	{  		.compatible = "st,m41t00",  		.data = (void *)m41t00  	},  	{ +		.compatible = "st,m41t11", +		.data = (void *)m41t11 +	}, +	{  		.compatible = "microchip,mcp7940x",  		.data = (void *)mcp794xx  	}, @@ -347,6 +358,7 @@ static const struct acpi_device_id ds1307_acpi_ids[] = {  	{ .id = "DS3231", .driver_data = ds_3231 },  	{ .id = "M41T0", .driver_data = m41t0 },  	{ .id = "M41T00", .driver_data = m41t00 }, +	{ .id = "M41T11", .driver_data = m41t11 },  	{ .id = "MCP7940X", .driver_data = mcp794xx },  	{ .id = "MCP7941X", .driver_data = mcp794xx },  	{ .id = "PT7C4338", .driver_data = ds_1307 }, @@ -1030,7 +1042,7 @@ static u8 ds1307_trickle_init(struct ds1307 *ds1307,  /*----------------------------------------------------------------------*/ -#ifdef CONFIG_RTC_DRV_DS1307_HWMON +#if IS_REACHABLE(CONFIG_HWMON)  /*   * Temperature sensor support for ds3231 devices. @@ -1576,6 +1588,7 @@ read_rtc:  	case ds_1307:  	case m41t0:  	case m41t00: +	case m41t11:  		/* clock halted?  turn it on, so clock can tick. */  		if (tmp & DS1307_BIT_CH) {  			regmap_write(ds1307->regmap, DS1307_REG_SECS, 0); @@ -1641,6 +1654,7 @@ read_rtc:  	case ds_1340:  	case m41t0:  	case m41t00: +	case m41t11:  		/*  		 * NOTE: ignores century bits; fix before deploying  		 * systems that will run through year 2100.  |