From patchwork Mon Aug 23 16:31:37 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: WANG Xuerui X-Patchwork-Id: 1519834 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=linux-rtc-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=xen0n.name header.i=@xen0n.name header.a=rsa-sha256 header.s=mail header.b=W8ka+OyN; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4GtdHP2WwNz9sT6 for ; Tue, 24 Aug 2021 02:39:13 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230360AbhHWQjw (ORCPT ); Mon, 23 Aug 2021 12:39:52 -0400 Received: from [115.28.160.31] ([115.28.160.31]:50520 "EHLO mailbox.box.xen0n.name" rhost-flags-FAIL-FAIL-OK-OK) by vger.kernel.org with ESMTP id S230124AbhHWQjt (ORCPT ); Mon, 23 Aug 2021 12:39:49 -0400 Received: from ld50.lan (unknown [101.88.30.186]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by mailbox.box.xen0n.name (Postfix) with ESMTPSA id E9D6360112; Tue, 24 Aug 2021 00:31:48 +0800 (CST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=xen0n.name; s=mail; t=1629736309; bh=XDI8uDsFMGi3xC8Agpe2gLdI2VQHmoexS4jDfBEuE7A=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=W8ka+OyN8OKHn/FyR+/OZaEiReEIbq/1Mn4/gIKqvXzg8IS6QgLExe0nKgwzr/1jm eQnR+pv02e5WZfDjGgGkYe5keMc0WjEG/wKXfVPVm8yylL/7aOiRbzD5cxfSK/Yp/i IoOGRQul8iqgfe6XjUeFUKyfkUe6yvZQN1xiiKbI= From: WANG Xuerui To: linux-rtc@vger.kernel.org Cc: WANG Xuerui , Huacai Chen , Jiaxun Yang , Alexandre Belloni , devicetree@vger.kernel.org, linux-mips@vger.kernel.org Subject: [PATCH RESEND v5 1/6] rtc: ls2x: Add support for the Loongson-2K/LS7A RTC Date: Tue, 24 Aug 2021 00:31:37 +0800 Message-Id: <20210823163142.586529-2-git@xen0n.name> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20210823163142.586529-1-git@xen0n.name> References: <20210823163142.586529-1-git@xen0n.name> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-rtc@vger.kernel.org This RTC module is integrated into the Loongson-2K SoC and the LS7A bridge chip. This version is almost entirely rewritten to make use of current kernel API. Signed-off-by: Huacai Chen Signed-off-by: WANG Xuerui Tested-by: Jiaxun Yang # loongson2k Cc: Alexandre Belloni Cc: devicetree@vger.kernel.org Cc: linux-mips@vger.kernel.org Reviewed-by: Nobuhiro Iwamatsu --- drivers/rtc/Kconfig | 11 +++ drivers/rtc/Makefile | 1 + drivers/rtc/rtc-ls2x.c | 180 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 192 insertions(+) create mode 100644 drivers/rtc/rtc-ls2x.c diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig index daff06707455..819f366b4d91 100644 --- a/drivers/rtc/Kconfig +++ b/drivers/rtc/Kconfig @@ -1313,6 +1313,17 @@ config RTC_DRV_NTXEC embedded controller found in certain e-book readers designed by the original design manufacturer Netronix. +config RTC_DRV_LS2X + tristate "Loongson LS2X RTC" + depends on OF && MACH_LOONGSON64 || COMPILE_TEST + select REGMAP_MMIO + help + If you say yes here you get support for the RTC on the Loongson-2K + SoC and LS7A bridge, which first appeared on the Loongson-2H. + + This driver can also be built as a module. If so, the module + will be called rtc-ls2x. + comment "on-CPU RTC drivers" config RTC_DRV_ASM9260 diff --git a/drivers/rtc/Makefile b/drivers/rtc/Makefile index 5ceeafe4d5b2..98e68484f519 100644 --- a/drivers/rtc/Makefile +++ b/drivers/rtc/Makefile @@ -83,6 +83,7 @@ obj-$(CONFIG_RTC_DRV_LOONGSON1) += rtc-ls1x.o obj-$(CONFIG_RTC_DRV_LP8788) += rtc-lp8788.o obj-$(CONFIG_RTC_DRV_LPC24XX) += rtc-lpc24xx.o obj-$(CONFIG_RTC_DRV_LPC32XX) += rtc-lpc32xx.o +obj-$(CONFIG_RTC_DRV_LS2X) += rtc-ls2x.o obj-$(CONFIG_RTC_DRV_M41T80) += rtc-m41t80.o obj-$(CONFIG_RTC_DRV_M41T93) += rtc-m41t93.o obj-$(CONFIG_RTC_DRV_M41T94) += rtc-m41t94.o diff --git a/drivers/rtc/rtc-ls2x.c b/drivers/rtc/rtc-ls2x.c new file mode 100644 index 000000000000..58901323b219 --- /dev/null +++ b/drivers/rtc/rtc-ls2x.c @@ -0,0 +1,180 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Loongson-2K/7A RTC driver + * + * Based on the original out-of-tree Loongson-2H RTC driver for Linux 2.6.32, + * by Shaozong Liu . + * + * Maintained out-of-tree by Huacai Chen . + * + * Rewritten for mainline by WANG Xuerui . + */ + +#include +#include +#include +#include +#include +#include + +#define TOY_TRIM_REG 0x20 +#define TOY_WRITE0_REG 0x24 +#define TOY_WRITE1_REG 0x28 +#define TOY_READ0_REG 0x2c +#define TOY_READ1_REG 0x30 +#define TOY_MATCH0_REG 0x34 +#define TOY_MATCH1_REG 0x38 +#define TOY_MATCH2_REG 0x3c +#define RTC_CTRL_REG 0x40 +#define RTC_TRIM_REG 0x60 +#define RTC_WRITE0_REG 0x64 +#define RTC_READ0_REG 0x68 +#define RTC_MATCH0_REG 0x6c +#define RTC_MATCH1_REG 0x70 +#define RTC_MATCH2_REG 0x74 + +#define TOY_MON GENMASK(31, 26) +#define TOY_DAY GENMASK(25, 21) +#define TOY_HOUR GENMASK(20, 16) +#define TOY_MIN GENMASK(15, 10) +#define TOY_SEC GENMASK(9, 4) +#define TOY_MSEC GENMASK(3, 0) + +struct ls2x_rtc_priv { + struct regmap *regmap; +}; + +static const struct regmap_config ls2x_rtc_regmap_config = { + .reg_bits = 32, + .val_bits = 32, + .reg_stride = 4, +}; + +struct ls2x_rtc_regs { + u32 reg0; + u32 reg1; +}; + +static inline void ls2x_rtc_regs_to_time(struct ls2x_rtc_regs *regs, + struct rtc_time *tm) +{ + tm->tm_year = regs->reg1; + tm->tm_sec = FIELD_GET(TOY_SEC, regs->reg0); + tm->tm_min = FIELD_GET(TOY_MIN, regs->reg0); + tm->tm_hour = FIELD_GET(TOY_HOUR, regs->reg0); + tm->tm_mday = FIELD_GET(TOY_DAY, regs->reg0); + tm->tm_mon = FIELD_GET(TOY_MON, regs->reg0) - 1; +} + +static inline void ls2x_rtc_time_to_regs(struct rtc_time *tm, + struct ls2x_rtc_regs *regs) +{ + regs->reg0 = FIELD_PREP(TOY_SEC, tm->tm_sec); + regs->reg0 |= FIELD_PREP(TOY_MIN, tm->tm_min); + regs->reg0 |= FIELD_PREP(TOY_HOUR, tm->tm_hour); + regs->reg0 |= FIELD_PREP(TOY_DAY, tm->tm_mday); + regs->reg0 |= FIELD_PREP(TOY_MON, tm->tm_mon + 1); + regs->reg1 = tm->tm_year; +} + +static int ls2x_rtc_read_time(struct device *dev, struct rtc_time *tm) +{ + struct ls2x_rtc_priv *priv = dev_get_drvdata(dev); + struct ls2x_rtc_regs regs; + int ret; + + ret = regmap_read(priv->regmap, TOY_READ1_REG, ®s.reg1); + if (unlikely(ret)) + return ret; + + ret = regmap_read(priv->regmap, TOY_READ0_REG, ®s.reg0); + if (unlikely(ret)) + return ret; + + ls2x_rtc_regs_to_time(®s, tm); + + return 0; +} + +static int ls2x_rtc_set_time(struct device *dev, struct rtc_time *tm) +{ + struct ls2x_rtc_priv *priv = dev_get_drvdata(dev); + struct ls2x_rtc_regs regs; + int ret; + + ls2x_rtc_time_to_regs(tm, ®s); + + ret = regmap_write(priv->regmap, TOY_WRITE0_REG, regs.reg0); + if (unlikely(ret)) + return ret; + + return regmap_write(priv->regmap, TOY_WRITE1_REG, regs.reg1); +} + +static struct rtc_class_ops ls2x_rtc_ops = { + .read_time = ls2x_rtc_read_time, + .set_time = ls2x_rtc_set_time, +}; + +static int ls2x_rtc_probe(struct platform_device *pdev) +{ + struct device *dev = &pdev->dev; + struct rtc_device *rtc; + struct ls2x_rtc_priv *priv; + void __iomem *regs; + + priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL); + if (unlikely(!priv)) + return -ENOMEM; + + platform_set_drvdata(pdev, priv); + + regs = devm_platform_ioremap_resource(pdev, 0); + if (IS_ERR(regs)) + return PTR_ERR(regs); + + priv->regmap = devm_regmap_init_mmio(dev, regs, + &ls2x_rtc_regmap_config); + if (IS_ERR(priv->regmap)) + return PTR_ERR(priv->regmap); + + rtc = devm_rtc_allocate_device(dev); + if (IS_ERR(rtc)) + return PTR_ERR(rtc); + + rtc->ops = &ls2x_rtc_ops; + + /* Due to hardware erratum, all years multiple of 4 are considered + * leap year, so only years 2000 through 2099 are usable. + * + * Previous out-of-tree versions of this driver wrote tm_year directly + * into the year register, so epoch 2000 must be used to preserve + * semantics on shipped systems. + */ + rtc->range_min = RTC_TIMESTAMP_BEGIN_2000; + rtc->range_max = RTC_TIMESTAMP_END_2099; + + return devm_rtc_register_device(rtc); +} + +static const struct of_device_id ls2x_rtc_of_match[] = { + { .compatible = "loongson,ls2x-rtc" }, + { /* sentinel */ }, +}; +MODULE_DEVICE_TABLE(of, ls2x_rtc_of_match); + +static struct platform_driver ls2x_rtc_driver = { + .probe = ls2x_rtc_probe, + .driver = { + .name = "ls2x-rtc", + .of_match_table = ls2x_rtc_of_match, + }, +}; + +module_platform_driver(ls2x_rtc_driver); + +MODULE_DESCRIPTION("LS2X RTC driver"); +MODULE_AUTHOR("WANG Xuerui"); +MODULE_AUTHOR("Huacai Chen"); +MODULE_LICENSE("GPL"); +MODULE_ALIAS("platform:ls2x-rtc"); From patchwork Mon Aug 23 16:31:38 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: WANG Xuerui X-Patchwork-Id: 1519832 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=linux-rtc-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=xen0n.name header.i=@xen0n.name header.a=rsa-sha256 header.s=mail header.b=rHbRd+o+; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4GtdHM5NzCz9sX3 for ; Tue, 24 Aug 2021 02:39:11 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230192AbhHWQjt (ORCPT ); Mon, 23 Aug 2021 12:39:49 -0400 Received: from [115.28.160.31] ([115.28.160.31]:50524 "EHLO mailbox.box.xen0n.name" rhost-flags-FAIL-FAIL-OK-OK) by vger.kernel.org with ESMTP id S229454AbhHWQjs (ORCPT ); Mon, 23 Aug 2021 12:39:48 -0400 Received: from ld50.lan (unknown [101.88.30.186]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by mailbox.box.xen0n.name (Postfix) with ESMTPSA id 05C4160117; Tue, 24 Aug 2021 00:31:50 +0800 (CST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=xen0n.name; s=mail; t=1629736310; bh=x9STX1vhrJZqW92RYjIG3Cv6d/K5dCeqO4cHgVrF4kw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=rHbRd+o+ZCBbthfKm8x8e0E4cN9cnbFsJJot8IVHM6F7bqaCjpDBJFIHcj5UNkQ/o wu206LoZr0qIE3zJTyn68xDo15TrFTLa9VtgVCGtVW2G6HdU5EvTlWr0MLD0+h/moD Pt53ZfK+7kMVfgBUA95lnK8IBCy8h/9cz9qEmTxs= From: WANG Xuerui To: linux-rtc@vger.kernel.org Cc: WANG Xuerui , Rob Herring , Rob Herring , Huacai Chen , devicetree@vger.kernel.org, linux-mips@vger.kernel.org Subject: [PATCH RESEND v5 2/6] dt-bindings: rtc: Add bindings for LS2X RTC Date: Tue, 24 Aug 2021 00:31:38 +0800 Message-Id: <20210823163142.586529-3-git@xen0n.name> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20210823163142.586529-1-git@xen0n.name> References: <20210823163142.586529-1-git@xen0n.name> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-rtc@vger.kernel.org Document the binding for the LS2X RTC block found on the Loongson-2K SoC and the LS7A bridge, originally appearing on the Loongson-2H. Signed-off-by: WANG Xuerui Acked-by: Rob Herring Cc: Rob Herring Cc: Huacai Chen Cc: devicetree@vger.kernel.org Cc: linux-mips@vger.kernel.org --- Documentation/devicetree/bindings/rtc/trivial-rtc.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Documentation/devicetree/bindings/rtc/trivial-rtc.yaml b/Documentation/devicetree/bindings/rtc/trivial-rtc.yaml index 13925bb78ec7..64f7e81e7043 100644 --- a/Documentation/devicetree/bindings/rtc/trivial-rtc.yaml +++ b/Documentation/devicetree/bindings/rtc/trivial-rtc.yaml @@ -45,6 +45,8 @@ properties: - isil,isl1218 # Intersil ISL12022 Real-time Clock - isil,isl12022 + # Loongson LS2X RTC + - loongson,ls2x-rtc # Real Time Clock Module with I2C-Bus - microcrystal,rv3028 # Real Time Clock Module with I2C-Bus From patchwork Mon Aug 23 16:31:39 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: WANG Xuerui X-Patchwork-Id: 1519829 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=linux-rtc-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=xen0n.name header.i=@xen0n.name header.a=rsa-sha256 header.s=mail header.b=Id9CuyR6; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4GtdHK2rVlz9sWq for ; Tue, 24 Aug 2021 02:39:09 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230162AbhHWQjr (ORCPT ); Mon, 23 Aug 2021 12:39:47 -0400 Received: from [115.28.160.31] ([115.28.160.31]:50508 "EHLO mailbox.box.xen0n.name" rhost-flags-FAIL-FAIL-OK-OK) by vger.kernel.org with ESMTP id S229962AbhHWQjq (ORCPT ); Mon, 23 Aug 2021 12:39:46 -0400 X-Greylist: delayed 434 seconds by postgrey-1.27 at vger.kernel.org; Mon, 23 Aug 2021 12:39:45 EDT Received: from ld50.lan (unknown [101.88.30.186]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by mailbox.box.xen0n.name (Postfix) with ESMTPSA id ED36160124; Tue, 24 Aug 2021 00:31:50 +0800 (CST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=xen0n.name; s=mail; t=1629736311; bh=n/bXyaMwH2pU8NoCSXDTclq26ik/VpjG92P83AgT0Xs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Id9CuyR6GjcFppv5eONuPeslFYpuNXrAkZYVqnxM0ly+5MjlBl6LLIPqM4OtdrBld rlvG/meXtv0J9piIAt6XZyxurvSPIaaIB+t6o94CEZXu9P25dQmXSY2GDAUZcttaE5 /NaoHZrMt7CmYDOsUeLvskACuUFkDZ5xrSPxP4Sc= From: WANG Xuerui To: linux-rtc@vger.kernel.org Cc: WANG Xuerui , Jiaxun Yang , Rob Herring , Thomas Bogendoerfer , Qing Zhang , Tiezhu Yang , zhaoxiao , devicetree@vger.kernel.org, linux-mips@vger.kernel.org Subject: [PATCH RESEND v5 3/6] MIPS: Loongson64: DTS: Add RTC support to LS7A Date: Tue, 24 Aug 2021 00:31:39 +0800 Message-Id: <20210823163142.586529-4-git@xen0n.name> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20210823163142.586529-1-git@xen0n.name> References: <20210823163142.586529-1-git@xen0n.name> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-rtc@vger.kernel.org The LS7A RTC module is now supported, enable it. Signed-off-by: WANG Xuerui Acked-by: Jiaxun Yang Cc: Rob Herring Cc: Thomas Bogendoerfer Cc: Qing Zhang Cc: Tiezhu Yang Cc: zhaoxiao Cc: devicetree@vger.kernel.org Cc: linux-mips@vger.kernel.org --- arch/mips/boot/dts/loongson/ls7a-pch.dtsi | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/arch/mips/boot/dts/loongson/ls7a-pch.dtsi b/arch/mips/boot/dts/loongson/ls7a-pch.dtsi index 2f45fce2cdc4..82035de4774f 100644 --- a/arch/mips/boot/dts/loongson/ls7a-pch.dtsi +++ b/arch/mips/boot/dts/loongson/ls7a-pch.dtsi @@ -19,6 +19,11 @@ pic: interrupt-controller@10000000 { #interrupt-cells = <2>; }; + rtc0: rtc@100d0100 { + compatible = "loongson,ls2x-rtc"; + reg = <0 0x100d0100 0 0x78>; + }; + ls7a_uart0: serial@10080000 { compatible = "ns16550a"; reg = <0 0x10080000 0 0x100>; From patchwork Mon Aug 23 16:31:40 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: WANG Xuerui X-Patchwork-Id: 1519835 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=linux-rtc-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=xen0n.name header.i=@xen0n.name header.a=rsa-sha256 header.s=mail header.b=YeBFDY03; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4GtdHQ0HTrz9sWq for ; Tue, 24 Aug 2021 02:39:14 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229454AbhHWQjx (ORCPT ); Mon, 23 Aug 2021 12:39:53 -0400 Received: from [115.28.160.31] ([115.28.160.31]:50522 "EHLO mailbox.box.xen0n.name" rhost-flags-FAIL-FAIL-OK-OK) by vger.kernel.org with ESMTP id S230174AbhHWQju (ORCPT ); Mon, 23 Aug 2021 12:39:50 -0400 Received: from ld50.lan (unknown [101.88.30.186]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by mailbox.box.xen0n.name (Postfix) with ESMTPSA id C35096012C; Tue, 24 Aug 2021 00:31:51 +0800 (CST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=xen0n.name; s=mail; t=1629736312; bh=qpAnScgPwqn8ve3G4zCzZbEzb9Q72hJJphj8MfLBmek=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=YeBFDY03/ICFADd+o4dE2+nFOSerho30dWwKRM5hRSmDlCh09Ow0mDuGwIxl0L8Su 7kPgj00xCuhl5bV8nbdfDExAba3NyGS2J5iKf+Hu4mP8QBvMCvmYlzJoWc5fuEgXR2 FP7vDjQ4VrQfWY57dG/OZ/1s0cSAPXvBxMX02pEY= From: WANG Xuerui To: linux-rtc@vger.kernel.org Cc: WANG Xuerui , Thomas Bogendoerfer , Huacai Chen , Tiezhu Yang , Youling Tang , Qing Zhang , linux-mips@vger.kernel.org Subject: [PATCH RESEND v5 4/6] MIPS: Loongson: Enable LS2X RTC in loongson3_defconfig Date: Tue, 24 Aug 2021 00:31:40 +0800 Message-Id: <20210823163142.586529-5-git@xen0n.name> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20210823163142.586529-1-git@xen0n.name> References: <20210823163142.586529-1-git@xen0n.name> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-rtc@vger.kernel.org This is now supported, enable for Loongson-3 systems. Other systems are unaffected. Signed-off-by: WANG Xuerui Cc: Thomas Bogendoerfer Cc: Huacai Chen Cc: Tiezhu Yang Cc: Youling Tang Cc: Qing Zhang Cc: linux-mips@vger.kernel.org --- arch/mips/configs/loongson3_defconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/mips/configs/loongson3_defconfig b/arch/mips/configs/loongson3_defconfig index f02101ff04b3..fccb6906d4b4 100644 --- a/arch/mips/configs/loongson3_defconfig +++ b/arch/mips/configs/loongson3_defconfig @@ -320,6 +320,7 @@ CONFIG_USB_SERIAL_OPTION=m CONFIG_RTC_CLASS=y CONFIG_RTC_DRV_CMOS=y CONFIG_RTC_DRV_GOLDFISH=y +CONFIG_RTC_DRV_LS2X=y CONFIG_DMADEVICES=y CONFIG_VIRTIO_PCI=y CONFIG_VIRTIO_BALLOON=m From patchwork Mon Aug 23 16:31:41 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: WANG Xuerui X-Patchwork-Id: 1519833 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=linux-rtc-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=xen0n.name header.i=@xen0n.name header.a=rsa-sha256 header.s=mail header.b=gozOfegG; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4GtdHN4QP5z9sXN for ; Tue, 24 Aug 2021 02:39:12 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230225AbhHWQju (ORCPT ); Mon, 23 Aug 2021 12:39:50 -0400 Received: from [115.28.160.31] ([115.28.160.31]:50532 "EHLO mailbox.box.xen0n.name" rhost-flags-FAIL-FAIL-OK-OK) by vger.kernel.org with ESMTP id S229962AbhHWQju (ORCPT ); Mon, 23 Aug 2021 12:39:50 -0400 Received: from ld50.lan (unknown [101.88.30.186]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by mailbox.box.xen0n.name (Postfix) with ESMTPSA id 8FEA760130; Tue, 24 Aug 2021 00:31:52 +0800 (CST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=xen0n.name; s=mail; t=1629736312; bh=DPCQYyRloT+9gMDTjobkUPZF1BIgBb9DqryZdjnzCcc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=gozOfegG1jluhmPvtU7+PPD8W1r1u0kBMYbpzSEF/J08YiUHyGTRB/2PvQeUPNvM+ upaKgIZo4s0Ssw3F3z8Q9Y16WX82dTMWk7gIWNBgcn4Vu+z26c05iY3A6x/gXZmh4q L4f5eNBk5rlI2jvAQgp/OGFte3P/znGRfeEBcS5Q= From: WANG Xuerui To: linux-rtc@vger.kernel.org Cc: WANG Xuerui , Jiaxun Yang , Rob Herring , Thomas Bogendoerfer , Huacai Chen , Qing Zhang , Tiezhu Yang , zhaoxiao , devicetree@vger.kernel.org, linux-mips@vger.kernel.org Subject: [PATCH RESEND v5 5/6] MIPS: Loongson64: DTS: Add RTC support to Loongson-2K Date: Tue, 24 Aug 2021 00:31:41 +0800 Message-Id: <20210823163142.586529-6-git@xen0n.name> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20210823163142.586529-1-git@xen0n.name> References: <20210823163142.586529-1-git@xen0n.name> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-rtc@vger.kernel.org The Loongson-2K RTC module is now supported, enable it. The MMIO address is unclear from the Loongson 2K1000 user manual, I took it from Loongson's out-of-tree fork of Linux 4.19. Signed-off-by: WANG Xuerui Tested-by: Jiaxun Yang # loongson2k Cc: Rob Herring Cc: Thomas Bogendoerfer Cc: Huacai Chen Cc: Qing Zhang Cc: Tiezhu Yang Cc: zhaoxiao Cc: devicetree@vger.kernel.org Cc: linux-mips@vger.kernel.org --- arch/mips/boot/dts/loongson/loongson64-2k1000.dtsi | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/arch/mips/boot/dts/loongson/loongson64-2k1000.dtsi b/arch/mips/boot/dts/loongson/loongson64-2k1000.dtsi index bfc3d3243ee7..4a04e1dc5fda 100644 --- a/arch/mips/boot/dts/loongson/loongson64-2k1000.dtsi +++ b/arch/mips/boot/dts/loongson/loongson64-2k1000.dtsi @@ -52,6 +52,11 @@ package0: bus@10000000 { 0 0x40000000 0 0x40000000 0 0x40000000 0xfe 0x00000000 0xfe 0x00000000 0 0x40000000>; + rtc0: rtc@1fe07800 { + compatible = "loongson,ls2x-rtc"; + reg = <0 0x1fe07800 0 0x78>; + }; + liointc0: interrupt-controller@1fe11400 { compatible = "loongson,liointc-2.0"; reg = <0 0x1fe11400 0 0x40>, From patchwork Mon Aug 23 16:31:42 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: WANG Xuerui X-Patchwork-Id: 1519830 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=linux-rtc-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=xen0n.name header.i=@xen0n.name header.a=rsa-sha256 header.s=mail header.b=WRDDKPVX; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4GtdHK5Qxzz9sT6 for ; Tue, 24 Aug 2021 02:39:09 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230264AbhHWQjt (ORCPT ); Mon, 23 Aug 2021 12:39:49 -0400 Received: from [115.28.160.31] ([115.28.160.31]:50526 "EHLO mailbox.box.xen0n.name" rhost-flags-FAIL-FAIL-OK-OK) by vger.kernel.org with ESMTP id S230149AbhHWQjr (ORCPT ); Mon, 23 Aug 2021 12:39:47 -0400 Received: from ld50.lan (unknown [101.88.30.186]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by mailbox.box.xen0n.name (Postfix) with ESMTPSA id 8B9F260131; Tue, 24 Aug 2021 00:31:53 +0800 (CST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=xen0n.name; s=mail; t=1629736313; bh=csEujhwkRZrzuHB76h5qRwQuonezZFuzfVCaeB8i0fE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=WRDDKPVX4VaooJF+xtozec/6aygbCutaxVCmHNIjMnh6qeUWFlXqE4f+sBFqmjm1B 8XZaNhInzziMcYeS7v8aDjSbWoBwJ3epYtRCAmm0o2C8olxnpZmYeSxhObr1bt/rRl F0i50Q6dYUpwj6eOQkhF9qEKvVxE3XBRyBKkJ1xw= From: WANG Xuerui To: linux-rtc@vger.kernel.org Cc: WANG Xuerui , Jiaxun Yang , Huacai Chen , Tiezhu Yang , Qing Zhang , linux-mips@vger.kernel.org Subject: [PATCH RESEND v5 6/6] MIPS: Loongson: Enable LS2X RTC in loongson2k_defconfig Date: Tue, 24 Aug 2021 00:31:42 +0800 Message-Id: <20210823163142.586529-7-git@xen0n.name> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20210823163142.586529-1-git@xen0n.name> References: <20210823163142.586529-1-git@xen0n.name> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-rtc@vger.kernel.org This is now supported, enable for Loongson-2K systems. Other systems are unaffected. Signed-off-by: WANG Xuerui Tested-by: Jiaxun Yang # loongson2k Cc: Huacai Chen Cc: Tiezhu Yang Cc: Qing Zhang Cc: linux-mips@vger.kernel.org --- arch/mips/configs/loongson2k_defconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/mips/configs/loongson2k_defconfig b/arch/mips/configs/loongson2k_defconfig index e948ca487e2d..e15f34857956 100644 --- a/arch/mips/configs/loongson2k_defconfig +++ b/arch/mips/configs/loongson2k_defconfig @@ -280,6 +280,7 @@ CONFIG_USB_SERIAL=m CONFIG_USB_SERIAL_OPTION=m CONFIG_RTC_CLASS=y CONFIG_RTC_DRV_CMOS=y +CONFIG_RTC_DRV_LS2X=y CONFIG_DMADEVICES=y # CONFIG_CPU_HWMON is not set CONFIG_PM_DEVFREQ=y