Received: by 2002:a05:6a10:5bc5:0:0:0:0 with SMTP id os5csp1801041pxb; Mon, 11 Oct 2021 13:27:28 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxXHVzZn2eJNWBkuxhwjhCFB0SRHf2h60TcWyTgmNHnSXs7NQxGEm8Gz73LQhU59/Ety4V0 X-Received: by 2002:a17:90a:4dc6:: with SMTP id r6mr1261854pjl.5.1633984048007; Mon, 11 Oct 2021 13:27:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1633984048; cv=none; d=google.com; s=arc-20160816; b=eTwGm1VWErRGO4aUcuD6gtlOzYmxPx/OOn2b4W0LtDJ6xxV9iokHpjWZmdfMy9S0g/ TchEx6A9xj6li5W3n7Bi4QnXvAtVkvuZ7juCiYggTikoZsb4aH8+XQO1Eybyvk3div6U yswAjqTau7pv9hAy/O9DKbOP8rGZjEc1r16A/XcUhfspcraaxYLG1VGs/b6ye1d0ifkK RiB780oNPQz0neyRLDktipszlm0GZm821Q5Uccnv3cxp4emtr34Gk1oLfuZEoOCsj4n8 zzxZcnAkntNfzAAj9roDtGAct91+2pVLLgsvz7zDr+dLdKLWV4wof565/iXi0vxOa3dm S6ng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=nnSRTmuajqV78fwJP2LFtuaMEDpdUtqwpWo/bqgQdpA=; b=g5wJLPAoFu/Ubu/9nlmi8uRbWZXEgYrrVR3H5zKbn67GG/AG2kRsRSiKuzPXrjVRWH XXuqbI8kPGeipDyfTrsEKQnO5MsZ/FkzwEkEUz/RhphtsXUizi1Efy815g1pldb0TXHw iERgy2gczn138+2WgDjXWn7moaOAm64cOKTeL0MuuzTL94jpmZHlKESKiZdeaQBXS9Uw WFKSDSxDzH8SeiyQ48FPqzw5lwHlr0CdCiGpV/RvUHwfUY5K01gFxEcsXcQP7vOtq4zP uCbySTk8GPST9RgX2Oiq/P5rbJoczGOAdzcKUCDu9aUa/CuYcJfeO67IpexCiDcV5sqG yB1g== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id s15si760200pji.131.2021.10.11.13.27.14; Mon, 11 Oct 2021 13:27:27 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234975AbhJKU2O (ORCPT + 99 others); Mon, 11 Oct 2021 16:28:14 -0400 Received: from hostingweb31-40.netsons.net ([89.40.174.40]:40684 "EHLO hostingweb31-40.netsons.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234896AbhJKU2L (ORCPT ); Mon, 11 Oct 2021 16:28:11 -0400 Received: from [77.244.183.192] (port=65250 helo=melee.fritz.box) by hostingweb31.netsons.net with esmtpa (Exim 4.94.2) (envelope-from ) id 1ma1s8-00FUmk-SF; Mon, 11 Oct 2021 22:26:08 +0200 From: Luca Ceresoli To: linux-kernel@vger.kernel.org Cc: Luca Ceresoli , Lee Jones , Rob Herring , Alessandro Zummo , Alexandre Belloni , Chanwoo Choi , Krzysztof Kozlowski , Bartlomiej Zolnierkiewicz , Wim Van Sebroeck , Guenter Roeck , devicetree@vger.kernel.org, linux-rtc@vger.kernel.org, linux-watchdog@vger.kernel.org, Chiwoong Byun , Laxman Dewangan Subject: [PATCH 8/8] rtc: max77686: add MAX77714 support Date: Mon, 11 Oct 2021 22:25:50 +0200 Message-Id: <20211011155615.257529-9-luca@lucaceresoli.net> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20211011155615.257529-1-luca@lucaceresoli.net> References: <20211011155615.257529-1-luca@lucaceresoli.net> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - hostingweb31.netsons.net X-AntiAbuse: Original Domain - vger.kernel.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - lucaceresoli.net X-Get-Message-Sender-Via: hostingweb31.netsons.net: authenticated_id: luca+lucaceresoli.net/only user confirmed/virtual account not confirmed X-Authenticated-Sender: hostingweb31.netsons.net: luca@lucaceresoli.net X-Source: X-Source-Args: X-Source-Dir: Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The RTC included in the MAX77714 PMIC is very similar to the one in the MAX77686. Reuse the rtc-max77686.c driver with the minimum required changes for the MAX77714 RTC. Signed-off-by: Luca Ceresoli --- *** NOTE *** This patch didn't reach most recipients having hit a limit in my service provider (125 e-mails per hour). I'm resending it, as far as possible with proper message-id etc. Apologies for any duplicate. drivers/rtc/Kconfig | 2 +- drivers/rtc/rtc-max77686.c | 24 ++++++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig index e1bc5214494e..a73591ad292b 100644 --- a/drivers/rtc/Kconfig +++ b/drivers/rtc/Kconfig @@ -375,7 +375,7 @@ config RTC_DRV_MAX8997 config RTC_DRV_MAX77686 tristate "Maxim MAX77686" - depends on MFD_MAX77686 || MFD_MAX77620 || COMPILE_TEST + depends on MFD_MAX77686 || MFD_MAX77620 || MFD_MAX77714 || COMPILE_TEST help If you say yes here you will get support for the RTC of Maxim MAX77686/MAX77620/MAX77802 PMIC. diff --git a/drivers/rtc/rtc-max77686.c b/drivers/rtc/rtc-max77686.c index 9901c596998a..e6564bc2171e 100644 --- a/drivers/rtc/rtc-max77686.c +++ b/drivers/rtc/rtc-max77686.c @@ -19,6 +19,7 @@ #define MAX77686_I2C_ADDR_RTC (0x0C >> 1) #define MAX77620_I2C_ADDR_RTC 0x68 +#define MAX77714_I2C_ADDR_RTC 0x48 #define MAX77686_INVALID_I2C_ADDR (-1) /* Define non existing register */ @@ -203,6 +204,28 @@ static const struct max77686_rtc_driver_data max77686_drv_data = { .regmap_config = &max77686_rtc_regmap_config, }; +static const struct regmap_irq_chip max77714_rtc_irq_chip = { + .name = "max77714-rtc", + .status_base = MAX77686_RTC_INT, + .mask_base = MAX77686_RTC_INTM, + .num_regs = 1, + .irqs = max77686_rtc_irqs, + .num_irqs = ARRAY_SIZE(max77686_rtc_irqs) - 1, /* no WTSR on 77714 */ +}; + +static const struct max77686_rtc_driver_data max77714_drv_data = { + .delay = 16000, + .mask = 0x7f, + .map = max77686_map, + .alarm_enable_reg = false, + .rtc_irq_from_platform = false, + /* On MAX77714 RTCA1 is BIT 1 of RTCINT (0x00). Not supported by this driver. */ + .alarm_pending_status_reg = MAX77686_INVALID_REG, + .rtc_i2c_addr = MAX77714_I2C_ADDR_RTC, + .rtc_irq_chip = &max77714_rtc_irq_chip, + .regmap_config = &max77686_rtc_regmap_config, +}; + static const struct regmap_config max77620_rtc_regmap_config = { .reg_bits = 8, .val_bits = 8, @@ -846,6 +869,7 @@ static const struct platform_device_id rtc_id[] = { { "max77686-rtc", .driver_data = (kernel_ulong_t)&max77686_drv_data, }, { "max77802-rtc", .driver_data = (kernel_ulong_t)&max77802_drv_data, }, { "max77620-rtc", .driver_data = (kernel_ulong_t)&max77620_drv_data, }, + { "max77714-rtc", .driver_data = (kernel_ulong_t)&max77714_drv_data, }, {}, }; MODULE_DEVICE_TABLE(platform, rtc_id); -- 2.25.1