From patchwork Fri Mar 23 09:14:58 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Wang X-Patchwork-Id: 889825 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-rtc-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=mediatek.com Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 406yZ62PpFz9s1P for ; Fri, 23 Mar 2018 20:15:42 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752120AbeCWJPl (ORCPT ); Fri, 23 Mar 2018 05:15:41 -0400 Received: from mailgw01.mediatek.com ([210.61.82.183]:39333 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1752101AbeCWJPi (ORCPT ); Fri, 23 Mar 2018 05:15:38 -0400 X-UUID: fa64d74719924904b8dd85ea65d82b11-20180323 Received: from mtkcas09.mediatek.inc [(172.21.101.178)] by mailgw01.mediatek.com (envelope-from ) (mhqrelay.mediatek.com ESMTP with TLS) with ESMTP id 896817251; Fri, 23 Mar 2018 17:15:26 +0800 Received: from mtkcas08.mediatek.inc (172.21.101.126) by mtkmbs08n1.mediatek.inc (172.21.101.55) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Fri, 23 Mar 2018 17:15:24 +0800 Received: from mtkswgap22.mediatek.inc (172.21.77.33) by mtkcas08.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1210.3 via Frontend Transport; Fri, 23 Mar 2018 17:15:24 +0800 From: To: , , , , , , CC: , , , , , Sean Wang Subject: [PATCH v1 01/16] dt-bindings: power: reset: mediatek: add bindings for power device Date: Fri, 23 Mar 2018 17:14:58 +0800 Message-ID: X-Mailer: git-send-email 1.7.9.5 In-Reply-To: References: MIME-Version: 1.0 X-TM-AS-Product-Ver: SMEX-12.5.0.5042-8.2.9001-23736.004 X-TM-AS-Result: No-5.077600-8.000000-10 X-TMASE-MatchedRID: TEv/LuC73NgxFdXyW/P+XRWCVBr+Ay98TJDl9FKHbrm8NrbzjPvzJ0d0 Rzx07LDV96TYN1fO8g6y9AsAxk+TJTlyVH8jNStNngIgpj8eDcAZ1CdBJOsoY8RB0bsfrpPIx1F PlNAAmcD3btvyVy2hl6jcCaDKbZhtJpjtEGVHKBNYGgyI8kGmsp6oP1a0mRIj X-TM-AS-User-Approved-Sender: No X-TM-AS-User-Blocked-Sender: No X-TMASE-Result: 10--5.077600-8.000000 X-TMASE-Version: SMEX-12.5.0.5042-8.2.9001-23736.004 X-TMASE-POSTMAN: 2-d; X-MTK: N Sender: linux-rtc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rtc@vger.kernel.org From: Sean Wang Add device-tree binding for the power device responsible for shutdown a remote SoC, which is a tiny circuit block present on MediaTek PMIC based RTC. Signed-off-by: Sean Wang --- .../bindings/power/reset/mt6397-rtc-poweroff.txt | 24 ++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 Documentation/devicetree/bindings/power/reset/mt6397-rtc-poweroff.txt diff --git a/Documentation/devicetree/bindings/power/reset/mt6397-rtc-poweroff.txt b/Documentation/devicetree/bindings/power/reset/mt6397-rtc-poweroff.txt new file mode 100644 index 0000000..75a9d7d --- /dev/null +++ b/Documentation/devicetree/bindings/power/reset/mt6397-rtc-poweroff.txt @@ -0,0 +1,24 @@ +Device-Tree bindings for Power Device on MediaTek PMIC RTC + +The power device is responsible for externally power off or on the remote +MediaTek SoC through the a tiny circuit block BBPU inside PMIC RTC. + +Required parent node: +- rtc + For MediaTek PMIC RTC bindings, see: + Documentation/devicetree/bindings/mfd/mt6397.txt + +Required properties: +- compatible: Should be one of follows + "mediatek,mt6323-rtc-poweroff": for MT6323 PMIC + "mediatek,mt6397-rtc-poweroff": for MT6397 PMIC + +Example: + + rtc { + compatible = "mediatek,mt6323-rtc"; + + power-off { + compatible = "mediatek,mt6323-rtc-poweroff"; + }; + }; From patchwork Fri Mar 23 09:14:59 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Wang X-Patchwork-Id: 889849 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-rtc-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=mediatek.com Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 406ygk4fL9z9s27 for ; Fri, 23 Mar 2018 20:20:34 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752279AbeCWJUH (ORCPT ); Fri, 23 Mar 2018 05:20:07 -0400 Received: from mailgw02.mediatek.com ([210.61.82.184]:24959 "EHLO mailgw02.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1752009AbeCWJPb (ORCPT ); Fri, 23 Mar 2018 05:15:31 -0400 X-UUID: 0eb758de64fc4f2bb60390d1187e0327-20180323 Received: from mtkcas06.mediatek.inc [(172.21.101.30)] by mailgw02.mediatek.com (envelope-from ) (mhqrelay.mediatek.com ESMTP with TLS) with ESMTP id 1869929563; Fri, 23 Mar 2018 17:15:25 +0800 Received: from mtkcas08.mediatek.inc (172.21.101.126) by mtkmbs08n2.mediatek.inc (172.21.101.56) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Fri, 23 Mar 2018 17:15:23 +0800 Received: from mtkswgap22.mediatek.inc (172.21.77.33) by mtkcas08.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1210.3 via Frontend Transport; Fri, 23 Mar 2018 17:15:24 +0800 From: To: , , , , , , CC: , , , , , Sean Wang Subject: [PATCH v1 02/16] dt-bindings: rtc: mediatek: add bindings for PMIC RTC Date: Fri, 23 Mar 2018 17:14:59 +0800 Message-ID: <5846e8be319c4836808c8127d5bb51b7e999e896.1521794177.git.sean.wang@mediatek.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: References: MIME-Version: 1.0 X-TM-AS-Product-Ver: SMEX-12.5.0.5042-8.2.9001-23736.004 X-TM-AS-Result: No-5.369500-8.000000-10 X-TMASE-MatchedRID: JLDJ3zY9u2kxFdXyW/P+XRWCVBr+Ay98TJDl9FKHbrm7qpOHKudqczQz 47GqDWjpnD3AxwqeC/r+5j8x5GH+mf+rTYoF7Kee05yZiz1u26Rdxx6WRf+5sM7EPIkVcg+Oxtf MCZzvZ+lPN9Ds5e3i44Ay6p60ZV62fJ5/bZ6npdg7AFczfjr/7JJ0UX/rKgouzOHrU8JWvsOZ7v bKAdnMwEolWaGFokF9vyjT7c4jENc= X-TM-AS-User-Approved-Sender: No X-TM-AS-User-Blocked-Sender: No X-TMASE-Result: 10--5.369500-8.000000 X-TMASE-Version: SMEX-12.5.0.5042-8.2.9001-23736.004 X-TMASE-POSTMAN: 2-d; X-MTK: N Sender: linux-rtc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rtc@vger.kernel.org From: Sean Wang Add device-tree binding for MediaTek PMIC based RTC. Signed-off-by: Sean Wang --- .../devicetree/bindings/rtc/rtc-mt6397.txt | 39 ++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 Documentation/devicetree/bindings/rtc/rtc-mt6397.txt diff --git a/Documentation/devicetree/bindings/rtc/rtc-mt6397.txt b/Documentation/devicetree/bindings/rtc/rtc-mt6397.txt new file mode 100644 index 0000000..83ff6be --- /dev/null +++ b/Documentation/devicetree/bindings/rtc/rtc-mt6397.txt @@ -0,0 +1,39 @@ +Device-Tree bindings for MediaTek PMIC based RTC + +MediaTek PMIC based RTC is an independent function of MediaTek PMIC which +is working as a multi-function device (MFD). And the RTC can be configured and +set up via PMIC wrapper bus. Which is also common resource shared among the +other functions present on the PMIC. + +For MediaTek PMIC wrapper bus bindings, see: +Documentation/devicetree/bindings/soc/mediatek/pwrap.txt + +Required parent node: +- pmic + For MediaTek PMIC MFD bindings, see: + Documentation/devicetree/bindings/mfd/mt6397.txt + +Required properties: +- compatible: Should be one of follows + "mediatek,mt6323-rtc": for MT6323 PMIC + "mediatek,mt6397-rtc": for MT6397 PMIC + +Optional child node: +- power-off + For Power-Off Device for MediaTek PMIC RTC bindings, see: + Documentation/devicetree/bindings/power/reset/mt6397-rtc-poweroff.txt + +Example: + + pmic { + compatible = "mediatek,mt6323"; + + ... + rtc { + compatible = "mediatek,mt6323-rtc"; + + power-off { + compatible = "mediatek,mt6323-rtc-poweroff"; + }; + }; +}; From patchwork Fri Mar 23 09:15:00 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Wang X-Patchwork-Id: 889842 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-rtc-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=mediatek.com Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 406yd45ZnFz9s1P for ; Fri, 23 Mar 2018 20:18:16 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752412AbeCWJSA (ORCPT ); Fri, 23 Mar 2018 05:18:00 -0400 Received: from mailgw01.mediatek.com ([210.61.82.183]:30758 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1752053AbeCWJPf (ORCPT ); Fri, 23 Mar 2018 05:15:35 -0400 X-UUID: b9adf91f2c3d42d4b4697aef028861d0-20180323 Received: from mtkcas09.mediatek.inc [(172.21.101.178)] by mailgw01.mediatek.com (envelope-from ) (mhqrelay.mediatek.com ESMTP with TLS) with ESMTP id 1575264031; Fri, 23 Mar 2018 17:15:27 +0800 Received: from mtkcas08.mediatek.inc (172.21.101.126) by mtkmbs08n1.mediatek.inc (172.21.101.55) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Fri, 23 Mar 2018 17:15:24 +0800 Received: from mtkswgap22.mediatek.inc (172.21.77.33) by mtkcas08.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1210.3 via Frontend Transport; Fri, 23 Mar 2018 17:15:24 +0800 From: To: , , , , , , CC: , , , , , Sean Wang Subject: [PATCH v1 03/16] dt-bindings: mfd: mediatek: add a description for MT6323 RTC Date: Fri, 23 Mar 2018 17:15:00 +0800 Message-ID: X-Mailer: git-send-email 1.7.9.5 In-Reply-To: References: MIME-Version: 1.0 X-TM-AS-Product-Ver: SMEX-12.5.0.5042-8.2.9001-23736.004 X-TM-AS-Result: No-2.893900-8.000000-10 X-TMASE-MatchedRID: AuCKiGuH5B5BHBd/Q+ztB1z+axQLnAVBWwKGivsEuI0CsxyhR8y7CVO4 BD7nLMxn8DRYXhYkzdlwHcoQdKA87G7h416xddkPngIgpj8eDcAZ1CdBJOsoY9mzcdRxL+xwKra uXd3MZDWAsWj3EVhgWF6vHBiAQ88KfoX94EvS3g0l1JLQVyV5cyoZ8Qjnc2MZ+h1fVyf13Stt5n zsB/rWY8bmPUgpke3oWBajT16GeVXh5DhSqF3J1jigZBQJvBjlD6DuZ3COjrnoW0NkKZgEnW3Lg NyHejuiQwymtxuJ6y0= X-TM-AS-User-Approved-Sender: No X-TM-AS-User-Blocked-Sender: No X-TMASE-Result: 10--2.893900-8.000000 X-TMASE-Version: SMEX-12.5.0.5042-8.2.9001-23736.004 X-TMASE-POSTMAN: 2-d; X-MTK: N Sender: linux-rtc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rtc@vger.kernel.org From: Sean Wang Add a description for MT6323 RTC and link it to the detailed binding documentation. Signed-off-by: Sean Wang Reviewed-by: Rob Herring Acked-by: Lee Jones --- Documentation/devicetree/bindings/mfd/mt6397.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/mfd/mt6397.txt b/Documentation/devicetree/bindings/mfd/mt6397.txt index d1df77f..11a748d 100644 --- a/Documentation/devicetree/bindings/mfd/mt6397.txt +++ b/Documentation/devicetree/bindings/mfd/mt6397.txt @@ -22,8 +22,10 @@ compatible: "mediatek,mt6397" or "mediatek,mt6323" Optional subnodes: - rtc - Required properties: + Required properties: Should be one of follows + - compatible: "mediatek,mt6323-rtc" - compatible: "mediatek,mt6397-rtc" + For details, see Documentation/devicetree/bindings/rtc/rtc-mt6397.txt - regulators Required properties: - compatible: "mediatek,mt6397-regulator" From patchwork Fri Mar 23 09:15:01 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Wang X-Patchwork-Id: 889848 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-rtc-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=mediatek.com Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 406ygF44RWz9s1B for ; Fri, 23 Mar 2018 20:20:09 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752495AbeCWJUI (ORCPT ); Fri, 23 Mar 2018 05:20:08 -0400 Received: from mailgw02.mediatek.com ([210.61.82.184]:46348 "EHLO mailgw02.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1752003AbeCWJPa (ORCPT ); Fri, 23 Mar 2018 05:15:30 -0400 X-UUID: d30cda85e63346e1a9ec81b26bd15002-20180323 Received: from mtkcas06.mediatek.inc [(172.21.101.30)] by mailgw02.mediatek.com (envelope-from ) (mhqrelay.mediatek.com ESMTP with TLS) with ESMTP id 883052452; Fri, 23 Mar 2018 17:15:25 +0800 Received: from mtkcas08.mediatek.inc (172.21.101.126) by mtkmbs08n2.mediatek.inc (172.21.101.56) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Fri, 23 Mar 2018 17:15:24 +0800 Received: from mtkswgap22.mediatek.inc (172.21.77.33) by mtkcas08.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1210.3 via Frontend Transport; Fri, 23 Mar 2018 17:15:24 +0800 From: To: , , , , , , CC: , , , , , Sean Wang Subject: [PATCH v1 04/16] mfd: mt6397: add MT6323 RTC support into MT6397 driver Date: Fri, 23 Mar 2018 17:15:01 +0800 Message-ID: <90320622cb491b9d3251e2ce9d0501422f47660f.1521794177.git.sean.wang@mediatek.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: References: MIME-Version: 1.0 X-TM-AS-Product-Ver: SMEX-12.5.0.5042-8.2.9001-23736.004 X-TM-AS-Result: No-4.555200-8.000000-10 X-TMASE-MatchedRID: yFGXaP8bkQMxFdXyW/P+XWMGiV639iF0moKXVHfiMM9cU0dNErOD+opb wG9fIuIT5IXjmeRXhnCJEz4Y6DI4oJsYdIGP6PlZndu3heVAxaNzd7C7BtJobgqiCYa6w8tv8tM WbtVzWkjt4ariHb3sbHv+mmMQs+2yHxPMjOKY7A+6vVBUUydJCsRB0bsfrpPInxMyeYT53RkbSW 746/XYMKCgeSTuE21HV901T3m/1GcuA5kq+A5t08V4uyloxhpwLZhSe8r+c9RWpF6VpTLhEY2q0 akcUk4Qw99bu/x2/ZGTdSRXlCnjBIjjlF305EnAWUm8SESyzd+8353hqEyjk1Zca9RSYo/b X-TM-AS-User-Approved-Sender: No X-TM-AS-User-Blocked-Sender: No X-TMASE-Result: 10--4.555200-8.000000 X-TMASE-Version: SMEX-12.5.0.5042-8.2.9001-23736.004 X-TMASE-POSTMAN: 2-d; X-MTK: N Sender: linux-rtc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rtc@vger.kernel.org From: Sean Wang Add compatible string as "mt6323-rtc" that will make the OF core spawn child devices for the RTC subnode of that MT6323 MFD node. Signed-off-by: Sean Wang --- drivers/mfd/mt6397-core.c | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/drivers/mfd/mt6397-core.c b/drivers/mfd/mt6397-core.c index 77b64bd..f71874a 100644 --- a/drivers/mfd/mt6397-core.c +++ b/drivers/mfd/mt6397-core.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014 MediaTek Inc. + * Copyright (c) 2014-2018 MediaTek Inc. * Author: Flora Fu, MediaTek * * This program is free software; you can redistribute it and/or modify @@ -23,6 +23,9 @@ #include #include +#define MT6323_RTC_BASE 0x8000 +#define MT6323_RTC_SIZE 0x3e + #define MT6397_RTC_BASE 0xe000 #define MT6397_RTC_SIZE 0x3e @@ -30,6 +33,19 @@ #define MT6391_CID_CODE 0x91 #define MT6397_CID_CODE 0x97 +static const struct resource mt6323_rtc_resources[] = { + { + .start = MT6323_RTC_BASE, + .end = MT6323_RTC_BASE + MT6323_RTC_SIZE, + .flags = IORESOURCE_MEM, + }, + { + .start = MT6323_IRQ_STATUS_RTC, + .end = MT6323_IRQ_STATUS_RTC, + .flags = IORESOURCE_IRQ, + }, +}; + static const struct resource mt6397_rtc_resources[] = { { .start = MT6397_RTC_BASE, @@ -55,6 +71,11 @@ static const struct resource mt6397_keys_resources[] = { static const struct mfd_cell mt6323_devs[] = { { + .name = "mt6323-rtc", + .num_resources = ARRAY_SIZE(mt6323_rtc_resources), + .resources = mt6323_rtc_resources, + .of_compatible = "mediatek,mt6323-rtc", + }, { .name = "mt6323-regulator", .of_compatible = "mediatek,mt6323-regulator" }, { From patchwork Fri Mar 23 09:15:02 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Wang X-Patchwork-Id: 889845 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-rtc-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=mediatek.com Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 406yfJ6PRjz9s1P for ; Fri, 23 Mar 2018 20:19:20 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752139AbeCWJTD (ORCPT ); Fri, 23 Mar 2018 05:19:03 -0400 Received: from mailgw01.mediatek.com ([210.61.82.183]:30758 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1752015AbeCWJPc (ORCPT ); Fri, 23 Mar 2018 05:15:32 -0400 X-UUID: 324ecfafe73546ebba7a7575a69979a1-20180323 Received: from mtkcas09.mediatek.inc [(172.21.101.178)] by mailgw01.mediatek.com (envelope-from ) (mhqrelay.mediatek.com ESMTP with TLS) with ESMTP id 1816149804; Fri, 23 Mar 2018 17:15:26 +0800 Received: from mtkcas08.mediatek.inc (172.21.101.126) by mtkmbs08n1.mediatek.inc (172.21.101.55) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Fri, 23 Mar 2018 17:15:24 +0800 Received: from mtkswgap22.mediatek.inc (172.21.77.33) by mtkcas08.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1210.3 via Frontend Transport; Fri, 23 Mar 2018 17:15:24 +0800 From: To: , , , , , , CC: , , , , , Sean Wang Subject: [PATCH v1 05/16] rtc: mediatek: add MT6323 support to RTC driver Date: Fri, 23 Mar 2018 17:15:02 +0800 Message-ID: X-Mailer: git-send-email 1.7.9.5 In-Reply-To: References: MIME-Version: 1.0 X-TM-AS-Product-Ver: SMEX-12.5.0.5042-8.2.9001-23736.004 X-TM-AS-Result: No-5.827400-8.000000-10 X-TMASE-MatchedRID: TEv/LuC73NgxFdXyW/P+XW3NvezwBrVmTJDl9FKHbrkKogmGusPLb5g1 FOMOQofR/l3Eaff8G3C4LZzenDhGPx8TzIzimOwPlpYqKNmWxsHZs3HUcS/scCq2rl3dzGQ1Fti yCwivF1UQyEmUp3PatH0YUdglkHG0YuAxZQ07Yh3z3KzY/7te+8C+ksT6a9fy X-TM-AS-User-Approved-Sender: No X-TM-AS-User-Blocked-Sender: No X-TMASE-Result: 10--5.827400-8.000000 X-TMASE-Version: SMEX-12.5.0.5042-8.2.9001-23736.004 X-TMASE-POSTMAN: 2-d; X-MTK: N Sender: linux-rtc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rtc@vger.kernel.org From: Sean Wang Just to add MT6323 support to the existent RTC driver. Signed-off-by: Sean Wang --- drivers/rtc/rtc-mt6397.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/rtc/rtc-mt6397.c b/drivers/rtc/rtc-mt6397.c index 385f830..0df7ccd 100644 --- a/drivers/rtc/rtc-mt6397.c +++ b/drivers/rtc/rtc-mt6397.c @@ -398,6 +398,7 @@ static SIMPLE_DEV_PM_OPS(mt6397_pm_ops, mt6397_rtc_suspend, mt6397_rtc_resume); static const struct of_device_id mt6397_rtc_of_match[] = { + { .compatible = "mediatek,mt6323-rtc", }, { .compatible = "mediatek,mt6397-rtc", }, { } }; From patchwork Fri Mar 23 09:15:03 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Wang X-Patchwork-Id: 889846 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-rtc-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=mediatek.com Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 406yfL4tfWz9s1B for ; Fri, 23 Mar 2018 20:19:22 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752021AbeCWJPc (ORCPT ); Fri, 23 Mar 2018 05:15:32 -0400 Received: from mailgw02.mediatek.com ([210.61.82.184]:46348 "EHLO mailgw02.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1751668AbeCWJP3 (ORCPT ); Fri, 23 Mar 2018 05:15:29 -0400 X-UUID: 079b8eabf5b2482f82aa1f3459be29f0-20180323 Received: from mtkcas06.mediatek.inc [(172.21.101.30)] by mailgw02.mediatek.com (envelope-from ) (mhqrelay.mediatek.com ESMTP with TLS) with ESMTP id 1356028506; Fri, 23 Mar 2018 17:15:25 +0800 Received: from mtkcas08.mediatek.inc (172.21.101.126) by mtkmbs08n2.mediatek.inc (172.21.101.56) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Fri, 23 Mar 2018 17:15:24 +0800 Received: from mtkswgap22.mediatek.inc (172.21.77.33) by mtkcas08.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1210.3 via Frontend Transport; Fri, 23 Mar 2018 17:15:24 +0800 From: To: , , , , , , CC: , , , , , Sean Wang Subject: [PATCH v1 06/16] rtc: mediatek: remove unnecessary parentheses Date: Fri, 23 Mar 2018 17:15:03 +0800 Message-ID: <92d07e90f43899981a82fbc684c3d15aaecaf591.1521794177.git.sean.wang@mediatek.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: References: MIME-Version: 1.0 X-TM-AS-Product-Ver: SMEX-12.5.0.5042-8.2.9001-23736.004 X-TM-AS-Result: No-3.964800-8.000000-10 X-TMASE-MatchedRID: RviKwqHC+xdlJTodqNqEzshI95kTx6VeQl/FdRYkUZLfUZT83lbkEEtH ojrK13E4rr978FDbQViAMuqetGVetiVvu9chHp+mavP8b9lJtWr6C0ePs7A07X8VRCNw0kiD/cV V4ZeC0Pcy4PDy8PpiMHjXqtiLMVy/tYgZAet2fB6zX1Y5tjAkB5wPJY7+f6ROOL0tgq42erKkPw z7S39OurXpNhFtIO5o2kC7SwvGlKhDwb7Jglhh1lFkOwaJdCKgviPEqcclEtzAvpLE+mvX8g== X-TM-AS-User-Approved-Sender: No X-TM-AS-User-Blocked-Sender: No X-TMASE-Result: 10--3.964800-8.000000 X-TMASE-Version: SMEX-12.5.0.5042-8.2.9001-23736.004 X-TMASE-POSTMAN: 2-d; X-MTK: N Sender: linux-rtc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rtc@vger.kernel.org From: Sean Wang Remove unnecessary parentheses due to explicit C operator precedence. Signed-off-by: Sean Wang --- drivers/rtc/rtc-mt6397.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/rtc/rtc-mt6397.c b/drivers/rtc/rtc-mt6397.c index 0df7ccd..4411c08 100644 --- a/drivers/rtc/rtc-mt6397.c +++ b/drivers/rtc/rtc-mt6397.c @@ -106,7 +106,7 @@ static irqreturn_t mtk_rtc_irq_handler_thread(int irq, void *data) int ret; ret = regmap_read(rtc->regmap, rtc->addr_base + RTC_IRQ_STA, &irqsta); - if ((ret >= 0) && (irqsta & RTC_IRQ_STA_AL)) { + if (ret >= 0 && irqsta & RTC_IRQ_STA_AL) { rtc_update_irq(rtc->rtc_dev, 1, RTC_IRQF | RTC_AF); irqen = irqsta & ~RTC_IRQ_EN_AL; mutex_lock(&rtc->lock); From patchwork Fri Mar 23 09:15:04 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Wang X-Patchwork-Id: 889844 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-rtc-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=mediatek.com Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 406ydw35yHz9s1P for ; Fri, 23 Mar 2018 20:19:00 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752384AbeCWJSq (ORCPT ); Fri, 23 Mar 2018 05:18:46 -0400 Received: from mailgw01.mediatek.com ([210.61.82.183]:39333 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1752027AbeCWJPd (ORCPT ); Fri, 23 Mar 2018 05:15:33 -0400 X-UUID: ca7b3118c3384fb081e8928fbfa42111-20180323 Received: from mtkcas09.mediatek.inc [(172.21.101.178)] by mailgw01.mediatek.com (envelope-from ) (mhqrelay.mediatek.com ESMTP with TLS) with ESMTP id 443444959; Fri, 23 Mar 2018 17:15:27 +0800 Received: from mtkcas08.mediatek.inc (172.21.101.126) by mtkmbs08n1.mediatek.inc (172.21.101.55) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Fri, 23 Mar 2018 17:15:24 +0800 Received: from mtkswgap22.mediatek.inc (172.21.77.33) by mtkcas08.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1210.3 via Frontend Transport; Fri, 23 Mar 2018 17:15:25 +0800 From: To: , , , , , , CC: , , , , , Sean Wang Subject: [PATCH v1 07/16] rtc: mediatek: replace a poll with regmap_read_poll_timeout Date: Fri, 23 Mar 2018 17:15:04 +0800 Message-ID: <5e34fe67466d09ad5ce15e913dbe371eeb0a250f.1521794177.git.sean.wang@mediatek.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: References: MIME-Version: 1.0 X-TM-AS-Product-Ver: SMEX-12.5.0.5042-8.2.9001-23736.004 X-TM-AS-Result: No-5.321300-8.000000-10 X-TMASE-MatchedRID: K16+lmNpxx3CFAQD9fptVUZakoam9+aeTJDl9FKHbrlGL0g1nVmkYVUn QAOplXiGujQMTOaH2U4zqRoAWOSvao5S9RIYp1E+B7TqRAYVohZ9LQinZ4QefPcjNeVeWlqY+gt Hj7OwNO2+SzuwiNJ7ezeMJvMCOAKnycbRS8Uo6LOEWZeoactEMTdi8hzJL0eXVlxr1FJij9s= X-TM-AS-User-Approved-Sender: No X-TM-AS-User-Blocked-Sender: No X-TMASE-Result: 10--5.321300-8.000000 X-TMASE-Version: SMEX-12.5.0.5042-8.2.9001-23736.004 X-TMASE-POSTMAN: 2-d; X-MTK: N Sender: linux-rtc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rtc@vger.kernel.org From: Sean Wang Reuse the helper regmap_read_poll_timeout instead to simpify the logic. Furthermore, the time for a wait in each iteration changed from cpu_relax to 20us is for matching the usage of the helper, but it wouldn't acctually break any the existent functionality according to a good test on MT6323 PMIC. Signed-off-by: Sean Wang --- drivers/rtc/rtc-mt6397.c | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/drivers/rtc/rtc-mt6397.c b/drivers/rtc/rtc-mt6397.c index 4411c08..b62eaa8 100644 --- a/drivers/rtc/rtc-mt6397.c +++ b/drivers/rtc/rtc-mt6397.c @@ -18,6 +18,7 @@ #include #include #include +#include #include #include #include @@ -63,6 +64,9 @@ #define RTC_NUM_YEARS 128 #define RTC_MIN_YEAR_OFFSET (RTC_MIN_YEAR - RTC_BASE_YEAR) +#define MTK_RTC_POLL_DELAY_US 10 +#define MTK_RTC_POLL_TIMEOUT (jiffies_to_usecs(HZ)) + struct mt6397_rtc { struct device *dev; struct rtc_device *rtc_dev; @@ -74,7 +78,6 @@ struct mt6397_rtc { static int mtk_rtc_write_trigger(struct mt6397_rtc *rtc) { - unsigned long timeout = jiffies + HZ; int ret; u32 data; @@ -82,19 +85,13 @@ static int mtk_rtc_write_trigger(struct mt6397_rtc *rtc) if (ret < 0) return ret; - while (1) { - ret = regmap_read(rtc->regmap, rtc->addr_base + RTC_BBPU, - &data); - if (ret < 0) - break; - if (!(data & RTC_BBPU_CBUSY)) - break; - if (time_after(jiffies, timeout)) { - ret = -ETIMEDOUT; - break; - } - cpu_relax(); - } + ret = regmap_read_poll_timeout(rtc->regmap, + rtc->addr_base + RTC_BBPU, data, + !(data & RTC_BBPU_CBUSY), + MTK_RTC_POLL_DELAY_US, + MTK_RTC_POLL_TIMEOUT); + if (ret) + dev_err(rtc->dev, "failed to write WRTGE: %d\n", ret); return ret; } From patchwork Fri Mar 23 09:15:05 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Wang X-Patchwork-Id: 889851 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-rtc-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=mediatek.com Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 406yh601Hfz9s0t for ; Fri, 23 Mar 2018 20:20:53 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752383AbeCWJUh (ORCPT ); Fri, 23 Mar 2018 05:20:37 -0400 Received: from mailgw02.mediatek.com ([210.61.82.184]:9578 "EHLO mailgw02.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1751675AbeCWJPa (ORCPT ); Fri, 23 Mar 2018 05:15:30 -0400 X-UUID: 86c8a38a92a84437a8af2083e96be6cd-20180323 Received: from mtkcas06.mediatek.inc [(172.21.101.30)] by mailgw02.mediatek.com (envelope-from ) (mhqrelay.mediatek.com ESMTP with TLS) with ESMTP id 491096552; Fri, 23 Mar 2018 17:15:25 +0800 Received: from mtkcas08.mediatek.inc (172.21.101.126) by mtkmbs08n2.mediatek.inc (172.21.101.56) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Fri, 23 Mar 2018 17:15:24 +0800 Received: from mtkswgap22.mediatek.inc (172.21.77.33) by mtkcas08.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1210.3 via Frontend Transport; Fri, 23 Mar 2018 17:15:25 +0800 From: To: , , , , , , CC: , , , , , Sean Wang Subject: [PATCH v1 08/16] rtc: mediatek: remove unnecessary irq_dispose_mapping Date: Fri, 23 Mar 2018 17:15:05 +0800 Message-ID: <96f39ce7f57a4dcd7653e049eebc87c83bcbdfc9.1521794177.git.sean.wang@mediatek.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: References: MIME-Version: 1.0 X-TM-AS-Product-Ver: SMEX-12.5.0.5042-8.2.9001-23736.004 X-TM-AS-Result: No-5.189400-8.000000-10 X-TMASE-MatchedRID: x6uIgBUWMEw3XjqZll6IQaDH6drx3JPVYoHH/gi0K9uHlDUCu0I+XIny HZfRmqmqTiQecD9aKoSRYJdMgDxPlhgEuFFWa742ypeMiaCPnxvGYnoF/CTeZclk/SMg0CpQo8W MkQWv6iXBcIE78YqRWo6HM5rqDwqtb3C5dDGXC8YVT2mlXIA04VcJ/KqDzE0u8UmmLQxSAiVc+f utAOX47EMMprcbiest X-TM-AS-User-Approved-Sender: No X-TM-AS-User-Blocked-Sender: No X-TMASE-Result: 10--5.189400-8.000000 X-TMASE-Version: SMEX-12.5.0.5042-8.2.9001-23736.004 X-TMASE-POSTMAN: 2-d; X-MTK: N Sender: linux-rtc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rtc@vger.kernel.org From: Sean Wang It's unnecessary doing irq_dispose_mapping as a reverse operation for platform_get_irq. Ususally, irq_dispose_mapping should be called in error path or module removal to release the resources for irq_of_parse_and_map requested. Signed-off-by: Sean Wang --- drivers/rtc/rtc-mt6397.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/drivers/rtc/rtc-mt6397.c b/drivers/rtc/rtc-mt6397.c index b62eaa8..cefb83b 100644 --- a/drivers/rtc/rtc-mt6397.c +++ b/drivers/rtc/rtc-mt6397.c @@ -17,7 +17,6 @@ #include #include #include -#include #include #include #include @@ -336,7 +335,7 @@ static int mtk_rtc_probe(struct platform_device *pdev) if (ret) { dev_err(&pdev->dev, "Failed to request alarm IRQ: %d: %d\n", rtc->irq, ret); - goto out_dispose_irq; + return ret; } device_init_wakeup(&pdev->dev, 1); @@ -353,8 +352,7 @@ static int mtk_rtc_probe(struct platform_device *pdev) out_free_irq: free_irq(rtc->irq, rtc->rtc_dev); -out_dispose_irq: - irq_dispose_mapping(rtc->irq); + return ret; } @@ -364,7 +362,6 @@ static int mtk_rtc_remove(struct platform_device *pdev) rtc_device_unregister(rtc->rtc_dev); free_irq(rtc->irq, rtc->rtc_dev); - irq_dispose_mapping(rtc->irq); return 0; } From patchwork Fri Mar 23 09:15:06 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Wang X-Patchwork-Id: 889835 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-rtc-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=mediatek.com Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 406yc42Krqz9s1P for ; Fri, 23 Mar 2018 20:17:24 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752026AbeCWJRJ (ORCPT ); Fri, 23 Mar 2018 05:17:09 -0400 Received: from mailgw01.mediatek.com ([210.61.82.183]:39333 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1752065AbeCWJPh (ORCPT ); Fri, 23 Mar 2018 05:15:37 -0400 X-UUID: a5281715ca594469a7afcf657bbbf669-20180323 Received: from mtkcas09.mediatek.inc [(172.21.101.178)] by mailgw01.mediatek.com (envelope-from ) (mhqrelay.mediatek.com ESMTP with TLS) with ESMTP id 861644963; Fri, 23 Mar 2018 17:15:27 +0800 Received: from mtkcas08.mediatek.inc (172.21.101.126) by mtkmbs08n1.mediatek.inc (172.21.101.55) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Fri, 23 Mar 2018 17:15:25 +0800 Received: from mtkswgap22.mediatek.inc (172.21.77.33) by mtkcas08.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1210.3 via Frontend Transport; Fri, 23 Mar 2018 17:15:25 +0800 From: To: , , , , , , CC: , , , , , Sean Wang Subject: [PATCH v1 09/16] rtc: mediatek: convert to use device managed functions Date: Fri, 23 Mar 2018 17:15:06 +0800 Message-ID: X-Mailer: git-send-email 1.7.9.5 In-Reply-To: References: MIME-Version: 1.0 X-TM-AS-Product-Ver: SMEX-12.5.0.5042-8.2.9001-23736.004 X-TM-AS-Result: No-5.488800-8.000000-10 X-TMASE-MatchedRID: Bo0EIJTmAYwbZUQXhYPYzBWCVBr+Ay98rrEvQogcy/HJYIv7y0tu9odn WXaFnj+FK6Y65q1qYVzEZ6BVQgY6ZsnUsvxvsR6SA9lly13c/gGy4iyjvVWToqfnINz0/CVc+1B ysa1PtqTojJgGHGYSus6fanhSwWkxBC/qhcduELrJ1E/nrJFED7qGBW9J0YqjZj0yUhVrMqujxY yRBa/qJcFwgTvxipFajoczmuoPCq3QevkfvkSaMU9lVlbTD5khMU9dzAbNCaFu7A0Qr9G+CeJ2p 3yVhAuLQwymtxuJ6y0= X-TM-AS-User-Approved-Sender: No X-TM-AS-User-Blocked-Sender: No X-TMASE-Result: 10--5.488800-8.000000 X-TMASE-Version: SMEX-12.5.0.5042-8.2.9001-23736.004 X-TMASE-POSTMAN: 2-d; X-MTK: N Sender: linux-rtc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rtc@vger.kernel.org From: Sean Wang Use device managed operation to simplify error handling, reduce source code size, and reduce the likelyhood of bugs, and remove our removal callback which contains anything already done by device managed functions. Signed-off-by: Sean Wang --- drivers/rtc/rtc-mt6397.c | 31 ++++++++----------------------- 1 file changed, 8 insertions(+), 23 deletions(-) diff --git a/drivers/rtc/rtc-mt6397.c b/drivers/rtc/rtc-mt6397.c index cefb83b..bfc5d6f 100644 --- a/drivers/rtc/rtc-mt6397.c +++ b/drivers/rtc/rtc-mt6397.c @@ -14,6 +14,7 @@ #include #include +#include #include #include #include @@ -328,10 +329,10 @@ static int mtk_rtc_probe(struct platform_device *pdev) platform_set_drvdata(pdev, rtc); - ret = request_threaded_irq(rtc->irq, NULL, - mtk_rtc_irq_handler_thread, - IRQF_ONESHOT | IRQF_TRIGGER_HIGH, - "mt6397-rtc", rtc); + ret = devm_request_threaded_irq(&pdev->dev, rtc->irq, NULL, + mtk_rtc_irq_handler_thread, + IRQF_ONESHOT | IRQF_TRIGGER_HIGH, + "mt6397-rtc", rtc); if (ret) { dev_err(&pdev->dev, "Failed to request alarm IRQ: %d: %d\n", rtc->irq, ret); @@ -340,30 +341,15 @@ static int mtk_rtc_probe(struct platform_device *pdev) device_init_wakeup(&pdev->dev, 1); - rtc->rtc_dev = rtc_device_register("mt6397-rtc", &pdev->dev, - &mtk_rtc_ops, THIS_MODULE); + rtc->rtc_dev = devm_rtc_device_register(&pdev->dev, "mt6397-rtc", + &mtk_rtc_ops, THIS_MODULE); if (IS_ERR(rtc->rtc_dev)) { dev_err(&pdev->dev, "register rtc device failed\n"); ret = PTR_ERR(rtc->rtc_dev); - goto out_free_irq; + return ret; } return 0; - -out_free_irq: - free_irq(rtc->irq, rtc->rtc_dev); - - return ret; -} - -static int mtk_rtc_remove(struct platform_device *pdev) -{ - struct mt6397_rtc *rtc = platform_get_drvdata(pdev); - - rtc_device_unregister(rtc->rtc_dev); - free_irq(rtc->irq, rtc->rtc_dev); - - return 0; } #ifdef CONFIG_PM_SLEEP @@ -405,7 +391,6 @@ static struct platform_driver mtk_rtc_driver = { .pm = &mt6397_pm_ops, }, .probe = mtk_rtc_probe, - .remove = mtk_rtc_remove, }; module_platform_driver(mtk_rtc_driver); From patchwork Fri Mar 23 09:15:07 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Wang X-Patchwork-Id: 889834 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-rtc-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=mediatek.com Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 406ybV4MQMz9s1B for ; Fri, 23 Mar 2018 20:16:54 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752286AbeCWJQs (ORCPT ); Fri, 23 Mar 2018 05:16:48 -0400 Received: from mailgw01.mediatek.com ([210.61.82.183]:8094 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1752069AbeCWJPh (ORCPT ); Fri, 23 Mar 2018 05:15:37 -0400 X-UUID: 83a830b4064d4762b30b0210ae769b9a-20180323 Received: from mtkcas09.mediatek.inc [(172.21.101.178)] by mailgw01.mediatek.com (envelope-from ) (mhqrelay.mediatek.com ESMTP with TLS) with ESMTP id 28407859; Fri, 23 Mar 2018 17:15:27 +0800 Received: from mtkcas08.mediatek.inc (172.21.101.126) by mtkmbs08n2.mediatek.inc (172.21.101.56) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Fri, 23 Mar 2018 17:15:25 +0800 Received: from mtkswgap22.mediatek.inc (172.21.77.33) by mtkcas08.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1210.3 via Frontend Transport; Fri, 23 Mar 2018 17:15:25 +0800 From: To: , , , , , , CC: , , , , , Sean Wang Subject: [PATCH v1 10/16] rtc: mediatek: add devm_of_platform_populate Date: Fri, 23 Mar 2018 17:15:07 +0800 Message-ID: <2bf23f9f05b747674419be6008822bef43085626.1521794177.git.sean.wang@mediatek.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: References: MIME-Version: 1.0 X-TM-AS-Product-Ver: SMEX-12.5.0.5042-8.2.9001-23736.004 X-TM-AS-Result: No-3.025000-8.000000-10 X-TMASE-MatchedRID: K16+lmNpxx0xFdXyW/P+XUfhraIl1XgxQl/FdRYkUZLfUZT83lbkEBFx R5JQAS6O5PTdBxbUo2PxY0WGgfScA49oUcx9VMLgFEUknJ/kEl5jFT88f69nG/oLR4+zsDTtjoc zmuoPCq1K0fn/pLyyN1WVpypmmXSUtewyr+gjll//7BNculdA7ZnE3LSMhIpPwijxkXPrl+E3Ej U2/O5tf9pMFLDxnlUsG4ZvF4u4vdWF15h6/oibNbKsWJ44GuEGPNxau39/BitFwHZmk+dWMmhnU CrcDtVn X-TM-AS-User-Approved-Sender: No X-TM-AS-User-Blocked-Sender: No X-TMASE-Result: 10--3.025000-8.000000 X-TMASE-Version: SMEX-12.5.0.5042-8.2.9001-23736.004 X-TMASE-POSTMAN: 2-d; X-MTK: N Sender: linux-rtc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rtc@vger.kernel.org From: Sean Wang Add devm_of_platform_populate to populate all child nodes according to the dt-binding. Signed-off-by: Sean Wang --- drivers/rtc/rtc-mt6397.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/rtc/rtc-mt6397.c b/drivers/rtc/rtc-mt6397.c index bfc5d6f..d133d1f 100644 --- a/drivers/rtc/rtc-mt6397.c +++ b/drivers/rtc/rtc-mt6397.c @@ -16,6 +16,7 @@ #include #include #include +#include #include #include #include @@ -349,7 +350,7 @@ static int mtk_rtc_probe(struct platform_device *pdev) return ret; } - return 0; + return devm_of_platform_populate(&pdev->dev); } #ifdef CONFIG_PM_SLEEP From patchwork Fri Mar 23 09:15:08 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Wang X-Patchwork-Id: 889838 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-rtc-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=mediatek.com Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 406ycQ1BjTz9s1R for ; Fri, 23 Mar 2018 20:17:42 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752156AbeCWJRY (ORCPT ); Fri, 23 Mar 2018 05:17:24 -0400 Received: from mailgw01.mediatek.com ([210.61.82.183]:30758 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1752062AbeCWJPg (ORCPT ); Fri, 23 Mar 2018 05:15:36 -0400 X-UUID: 148c29c07d9e4db487b37dfe2daa48b7-20180323 Received: from mtkcas09.mediatek.inc [(172.21.101.178)] by mailgw01.mediatek.com (envelope-from ) (mhqrelay.mediatek.com ESMTP with TLS) with ESMTP id 410943860; Fri, 23 Mar 2018 17:15:27 +0800 Received: from mtkcas08.mediatek.inc (172.21.101.126) by mtkmbs08n1.mediatek.inc (172.21.101.55) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Fri, 23 Mar 2018 17:15:25 +0800 Received: from mtkswgap22.mediatek.inc (172.21.77.33) by mtkcas08.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1210.3 via Frontend Transport; Fri, 23 Mar 2018 17:15:25 +0800 From: To: , , , , , , CC: , , , , , Sean Wang Subject: [PATCH v1 11/16] rtc: mediatek: move the declaration into a globally visible header file Date: Fri, 23 Mar 2018 17:15:08 +0800 Message-ID: <53afbe8172fb1afd809ce9ba1afeda924b9ea705.1521794177.git.sean.wang@mediatek.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: References: MIME-Version: 1.0 X-TM-AS-Product-Ver: SMEX-12.5.0.5042-8.2.9001-23736.004 X-TM-AS-Result: No-6.737000-8.000000-10 X-TMASE-MatchedRID: lnFJRi0AOmx3emsqv77kMYSvKOGqLLPKK2i9pofGVSvvSbc8qoHu0dn7 b/+Y15IvAEITvPJt4dRYk91062MLlyZ54WxtnrTDkDpLRKO9xhTt/okBLaEo+EUNHQAoZf5csFe 531Fr7DScPcDHCp4L+uSWVqW5qzmOfdqC3iY1TXnhPQQVFw3HFH0tCKdnhB589yM15V5aWpj6C0 ePs7A07SSyFhRNlxkT64eSBIFi5Rzn+nZ7rmgOTppWLOVgTsZFY8XmqB8E3tFWXGvUUmKP2w== X-TM-AS-User-Approved-Sender: No X-TM-AS-User-Blocked-Sender: No X-TMASE-Result: 10--6.737000-8.000000 X-TMASE-Version: SMEX-12.5.0.5042-8.2.9001-23736.004 X-TMASE-POSTMAN: 2-d; X-MTK: N Sender: linux-rtc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rtc@vger.kernel.org From: Sean Wang This is in preparation for allowing other drivers can share the declaration, so move the declaration into a globally visible header file. Signed-off-by: Sean Wang --- drivers/rtc/rtc-mt6397.c | 53 +--------------------------------- include/linux/rtc/mt6397.h | 72 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 73 insertions(+), 52 deletions(-) create mode 100644 include/linux/rtc/mt6397.h diff --git a/drivers/rtc/rtc-mt6397.c b/drivers/rtc/rtc-mt6397.c index d133d1f..015609d 100644 --- a/drivers/rtc/rtc-mt6397.c +++ b/drivers/rtc/rtc-mt6397.c @@ -19,63 +19,12 @@ #include #include #include -#include #include #include #include #include #include - -#define RTC_BBPU 0x0000 -#define RTC_BBPU_CBUSY BIT(6) - -#define RTC_WRTGR 0x003c - -#define RTC_IRQ_STA 0x0002 -#define RTC_IRQ_STA_AL BIT(0) -#define RTC_IRQ_STA_LP BIT(3) - -#define RTC_IRQ_EN 0x0004 -#define RTC_IRQ_EN_AL BIT(0) -#define RTC_IRQ_EN_ONESHOT BIT(2) -#define RTC_IRQ_EN_LP BIT(3) -#define RTC_IRQ_EN_ONESHOT_AL (RTC_IRQ_EN_ONESHOT | RTC_IRQ_EN_AL) - -#define RTC_AL_MASK 0x0008 -#define RTC_AL_MASK_DOW BIT(4) - -#define RTC_TC_SEC 0x000a -/* Min, Hour, Dom... register offset to RTC_TC_SEC */ -#define RTC_OFFSET_SEC 0 -#define RTC_OFFSET_MIN 1 -#define RTC_OFFSET_HOUR 2 -#define RTC_OFFSET_DOM 3 -#define RTC_OFFSET_DOW 4 -#define RTC_OFFSET_MTH 5 -#define RTC_OFFSET_YEAR 6 -#define RTC_OFFSET_COUNT 7 - -#define RTC_AL_SEC 0x0018 - -#define RTC_PDN2 0x002e -#define RTC_PDN2_PWRON_ALARM BIT(4) - -#define RTC_MIN_YEAR 1968 -#define RTC_BASE_YEAR 1900 -#define RTC_NUM_YEARS 128 -#define RTC_MIN_YEAR_OFFSET (RTC_MIN_YEAR - RTC_BASE_YEAR) - -#define MTK_RTC_POLL_DELAY_US 10 -#define MTK_RTC_POLL_TIMEOUT (jiffies_to_usecs(HZ)) - -struct mt6397_rtc { - struct device *dev; - struct rtc_device *rtc_dev; - struct mutex lock; - struct regmap *regmap; - int irq; - u32 addr_base; -}; +#include static int mtk_rtc_write_trigger(struct mt6397_rtc *rtc) { diff --git a/include/linux/rtc/mt6397.h b/include/linux/rtc/mt6397.h new file mode 100644 index 0000000..4b19f51 --- /dev/null +++ b/include/linux/rtc/mt6397.h @@ -0,0 +1,72 @@ + +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2014-2018 MediaTek Inc. + * + * Author: Tianping.Fang + * Sean Wang + */ + +#ifndef _LINUX_RTC_MT6397_H_ +#define _LINUX_RTC_MT6397_H_ + +#include +#include +#include +#include + +#define RTC_BBPU 0x0000 +#define RTC_BBPU_CBUSY BIT(6) + +#define RTC_WRTGR 0x003c + +#define RTC_IRQ_STA 0x0002 +#define RTC_IRQ_STA_AL BIT(0) +#define RTC_IRQ_STA_LP BIT(3) + +#define RTC_IRQ_EN 0x0004 +#define RTC_IRQ_EN_AL BIT(0) +#define RTC_IRQ_EN_ONESHOT BIT(2) +#define RTC_IRQ_EN_LP BIT(3) +#define RTC_IRQ_EN_ONESHOT_AL (RTC_IRQ_EN_ONESHOT | RTC_IRQ_EN_AL) + +#define RTC_AL_MASK 0x0008 +#define RTC_AL_MASK_DOW BIT(4) + +#define RTC_TC_SEC 0x000a +/* Min, Hour, Dom... register offset to RTC_TC_SEC */ +#define RTC_OFFSET_SEC 0 +#define RTC_OFFSET_MIN 1 +#define RTC_OFFSET_HOUR 2 +#define RTC_OFFSET_DOM 3 +#define RTC_OFFSET_DOW 4 +#define RTC_OFFSET_MTH 5 +#define RTC_OFFSET_YEAR 6 +#define RTC_OFFSET_COUNT 7 + +#define RTC_AL_SEC 0x0018 + +#define RTC_PDN2 0x002e +#define RTC_PDN2_PWRON_ALARM BIT(4) + +#define RTC_MIN_YEAR 1968 +#define RTC_BASE_YEAR 1900 +#define RTC_NUM_YEARS 128 +#define RTC_MIN_YEAR_OFFSET (RTC_MIN_YEAR - RTC_BASE_YEAR) + +#define MTK_RTC_POLL_DELAY_US 10 +#define MTK_RTC_POLL_TIMEOUT (jiffies_to_usecs(HZ)) + +struct mt6397_rtc { + struct device *dev; + struct rtc_device *rtc_dev; + + /* protect registers accessing */ + struct mutex lock; + struct regmap *regmap; + int irq; + u32 addr_base; +}; + +#endif /* _LINUX_RTC_MT6397_H_ */ + From patchwork Fri Mar 23 09:15:09 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Wang X-Patchwork-Id: 889826 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-rtc-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=mediatek.com Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 406yZP4FyJz9s0t for ; Fri, 23 Mar 2018 20:15:56 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752152AbeCWJPm (ORCPT ); Fri, 23 Mar 2018 05:15:42 -0400 Received: from mailgw01.mediatek.com ([210.61.82.183]:30758 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1752088AbeCWJPi (ORCPT ); Fri, 23 Mar 2018 05:15:38 -0400 X-UUID: 24bf2b7fb7ba4b44ae7853ef10eb5749-20180323 Received: from mtkcas09.mediatek.inc [(172.21.101.178)] by mailgw01.mediatek.com (envelope-from ) (mhqrelay.mediatek.com ESMTP with TLS) with ESMTP id 684486934; Fri, 23 Mar 2018 17:15:27 +0800 Received: from mtkcas08.mediatek.inc (172.21.101.126) by mtkmbs08n2.mediatek.inc (172.21.101.56) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Fri, 23 Mar 2018 17:15:25 +0800 Received: from mtkswgap22.mediatek.inc (172.21.77.33) by mtkcas08.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1210.3 via Frontend Transport; Fri, 23 Mar 2018 17:15:25 +0800 From: To: , , , , , , CC: , , , , , Sean Wang Subject: [PATCH v1 12/16] rtc: mediatek: cleanup header files to include Date: Fri, 23 Mar 2018 17:15:09 +0800 Message-ID: <6e4f709162d57c6e81dfca0996f88358080bf411.1521794177.git.sean.wang@mediatek.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: References: MIME-Version: 1.0 X-TM-AS-Product-Ver: SMEX-12.5.0.5042-8.2.9001-23736.004 X-TM-AS-Result: No-2.945300-8.000000-10 X-TMASE-MatchedRID: Ei0WBMmFdJgd77JkbbOQeRK6EFc0lvV0f6/Md8Lb2l81LB46LFAAkk/3 ZkXeY1OAv+io1+NFyY3OgXE6r4gNczkvrbtuQjcdhK8o4aoss8qscK/K2Dlvjn5h6y4KCSJc3oz JRX7b4NmJSrFYXOpr/3ATsg8MODVIHxPMjOKY7A8LbigRnpKlKZvjAepGmdoOQmZB8OtfV5E0h4 at78boKZ1dkBONNouvLPKaMAUeIsC8vfE7X8eBPwaGETe/iC6xeP+RlwCZc0xS0rRxpsObnFC8j OAXEu/95APDq2B3cAxn2JWP8qFf9FKehBzm9vnO5B2Qzud0EsI35c5BnKCu9g== X-TM-AS-User-Approved-Sender: No X-TM-AS-User-Blocked-Sender: No X-TMASE-Result: 10--2.945300-8.000000 X-TMASE-Version: SMEX-12.5.0.5042-8.2.9001-23736.004 X-TMASE-POSTMAN: 2-d; X-MTK: N Sender: linux-rtc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rtc@vger.kernel.org From: Sean Wang Clean up those included header files by removing unreferenced ones, add missing ones the driver explicitly depends on and finally list all #includes in alphabetical order. Signed-off-by: Sean Wang --- drivers/rtc/rtc-mt6397.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/drivers/rtc/rtc-mt6397.c b/drivers/rtc/rtc-mt6397.c index 015609d..f5dc70d 100644 --- a/drivers/rtc/rtc-mt6397.c +++ b/drivers/rtc/rtc-mt6397.c @@ -12,18 +12,15 @@ * GNU General Public License for more details. */ -#include -#include +#include #include +#include #include +#include #include +#include #include #include -#include -#include -#include -#include -#include #include static int mtk_rtc_write_trigger(struct mt6397_rtc *rtc) From patchwork Fri Mar 23 09:15:10 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Wang X-Patchwork-Id: 889847 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-rtc-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=mediatek.com Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 406ygB1prTz9s0t for ; Fri, 23 Mar 2018 20:20:06 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752203AbeCWJT0 (ORCPT ); Fri, 23 Mar 2018 05:19:26 -0400 Received: from mailgw01.mediatek.com ([210.61.82.183]:39333 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1752014AbeCWJPb (ORCPT ); Fri, 23 Mar 2018 05:15:31 -0400 X-UUID: fe5a481ed9394905b6a8be80373bccff-20180323 Received: from mtkcas09.mediatek.inc [(172.21.101.178)] by mailgw01.mediatek.com (envelope-from ) (mhqrelay.mediatek.com ESMTP with TLS) with ESMTP id 756717767; Fri, 23 Mar 2018 17:15:27 +0800 Received: from mtkcas08.mediatek.inc (172.21.101.126) by mtkmbs08n1.mediatek.inc (172.21.101.55) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Fri, 23 Mar 2018 17:15:25 +0800 Received: from mtkswgap22.mediatek.inc (172.21.77.33) by mtkcas08.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1210.3 via Frontend Transport; Fri, 23 Mar 2018 17:15:26 +0800 From: To: , , , , , , CC: , , , , , Sean Wang Subject: [PATCH v1 13/16] rtc: mediatek: update license converting to using SPDX identifiers Date: Fri, 23 Mar 2018 17:15:10 +0800 Message-ID: <86450fc8dcc53c658e97ac739aac2bf7d1f94b64.1521794177.git.sean.wang@mediatek.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: References: MIME-Version: 1.0 X-TM-AS-Product-Ver: SMEX-12.5.0.5042-8.2.9001-23736.004 X-TM-AS-Result: No-5.580400-8.000000-10 X-TMASE-MatchedRID: d0WP0JJEp0RBHBd/Q+ztB+G5dRZCgxC3VBDQSDMig9HEosIs7IJbkGcv LxxWTXnK7CW5xFA6WTJ8m0eKI/dFAJYfiJHiUPPG2Hdvv/MGE3WtfY6YPaw3YTzzULHH1XTjMA0 TvVWjWva98qutvhuYitwezITcev2HHxPMjOKY7A8LbigRnpKlKWxlRJiH4397Tk1v6FWn3kDeUW 2U/Cf2yeUE6zYBnqJBrH3PsN4Jf8Jpt/bXV4VNGg== X-TM-AS-User-Approved-Sender: No X-TM-AS-User-Blocked-Sender: No X-TMASE-Result: 10--5.580400-8.000000 X-TMASE-Version: SMEX-12.5.0.5042-8.2.9001-23736.004 X-TMASE-POSTMAN: 2-d; X-MTK: N Sender: linux-rtc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rtc@vger.kernel.org From: Sean Wang Update the license and as well convert to using SPDX identifiers. Signed-off-by: Sean Wang --- drivers/rtc/rtc-mt6397.c | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/drivers/rtc/rtc-mt6397.c b/drivers/rtc/rtc-mt6397.c index f5dc70d..ad336a4 100644 --- a/drivers/rtc/rtc-mt6397.c +++ b/drivers/rtc/rtc-mt6397.c @@ -1,16 +1,12 @@ +// SPDX-License-Identifier: GPL-2.0 /* -* Copyright (c) 2014-2015 MediaTek Inc. -* Author: Tianping.Fang -* -* This program is free software; you can redistribute it and/or modify -* it under the terms of the GNU General Public License version 2 as -* published by the Free Software Foundation. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -*/ + * MediaTek PMIC RTC driver + * + * Copyright (C) 2014-2018 MediaTek Inc. + * + * Author: Tianping.Fang + * Sean Wang + */ #include #include From patchwork Fri Mar 23 09:15:11 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Wang X-Patchwork-Id: 889839 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-rtc-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=mediatek.com Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 406ycQ6KzLz9s1B for ; Fri, 23 Mar 2018 20:17:42 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752077AbeCWJPg (ORCPT ); Fri, 23 Mar 2018 05:15:36 -0400 Received: from mailgw01.mediatek.com ([210.61.82.183]:8094 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1752031AbeCWJPe (ORCPT ); Fri, 23 Mar 2018 05:15:34 -0400 X-UUID: cf1b09778bc04746b67da7c5f4551c55-20180323 Received: from mtkcas09.mediatek.inc [(172.21.101.178)] by mailgw01.mediatek.com (envelope-from ) (mhqrelay.mediatek.com ESMTP with TLS) with ESMTP id 723779389; Fri, 23 Mar 2018 17:15:27 +0800 Received: from mtkcas08.mediatek.inc (172.21.101.126) by mtkmbs08n2.mediatek.inc (172.21.101.56) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Fri, 23 Mar 2018 17:15:25 +0800 Received: from mtkswgap22.mediatek.inc (172.21.77.33) by mtkcas08.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1210.3 via Frontend Transport; Fri, 23 Mar 2018 17:15:26 +0800 From: To: , , , , , , CC: , , , , , Sean Wang Subject: [PATCH v1 14/16] power: reset: mediatek: add a power-off driver using PMIC RTC device Date: Fri, 23 Mar 2018 17:15:11 +0800 Message-ID: X-Mailer: git-send-email 1.7.9.5 In-Reply-To: References: MIME-Version: 1.0 X-TM-AS-Product-Ver: SMEX-12.5.0.5042-8.2.9001-23736.004 X-TM-AS-Result: No-10.060200-8.000000-10 X-TMASE-MatchedRID: JyIAaEVCrzj0D0R+G5TTHG3NvezwBrVmfyrfUN0YezFPGHsd9KuVvWKL UFBAt61QFcdCclPPDWDgPjs6tRtgu83AmdtMjGJV7spMO3HwKCBMkOX0UoduuRO8aYSWhGprk2T /+ntghnWbNqqkONAOMX7tMNSOBia14Ho+osNU9hC4jAucHcCqnZYcYQ11P5U/xKLCLOyCW5A6qd xtMsrheOT03QcW1KNjg1j35+66aZOITy3hkRxZn935+5/2RxqmRvyVHewb0kLb6Y+fnTZULylAn CVKw8otPYXgc3Os37S8MOaGTOJX/VEAXL0Ub1O9jQlVVwSbjyd9LQinZ4QefPcjNeVeWlqY+gtH j7OwNO3DW0xVTs41PByifjvNlByyWjjqXH6QNIM4Ga9HnpJ2mD/UnX2flMRI X-TM-AS-User-Approved-Sender: No X-TM-AS-User-Blocked-Sender: No X-TMASE-Result: 10--10.060200-8.000000 X-TMASE-Version: SMEX-12.5.0.5042-8.2.9001-23736.004 X-TMASE-POSTMAN: 2-d; X-MTK: N Sender: linux-rtc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rtc@vger.kernel.org From: Sean Wang The power device is responsible for externally down or up the power of the remote MediaTek SoC through the tiny circuit BBPU inside PMIC RTC. Though it's a part of RTC device, it would be better to be a standalone driver against existent RTC driver so as to make concentration on works about power-controlling topic and help gather more improvements while the subsystem's constantly growing. Currently, the most basic functionality supported is to just power off the system by writing to a special bit field in BBPU register after the system has reached pm_poweroff. Signed-off-by: Sean Wang --- drivers/power/reset/Kconfig | 9 +++ drivers/power/reset/Makefile | 1 + drivers/power/reset/mt6397-rtc-poweroff.c | 100 ++++++++++++++++++++++++++++++ include/linux/rtc/mt6397.h | 1 + 4 files changed, 111 insertions(+) create mode 100644 drivers/power/reset/mt6397-rtc-poweroff.c diff --git a/drivers/power/reset/Kconfig b/drivers/power/reset/Kconfig index a102e74..0bd4603 100644 --- a/drivers/power/reset/Kconfig +++ b/drivers/power/reset/Kconfig @@ -121,6 +121,15 @@ config POWER_RESET_LTC2952 This driver supports an external powerdown trigger and board power down via the LTC2952. Bindings are made in the device tree. +config POWER_RESET_MT6397_RTC + bool "MediaTek MT6397 RTC power-off driver" + help + This driver supports turning off a remote MediaTek SoC by + controlling BBPU on MT6397 or MT6323 RTC. + + Select this if you're building a kernel with your MediaTek SoC + with an equipment with MT6397 or MT6323 PMIC. + config POWER_RESET_QNAP bool "QNAP power-off driver" depends on OF_GPIO && PLAT_ORION diff --git a/drivers/power/reset/Makefile b/drivers/power/reset/Makefile index dcc92f5..d45099e 100644 --- a/drivers/power/reset/Makefile +++ b/drivers/power/reset/Makefile @@ -11,6 +11,7 @@ obj-$(CONFIG_POWER_RESET_GPIO) += gpio-poweroff.o obj-$(CONFIG_POWER_RESET_GPIO_RESTART) += gpio-restart.o obj-$(CONFIG_POWER_RESET_HISI) += hisi-reboot.o obj-$(CONFIG_POWER_RESET_MSM) += msm-poweroff.o +obj-$(CONFIG_POWER_RESET_MT6397_RTC) += mt6397-rtc-poweroff.o obj-$(CONFIG_POWER_RESET_PIIX4_POWEROFF) += piix4-poweroff.o obj-$(CONFIG_POWER_RESET_LTC2952) += ltc2952-poweroff.o obj-$(CONFIG_POWER_RESET_QNAP) += qnap-poweroff.o diff --git a/drivers/power/reset/mt6397-rtc-poweroff.c b/drivers/power/reset/mt6397-rtc-poweroff.c new file mode 100644 index 0000000..9b57366 --- /dev/null +++ b/drivers/power/reset/mt6397-rtc-poweroff.c @@ -0,0 +1,100 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Power-off using MediaTek PMIC RTC device + * + * Copyright (C) 2018 MediaTek Inc. + * + * Author: Sean Wang + * + */ + +#include +#include +#include +#include +#include + +struct mt6397_rtc_powercon { + struct device *dev; + struct mt6397_rtc *rtc; +}; + +static struct mt6397_rtc_powercon *mt_powercon; + +static void mt6397_rtc_do_poweroff(void) +{ + struct mt6397_rtc_powercon *powercon = mt_powercon; + struct mt6397_rtc *rtc = powercon->rtc; + unsigned int val; + int ret; + + regmap_write(rtc->regmap, rtc->addr_base + RTC_BBPU, RTC_BBPU_KEY); + regmap_write(rtc->regmap, rtc->addr_base + RTC_WRTGR, 1); + + ret = regmap_read_poll_timeout(rtc->regmap, + rtc->addr_base + RTC_BBPU, val, + !(val & RTC_BBPU_CBUSY), + MTK_RTC_POLL_DELAY_US, + MTK_RTC_POLL_TIMEOUT); + if (ret) + dev_err(powercon->dev, "failed to write BBPU: %d\n", ret); + + /* Wait some time until system down, otherwise, notice with a warn */ + mdelay(1000); + + WARN_ONCE(1, "Unable to poweroff system\n"); +} + +static int mt6397_rtc_poweroff_probe(struct platform_device *pdev) +{ + struct mt6397_rtc *rtc = dev_get_drvdata(pdev->dev.parent); + struct mt6397_rtc_powercon *powercon; + + if (!rtc) { + dev_err(&pdev->dev, "Can't find RTC as the parent\n"); + return -ENODEV; + } + + powercon = devm_kzalloc(&pdev->dev, sizeof(*powercon), GFP_KERNEL); + if (!powercon) + return -ENOMEM; + + powercon->dev = &pdev->dev; + powercon->rtc = rtc; + mt_powercon = powercon; + + pm_power_off = &mt6397_rtc_do_poweroff; + + return 0; +} + +static int mt6397_rtc_poweroff_remove(struct platform_device *pdev) +{ + if (pm_power_off == &mt6397_rtc_do_poweroff) + pm_power_off = NULL; + + return 0; +} + +static const struct of_device_id mt6397_rtc_poweroff_dt_match[] = { + { .compatible = "mediatek,mt6323-rtc-poweroff" }, + { .compatible = "mediatek,mt6397-rtc-poweroff" }, + {}, +}; +MODULE_DEVICE_TABLE(of, mt6397_rtc_poweroff_dt_match); + +static struct platform_driver mt6397_rtc_poweroff_driver = { + .probe = mt6397_rtc_poweroff_probe, + .remove = mt6397_rtc_poweroff_remove, + .driver = { + .name = "mt6397-rtc-poweroff", + .of_match_table = mt6397_rtc_poweroff_dt_match, + }, +}; + +module_platform_driver(mt6397_rtc_poweroff_driver); + +MODULE_DESCRIPTION("Poweroff driver using MediaTek PMIC RTC"); +MODULE_AUTHOR("Sean Wang "); +MODULE_LICENSE("GPL v2"); +MODULE_ALIAS("platform:mt6397-rtc-poweroff"); diff --git a/include/linux/rtc/mt6397.h b/include/linux/rtc/mt6397.h index 4b19f51..e618974 100644 --- a/include/linux/rtc/mt6397.h +++ b/include/linux/rtc/mt6397.h @@ -17,6 +17,7 @@ #define RTC_BBPU 0x0000 #define RTC_BBPU_CBUSY BIT(6) +#define RTC_BBPU_KEY (0x43 << 8) #define RTC_WRTGR 0x003c From patchwork Fri Mar 23 09:15:12 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Wang X-Patchwork-Id: 889843 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-rtc-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=mediatek.com Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 406ydJ6lkqz9s0t for ; Fri, 23 Mar 2018 20:18:28 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752387AbeCWJR6 (ORCPT ); Fri, 23 Mar 2018 05:17:58 -0400 Received: from mailgw01.mediatek.com ([210.61.82.183]:39333 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1751668AbeCWJPf (ORCPT ); Fri, 23 Mar 2018 05:15:35 -0400 X-UUID: 85b9cd7b8eaa4afe9a72139cfed2aa36-20180323 Received: from mtkcas09.mediatek.inc [(172.21.101.178)] by mailgw01.mediatek.com (envelope-from ) (mhqrelay.mediatek.com ESMTP with TLS) with ESMTP id 1311452537; Fri, 23 Mar 2018 17:15:27 +0800 Received: from mtkcas08.mediatek.inc (172.21.101.126) by mtkmbs08n1.mediatek.inc (172.21.101.55) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Fri, 23 Mar 2018 17:15:26 +0800 Received: from mtkswgap22.mediatek.inc (172.21.77.33) by mtkcas08.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1210.3 via Frontend Transport; Fri, 23 Mar 2018 17:15:26 +0800 From: To: , , , , , , CC: , , , , , Sean Wang Subject: [PATCH v1 15/16] MAINTAINERS: update entry for ARM/Mediatek RTC DRIVER Date: Fri, 23 Mar 2018 17:15:12 +0800 Message-ID: X-Mailer: git-send-email 1.7.9.5 In-Reply-To: References: MIME-Version: 1.0 X-TM-AS-Product-Ver: SMEX-12.5.0.5042-8.2.9001-23736.004 X-TM-AS-Result: No-4.067500-8.000000-10 X-TMASE-MatchedRID: x6uIgBUWMEwxFdXyW/P+XbiMC5wdwKqdK2i9pofGVSuY5ISV79wbr2b6 PphVtfZgRAjjCBWd1tV63xQjyx+HXtOYsB74R7ecdARARTk4h599LQinZ4QefCP/VFuTOXUT3n8 eBZjGmUzkwjHXXC/4I66NVEWSRWybUsAHQn5GEzDRpjwMXIGP7K6HZQqIz+9cwoeDtmp32d04Fa 0M94SCv/g5LDH7EcAUuHuaTWKtdCtLm6vl+Utdqjfj9WnQo0h58OyccFNBL2TKhETi2//sjuP9C b59K8ACZrS+A8PszW+YV38c4KFOjw== X-TM-AS-User-Approved-Sender: No X-TM-AS-User-Blocked-Sender: No X-TMASE-Result: 10--4.067500-8.000000 X-TMASE-Version: SMEX-12.5.0.5042-8.2.9001-23736.004 X-TMASE-POSTMAN: 2-d; X-MTK: N Sender: linux-rtc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rtc@vger.kernel.org From: Sean Wang Add new files for new dt-bindings and a globally visible header file. Signed-off-by: Sean Wang --- MAINTAINERS | 2 ++ 1 file changed, 2 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index d3c33d7..1c13f29 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1626,9 +1626,11 @@ M: Sean Wang L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) L: linux-mediatek@lists.infradead.org (moderated for non-subscribers) S: Maintained +F: Documentation/devicetree/bindings/rtc/rtc-mt6397.txt F: Documentation/devicetree/bindings/rtc/rtc-mt7622.txt F: drivers/rtc/rtc-mt6397.c F: drivers/rtc/rtc-mt7622.c +F: include/linux/rtc/mt6397.h ARM/Mediatek SoC support M: Matthias Brugger From patchwork Fri Mar 23 09:15:13 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Wang X-Patchwork-Id: 889840 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-rtc-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=mediatek.com Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 406yck0QHNz9s0t for ; Fri, 23 Mar 2018 20:17:58 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752267AbeCWJRn (ORCPT ); Fri, 23 Mar 2018 05:17:43 -0400 Received: from mailgw01.mediatek.com ([210.61.82.183]:8094 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1752004AbeCWJPg (ORCPT ); Fri, 23 Mar 2018 05:15:36 -0400 X-UUID: 52ddf7a4798b4e9e96d5c54e0410dc0a-20180323 Received: from mtkcas09.mediatek.inc [(172.21.101.178)] by mailgw01.mediatek.com (envelope-from ) (mhqrelay.mediatek.com ESMTP with TLS) with ESMTP id 16376172; Fri, 23 Mar 2018 17:15:27 +0800 Received: from mtkcas08.mediatek.inc (172.21.101.126) by mtkmbs08n2.mediatek.inc (172.21.101.56) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Fri, 23 Mar 2018 17:15:26 +0800 Received: from mtkswgap22.mediatek.inc (172.21.77.33) by mtkcas08.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1210.3 via Frontend Transport; Fri, 23 Mar 2018 17:15:26 +0800 From: To: , , , , , , CC: , , , , , Sean Wang Subject: [PATCH v1 16/16] MAINTAINERS: add an entry for MediaTek board level shutdown driver Date: Fri, 23 Mar 2018 17:15:13 +0800 Message-ID: <47102dcc92322c21d94b810feee0ba5f657ee17a.1521794177.git.sean.wang@mediatek.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: References: MIME-Version: 1.0 X-TM-AS-Product-Ver: SMEX-12.5.0.5042-8.2.9001-23736.004 X-TM-AS-Result: No-5.083900-8.000000-10 X-TMASE-MatchedRID: VznsoVq3PH8xFdXyW/P+XYv73wEu0Nx7v8yqWnJhUsENAzuXf98XU2b6 PphVtfZglW4UQD0mrH2FECvR4Kt3tByonC1Qcu05dOc7KAdVCk7Q6kBvBIlXtZsoi2XrUn/J8m+ hzBStansUGm4zriL0oQtuKBGekqUpbGVEmIfjf3to+989r3nfAvRDgqGnBtXi8tVEVF/BSLDumW krWTSyK0dhbEY4c4Xo X-TM-AS-User-Approved-Sender: No X-TM-AS-User-Blocked-Sender: No X-TMASE-Result: 10--5.083900-8.000000 X-TMASE-Version: SMEX-12.5.0.5042-8.2.9001-23736.004 X-TMASE-POSTMAN: 2-d; X-MTK: N Sender: linux-rtc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rtc@vger.kernel.org From: Sean Wang Add an entry for the MediaTek board level shutdown driver. Signed-off-by: Sean Wang --- MAINTAINERS | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index 1c13f29..863d1e3 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -8818,6 +8818,13 @@ S: Maintained F: drivers/net/dsa/mt7530.* F: net/dsa/tag_mtk.c +MEDIATEK BOARD LEVEL SHUTDOWN DRIVERS +M: Sean Wang +L: linux-pm@vger.kernel.org +S: Maintained +F: Documentation/devicetree/bindings/power/reset/mt6397-rtc-poweroff.txt +F: drivers/power/reset/mt6397-rtc-poweroff.c + MEDIATEK JPEG DRIVER M: Rick Chang M: Bin Liu