From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932091AbbJZKsR (ORCPT ); Mon, 26 Oct 2015 06:48:17 -0400 Received: from mailout1.samsung.com ([203.254.224.24]:58097 "EHLO mailout1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753587AbbJZKsM (ORCPT ); Mon, 26 Oct 2015 06:48:12 -0400 X-AuditID: cbfee691-f79d66d000001509-e9-562e04eaa2d0 From: Alim Akhtar To: lee.jones@linaro.org, broonie@kernel.org Cc: k.kozlowski@samsung.com, mturquette@baylibre.com, linux-samsung-soc@vger.kernel.org, linux-clk@vger.kernel.org, rtc-linux@googlegroups.com, linux-kernel@vger.kernel.org Subject: [PATCH v2 5/5] drivers/rtc/rtc-s5m.c: add support for S2MPS15 RTC Date: Mon, 26 Oct 2015 16:06:43 +0530 Message-id: <1445855803-26973-6-git-send-email-alim.akhtar@samsung.com> X-Mailer: git-send-email 1.7.10.4 In-reply-to: <1445855803-26973-1-git-send-email-alim.akhtar@samsung.com> References: <1445855803-26973-1-git-send-email-alim.akhtar@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrCLMWRmVeSWpSXmKPExsWyRsSkTvc1i16YwcTpjBZTHz5hs3j9wtDi /tejjBYfe+6xWlzeNYfNYsb5fUwWF0+5Wuzv7GB04PB4f6OV3WPPxJNsHptWdbJ53Lm2h82j b8sqRo/Pm+QC2KK4bFJSczLLUov07RK4Mh5se8lcsFKm4uPB5+wNjJ/Euhg5OSQETCQunb3D BGGLSVy4t56ti5GLQ0hgBaPE/SlvmWGKHu7azwyRWMoo8fr8fhYI5yejxMU7a1lAqtgEtCXu Tt8CNIqDQ0RAR+L6jXSQGmaBDYwSK/7eYQepERbwkpjVuw1sKouAqsSn691gNq+Au8TrHVvZ IbYpSnQ/m8AGYnMKeEicfP4P7DwhoJrGFfMYQYZKCKxjl9j6fSsbxCABiW+TD7GALJYQkJXY dADqakmJgytusExgFF7AyLCKUTS1ILmgOCm9yFSvODG3uDQvXS85P3cTIzDwT/97NnEH4/0D 1ocYBTgYlXh4X/DohgmxJpYVV+YeYjQF2jCRWUo0OR8YX3kl8YbGZkYWpiamxkbmlmZK4rw6 0j+DhQTSE0tSs1NTC1KL4otKc1KLDzEycXBKNTDuK/tYu+O+L2uGeO7FYw8963zWHCk1zqps 2P5+8wvmHx89DzSwehp3nejJ0Ktd0BT+z+7fr/L88G+G7Lu6zzvskYl/wPZ27ruQQ2eFn1s8 q5yz7El0wPcI6QucJ+72s559O7dZbsdHs/g9L5j/9Ge2JG3U2r4yW0+o9dx2o4XOvUq8AZqL De2VWIozEg21mIuKEwHgjrtadwIAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrIIsWRmVeSWpSXmKPExsVy+t9jAd1XLHphBk+3GVtMffiEzeL1C0OL +1+PMlp87LnHanF51xw2ixnn9zFZXDzlarG/s4PRgcPj/Y1Wdo89E0+yeWxa1cnmcefaHjaP vi2rGD0+b5ILYItqYLTJSE1MSS1SSM1Lzk/JzEu3VfIOjneONzUzMNQ1tLQwV1LIS8xNtVVy 8QnQdcvMAbpHSaEsMacUKBSQWFyspG+HaUJoiJuuBUxjhK5vSBBcj5EBGkhYw5jxYNtL5oKV MhUfDz5nb2D8JNbFyMkhIWAi8XDXfmYIW0ziwr31bF2MXBxCAksZJV6f388C4fxklLh4Zy0L SBWbgLbE3elbmLoYOThEBHQkrt9IB6lhFtjAKLHi7x12kBphAS+JWb3bwKayCKhKfLreDWbz CrhLvN6xlR1im6JE97MJbCA2p4CHxMnn/5hAbCGgmsYV8xgnMPIuYGRYxSiRWpBcUJyUnmuY l1quV5yYW1yal66XnJ+7iREcXc+kdjAe3OV+iFGAg1GJh/cFj26YEGtiWXFl7iFGCQ5mJRFe n99AId6UxMqq1KL8+KLSnNTiQ4ymQIdNZJYSTc4HRn5eSbyhsYm5qbGppYmFiZmlkjjvhQyN MCGB9MSS1OzU1ILUIpg+Jg5OqQZGtgNXbor+MYgzlX1zaY7m1UNFlXGLmPbs7D/2u9N9+8SE z2bTfHXFmiSOnHm9+j1f5etVmyvkHl6dN1OG+Trjsa1T0j23LdYSLNto1XljZ4u19IwFSlmP 707xYvYKLnq1vHn2xZoDIp/6ObufNcx/PHd7ffWcO6KH4wrtBAxq/tZ6M2mU/b5UoMRSnJFo qMVcVJwIALhX26nEAgAA DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org RTC found in s2mps15 is almost same as one found in s2mps14. This patch add required changes to enable s2mps15 rtc timer. Signed-off-by: Alim Akhtar --- drivers/rtc/rtc-s5m.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/drivers/rtc/rtc-s5m.c b/drivers/rtc/rtc-s5m.c index f2504b4eef34..ac3286a267ba 100644 --- a/drivers/rtc/rtc-s5m.c +++ b/drivers/rtc/rtc-s5m.c @@ -188,6 +188,7 @@ static inline int s5m_check_peding_alarm_interrupt(struct s5m_rtc_info *info, ret = regmap_read(info->regmap, S5M_RTC_STATUS, &val); val &= S5M_ALARM0_STATUS; break; + case S2MPS15X: case S2MPS14X: case S2MPS13X: ret = regmap_read(info->s5m87xx->regmap_pmic, S2MPS14_REG_ST2, @@ -253,6 +254,7 @@ static inline int s5m8767_rtc_set_alarm_reg(struct s5m_rtc_info *info) data &= ~S5M_RTC_TIME_EN_MASK; break; case S2MPS14X: + case S2MPS15X: data |= S2MPS_RTC_RUDR_MASK; break; case S2MPS13X: @@ -317,7 +319,8 @@ static int s5m_rtc_read_time(struct device *dev, struct rtc_time *tm) u8 data[info->regs->regs_count]; int ret; - if (info->device_type == S2MPS14X || info->device_type == S2MPS13X) { + if (info->device_type == S2MPS14X || info->device_type == S2MPS15X || + info->device_type == S2MPS13X) { ret = regmap_update_bits(info->regmap, info->regs->rtc_udr_update, S2MPS_RTC_RUDR_MASK, S2MPS_RTC_RUDR_MASK); @@ -339,6 +342,7 @@ static int s5m_rtc_read_time(struct device *dev, struct rtc_time *tm) break; case S5M8767X: + case S2MPS15X: case S2MPS14X: case S2MPS13X: s5m8767_data_to_tm(data, tm, info->rtc_24hr_mode); @@ -366,6 +370,7 @@ static int s5m_rtc_set_time(struct device *dev, struct rtc_time *tm) s5m8763_tm_to_data(tm, data); break; case S5M8767X: + case S2MPS15X: case S2MPS14X: case S2MPS13X: ret = s5m8767_tm_to_data(tm, data); @@ -414,6 +419,7 @@ static int s5m_rtc_read_alarm(struct device *dev, struct rtc_wkalrm *alrm) break; case S5M8767X: + case S2MPS15X: case S2MPS14X: case S2MPS13X: s5m8767_data_to_tm(data, &alrm->time, info->rtc_24hr_mode); @@ -463,6 +469,7 @@ static int s5m_rtc_stop_alarm(struct s5m_rtc_info *info) break; case S5M8767X: + case S2MPS15X: case S2MPS14X: case S2MPS13X: for (i = 0; i < info->regs->regs_count; i++) @@ -508,6 +515,7 @@ static int s5m_rtc_start_alarm(struct s5m_rtc_info *info) break; case S5M8767X: + case S2MPS15X: case S2MPS14X: case S2MPS13X: data[RTC_SEC] |= ALARM_ENABLE_MASK; @@ -548,6 +556,7 @@ static int s5m_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *alrm) break; case S5M8767X: + case S2MPS15X: case S2MPS14X: case S2MPS13X: s5m8767_tm_to_data(&alrm->time, data); @@ -631,6 +640,7 @@ static int s5m8767_rtc_init_reg(struct s5m_rtc_info *info) ret = regmap_raw_write(info->regmap, S5M_ALARM0_CONF, data, 2); break; + case S2MPS15X: case S2MPS14X: case S2MPS13X: data[0] = (0 << BCD_EN_SHIFT) | (1 << MODEL24_SHIFT); @@ -679,6 +689,7 @@ static int s5m_rtc_probe(struct platform_device *pdev) return -ENOMEM; switch (platform_get_device_id(pdev)->driver_data) { + case S2MPS15X: case S2MPS14X: case S2MPS13X: regmap_cfg = &s2mps14_rtc_regmap_config; @@ -805,6 +816,7 @@ static const struct platform_device_id s5m_rtc_id[] = { { "s5m-rtc", S5M8767X }, { "s2mps13-rtc", S2MPS13X }, { "s2mps14-rtc", S2MPS14X }, + { "s2mps15-rtc", S2MPS15X }, { }, }; MODULE_DEVICE_TABLE(platform, s5m_rtc_id); -- 1.7.10.4