From patchwork Mon Oct 26 10:36:43 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alim Akhtar X-Patchwork-Id: 535823 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from mail-yk0-x238.google.com (mail-yk0-x238.google.com [IPv6:2607:f8b0:4002:c07::238]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id AF17C140E4A for ; Mon, 26 Oct 2015 21:48:14 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=googlegroups.com header.i=@googlegroups.com header.b=ocQo6409; dkim-atps=neutral Received: by ykba4 with SMTP id a4sf32481279ykb.0 for ; Mon, 26 Oct 2015 03:48:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20120806; h=mime-version:from:to:cc:subject:date:message-id:in-reply-to :references:dlp-filter:x-original-sender :x-original-authentication-results:reply-to:content-type:precedence :mailing-list:list-id:x-spam-checked-in-group:list-post:list-help :list-archive:sender:list-subscribe:list-unsubscribe; bh=JdrRMzVXTYViRYr+bmPI397fACLaLqtVep5WdQlIqQg=; b=ocQo6409H0/uJpyPC7QwW7j2bLNnkHzqj5kq4imq2tU3bq7/QstDFsx7zgoDdgHu/s ri+5oVC4yfh3MMmTAjsEdIK7gUs9H70Sb6vf97ZkX1weNtGDIOP1GuDkIb/ihYp+tTRs LCQ0f9pW39ubG92ciRyAcZ7BirC/x2xdKYn9fUrV8wETvJdxICtbGTI7qU78aBBs9lKP PNEClpuLAXN4NOO1VpZkZ7MEcXpY5YuvvaTyOgn8c7gGWOpVIVKE4HPKjtB2iw/x30nz yKmVICkSVgMkaoRXsKan3suSeauKXB9IF15Pm8+qZsJtzi4lPzPDP/CHjuofdmY2T6O8 4JZQ== X-Received: by 10.182.247.4 with SMTP id ya4mr378467obc.14.1445856492925; Mon, 26 Oct 2015 03:48:12 -0700 (PDT) MIME-Version: 1.0 X-BeenThere: rtc-linux@googlegroups.com Received: by 10.182.73.198 with SMTP id n6ls1636374obv.16.gmail; Mon, 26 Oct 2015 03:48:12 -0700 (PDT) X-Received: by 10.182.245.163 with SMTP id xp3mr26758593obc.19.1445856492675; Mon, 26 Oct 2015 03:48:12 -0700 (PDT) Received: from mailout1.samsung.com (mailout1.samsung.com. [203.254.224.24]) by gmr-mx.google.com with ESMTPS id pe1si3458579pac.2.2015.10.26.03.48.12 for (version=TLSv1 cipher=RC4-SHA bits=128/128); Mon, 26 Oct 2015 03:48:12 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of alim.akhtar@samsung.com designates 203.254.224.24 as permitted sender) client-ip=203.254.224.24; Received: from epcpsbgr5.samsung.com (u145.gpu120.samsung.co.kr [203.254.230.145]) by mailout1.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTP id <0NWT02U6IQ0B0WA0@mailout1.samsung.com> for rtc-linux@googlegroups.com; Mon, 26 Oct 2015 19:48:11 +0900 (KST) Received: from epcpsbgm1new.samsung.com ( [172.20.52.126]) by epcpsbgr5.samsung.com (EPCPMTA) with SMTP id 84.1E.05385.AE40E265; Mon, 26 Oct 2015 19:48:11 +0900 (KST) X-AuditID: cbfee691-f79d66d000001509-e9-562e04eaa2d0 Received: from epmmp1.local.host ( [203.254.227.16]) by epcpsbgm1new.samsung.com (EPCPMTA) with SMTP id 15.CA.23663.AE40E265; Mon, 26 Oct 2015 19:48:10 +0900 (KST) Received: from exypnos.sisodomain.com ([107.108.73.28]) by mmp1.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTPA id <0NWT006MIPVU1230@mmp1.samsung.com>; Mon, 26 Oct 2015 19:48:10 +0900 (KST) 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: [rtc-linux] [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 X-Original-Sender: alim.akhtar@samsung.com X-Original-Authentication-Results: gmr-mx.google.com; spf=pass (google.com: best guess record for domain of alim.akhtar@samsung.com designates 203.254.224.24 as permitted sender) smtp.mailfrom=alim.akhtar@samsung.com Reply-To: rtc-linux@googlegroups.com Precedence: list Mailing-list: list rtc-linux@googlegroups.com; contact rtc-linux+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: rtc-linux@googlegroups.com X-Google-Group-Id: 712029733259 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , 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);