mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-15 08:44:14 +08:00
rtc: ds1307: support m41t11 variant
The m41t11 variant is very similar to the already supported m41t00 and m41t0, but it has also 56 bytes of NVRAM. Add it to driver taking into account NVRAM section. Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com> Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
This commit is contained in:
parent
146a552c67
commit
7e580769b7
@ -13,6 +13,7 @@ Required properties:
|
||||
"maxim,ds3231",
|
||||
"st,m41t0",
|
||||
"st,m41t00",
|
||||
"st,m41t11",
|
||||
"microchip,mcp7940x",
|
||||
"microchip,mcp7941x",
|
||||
"pericom,pt7c4338",
|
||||
|
@ -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 },
|
||||
@ -305,6 +312,10 @@ static const struct of_device_id ds1307_of_match[] = {
|
||||
.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 },
|
||||
@ -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.
|
||||
|
Loading…
Reference in New Issue
Block a user