From patchwork Fri May 27 06:11:46 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Medad Young X-Patchwork-Id: 12863027 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0B9D0C433FE for ; Fri, 27 May 2022 06:12:11 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S244555AbiE0GMJ (ORCPT ); Fri, 27 May 2022 02:12:09 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34698 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231739AbiE0GME (ORCPT ); Fri, 27 May 2022 02:12:04 -0400 Received: from mail-pf1-x429.google.com (mail-pf1-x429.google.com [IPv6:2607:f8b0:4864:20::429]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 70DC12FE70; Thu, 26 May 2022 23:12:02 -0700 (PDT) Received: by mail-pf1-x429.google.com with SMTP id 202so3575064pfu.0; Thu, 26 May 2022 23:12:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=8BinpoYpAj5+YbnUMIdRgheWrCsfK9f4139iiy8RFN8=; b=Ph1+TPeEMT09c8HBfUKvJayGO1ZRgJnQBlCzXCsfq+839DhkXxXuJn/6t0JNT+5lJB 51u8g13pvMcv0rXgSFK52UmkxlKh1mNZHdu1qox51RBPF437ngDVe6nONFhDgrCsdeyc Wh/qToSCQO0xRfg5nnWffaEyrmyLGlUXtBEmuzRSR/akrco8t6lBdO+jWZ0khIU9g7+Z FWlsl+IFQXylMiiApjjy/gkGuDffBil8mCftlQrDxgGGwdfklEtpKKPB7zzglBmN2xCa v5V9ys+coOfbYndfJJNqf9q4OTixByAFvEf4aoKNJasjR+OhoZkbzCU7Ow4yAvWj2hpI Wk7A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=8BinpoYpAj5+YbnUMIdRgheWrCsfK9f4139iiy8RFN8=; b=E+hEdfYmftQUthL9vXhfDDTj0Mo8qqhhLnGYqike1yIZiA/HJfZWZVvlhZ3GiZsbkO bUdBODORNpw+lnv+VfnMQe7eRRpkNy7jCJlAYqjgpQYcWcp9YCIHlYsa7U8si7pOw2AO HMRytu9uqgHPCPby+C0bCNzUbsrgDotR5nwPKJ56JmicwjbO3JpLSubkNNctHvK425zq Jyx3dKh7HHlh9FVWq7uLgUl3l3CMsb3kxde9WAgzu9p8KlYx2Fv7QjWyuLo1VtimfHHY kPfpiZ08M2SMaItJldBZqdFk8Hw8T1DL3mY4UDd3OtxxD2NvVp+NEMTqsp2/xImuT5NW K9AA== X-Gm-Message-State: AOAM5333j3Nvpk4gRtuqAY1Y0cQM1hgXrhQMNG75rAhqxQD++3aFEAZx Dxy9C8pgRP4mG09CDeuueoY= X-Google-Smtp-Source: ABdhPJxqRj7nsyeEf+En0jTjo+qu1x20a6ZmFZCWE/zUeqBJaoQyepf4/CeF3pWEZmiRRUiN/edGQQ== X-Received: by 2002:a05:6a00:24cc:b0:50d:58bf:5104 with SMTP id d12-20020a056a0024cc00b0050d58bf5104mr42294078pfv.36.1653631921740; Thu, 26 May 2022 23:12:01 -0700 (PDT) Received: from localhost.localdomain ([116.89.143.231]) by smtp.gmail.com with ESMTPSA id b10-20020a1709027e0a00b0015e8d4eb2c2sm2636306plm.268.2022.05.26.23.11.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 26 May 2022 23:12:01 -0700 (PDT) From: medadyoung@gmail.com X-Google-Original-From: ctcchien@nuvoton.com To: rric@kernel.org, james.morse@arm.com, tony.luck@intel.com, mchehab@kernel.org, bp@alien8.de, robh+dt@kernel.org, benjaminfair@google.com, yuenn@google.com, venture@google.com, KWLIU@nuvoton.com, YSCHU@nuvoton.com, JJLIU0@nuvoton.com, KFTING@nuvoton.com, avifishman70@gmail.com, tmaimon77@gmail.com, tali.perry1@gmail.com, ctcchien@nuvoton.com Cc: linux-edac@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, openbmc@lists.ozlabs.org Subject: [PATCH v11 1/3] dt-bindings: edac: nuvoton: add NPCM memory controller Date: Fri, 27 May 2022 14:11:46 +0800 Message-Id: <20220527061148.14948-2-ctcchien@nuvoton.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220527061148.14948-1-ctcchien@nuvoton.com> References: <20220527061148.14948-1-ctcchien@nuvoton.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-edac@vger.kernel.org From: Medad CChien Document devicetree bindings for the Nuvoton BMC NPCM memory controller. Signed-off-by: Medad CChien Reviewed-by: Krzysztof Kozlowski --- .../edac/nuvoton,npcm-memory-controller.yaml | 62 +++++++++++++++++++ MAINTAINERS | 2 + 2 files changed, 64 insertions(+) create mode 100644 Documentation/devicetree/bindings/edac/nuvoton,npcm-memory-controller.yaml diff --git a/Documentation/devicetree/bindings/edac/nuvoton,npcm-memory-controller.yaml b/Documentation/devicetree/bindings/edac/nuvoton,npcm-memory-controller.yaml new file mode 100644 index 000000000000..a5c8d332d1c1 --- /dev/null +++ b/Documentation/devicetree/bindings/edac/nuvoton,npcm-memory-controller.yaml @@ -0,0 +1,62 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/edac/nuvoton,npcm-memory-controller.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Nuvoton NPCM Memory Controller + +maintainers: + - Medad CChien + - Stanley Chu + +description: | + The Nuvoton BMC SoC supports DDR4 memory with and without ECC (error + correction check). + + The memory controller supports single bit error correction, double bit + error detection (in-line ECC in which a section (1/8th) of the memory + device used to store data is used for ECC storage). + + Note, the bootloader must configure ECC mode for the memory controller. + +properties: + compatible: + enum: + - nuvoton,npcm750-memory-controller + - nuvoton,npcm845-memory-controller + + reg: + maxItems: 1 + + interrupts: + minItems: 1 + items: + - description: uncorrectable error interrupt + - description: correctable error interrupt + + interrupt-names: + minItems: 1 + items: + - const: ue + - const: ce + +required: + - compatible + - reg + - interrupts + +additionalProperties: false + +examples: + - | + #include + ahb { + #address-cells = <2>; + #size-cells = <2>; + mc: memory-controller@f0824000 { + compatible = "nuvoton,npcm750-memory-controller"; + reg = <0x0 0xf0824000 0x0 0x1000>; + interrupts = ; + }; + }; diff --git a/MAINTAINERS b/MAINTAINERS index 4383949ff654..7f832e6ed4e5 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2367,12 +2367,14 @@ L: openbmc@lists.ozlabs.org (moderated for non-subscribers) S: Supported F: Documentation/devicetree/bindings/*/*/*npcm* F: Documentation/devicetree/bindings/*/*npcm* +F: Documentation/devicetree/bindings/*/npcm-memory-controller.yaml F: arch/arm/boot/dts/nuvoton-npcm* F: arch/arm/mach-npcm/ F: drivers/*/*npcm* F: drivers/*/*/*npcm* F: include/dt-bindings/clock/nuvoton,npcm7xx-clock.h + ARM/NUVOTON WPCM450 ARCHITECTURE M: Jonathan Neuschäfer L: openbmc@lists.ozlabs.org (moderated for non-subscribers) From patchwork Fri May 27 06:11:47 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Medad Young X-Patchwork-Id: 12863028 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5C46FC433EF for ; Fri, 27 May 2022 06:12:13 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S244439AbiE0GML (ORCPT ); Fri, 27 May 2022 02:12:11 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35090 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S244573AbiE0GMJ (ORCPT ); Fri, 27 May 2022 02:12:09 -0400 Received: from mail-pj1-x102e.google.com (mail-pj1-x102e.google.com [IPv6:2607:f8b0:4864:20::102e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6B51B33A1B; Thu, 26 May 2022 23:12:07 -0700 (PDT) Received: by mail-pj1-x102e.google.com with SMTP id o9-20020a17090a0a0900b001df3fc52ea7so6285856pjo.3; Thu, 26 May 2022 23:12:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=+4CVCMjz+0suAt8V5Y2817Osc9g0YmAmWa1n3bUS86Y=; b=lmx3tX9k6AOSJoTkQGbpLdrtvI5ZaVwsxfP8bjVoTWLSo1dHqzIeYMJRHxhuk0UJT+ gBjA2TGNxuz/p2KTF/x+Tcg0akDRYfKBeBc6Jt6UBetR45v0/ZLVkXhI7pK/xG9fynEK DU04BZDDEE4e2R66ds4FvQsDr/5pW3D1wTcCbopRTWTCWk8NE7f6mQqgICtPonOwvUKF WSzPseu2Aqv/1rpB81PkZ8b+z4f4NbRYt4+NBs/jYsu0nGrzTmgPR+m92u1gjUxb3PFd wb2KIEuBDEpdhA91CF7JrEGR7NRs5oIfiH+ap/jdB8T24hVIjwoTrGZI+xrqatKuK5+U SiGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=+4CVCMjz+0suAt8V5Y2817Osc9g0YmAmWa1n3bUS86Y=; b=N+1zOwEMf9Tj8/MrKlMvGjv6BnkCjMx9KlxmJFD2QirQGQ/uFlU7xt1bDiPNVv5dnV PNwku9glXVcURmgj3rR44CCo1NGy/5PY/w7QN27i2Wer7s243HIE8kzBjbMaA8LD8V16 LLHkn1+qyZA/iRMRNHJCUVDuH52dGnVv/jWdE6/4FH+l/Gz73cOWXsNJ1T44342lLrKq AHinOBkk+1F+Rf+pUKAMwZPZG29tdVOjJ6glXnpdd5rlqyVMxzScUB10vuPPX1OjkiIn vUgDF2NdzBpYyP5unkR+0HZpuRXewHDZ8xfAvoZ3JTT8/xgbBs9nGs7OKjYl07nGdMKV O8mg== X-Gm-Message-State: AOAM531SZ0ijqjMHneZSNBVs4dvGcRM4n1q/Hafdbgw5ED2cxllYRDIw Bec/lChiSdIsz8aHjE9dNXs= X-Google-Smtp-Source: ABdhPJwtkCLtZ2CB5urQeAYdWHsx1ni1FVx1r1wiewSN4VgwYDNIbHlVcbXShbFrKd0rLdmjAGETgg== X-Received: by 2002:a17:902:d501:b0:162:4f2d:d32f with SMTP id b1-20020a170902d50100b001624f2dd32fmr14935527plg.6.1653631926577; Thu, 26 May 2022 23:12:06 -0700 (PDT) Received: from localhost.localdomain ([116.89.143.231]) by smtp.gmail.com with ESMTPSA id b10-20020a1709027e0a00b0015e8d4eb2c2sm2636306plm.268.2022.05.26.23.12.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 26 May 2022 23:12:06 -0700 (PDT) From: medadyoung@gmail.com X-Google-Original-From: ctcchien@nuvoton.com To: rric@kernel.org, james.morse@arm.com, tony.luck@intel.com, mchehab@kernel.org, bp@alien8.de, robh+dt@kernel.org, benjaminfair@google.com, yuenn@google.com, venture@google.com, KWLIU@nuvoton.com, YSCHU@nuvoton.com, JJLIU0@nuvoton.com, KFTING@nuvoton.com, avifishman70@gmail.com, tmaimon77@gmail.com, tali.perry1@gmail.com, ctcchien@nuvoton.com Cc: linux-edac@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, openbmc@lists.ozlabs.org Subject: [PATCH v11 2/3] ARM: dts: nuvoton: Add memory controller node Date: Fri, 27 May 2022 14:11:47 +0800 Message-Id: <20220527061148.14948-3-ctcchien@nuvoton.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220527061148.14948-1-ctcchien@nuvoton.com> References: <20220527061148.14948-1-ctcchien@nuvoton.com> Precedence: bulk List-ID: X-Mailing-List: linux-edac@vger.kernel.org From: Medad CChien ECC must be configured in the BootBlock header. Then, you can read error counts via the EDAC kernel framework. Signed-off-by: Medad CChien --- arch/arm/boot/dts/nuvoton-common-npcm7xx.dtsi | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/arch/arm/boot/dts/nuvoton-common-npcm7xx.dtsi b/arch/arm/boot/dts/nuvoton-common-npcm7xx.dtsi index 3696980a3da1..ba542b26941e 100644 --- a/arch/arm/boot/dts/nuvoton-common-npcm7xx.dtsi +++ b/arch/arm/boot/dts/nuvoton-common-npcm7xx.dtsi @@ -106,6 +106,13 @@ interrupt-parent = <&gic>; ranges; + mc: memory-controller@f0824000 { + compatible = "nuvoton,npcm750-memory-controller"; + reg = <0x0 0xf0824000 0x0 0x1000>; + interrupts = ; + status = "disabled"; + }; + rstc: rstc@f0801000 { compatible = "nuvoton,npcm750-reset"; reg = <0xf0801000 0x70>; From patchwork Fri May 27 06:11:48 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Medad Young X-Patchwork-Id: 12863029 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id B9BE1C433EF for ; Fri, 27 May 2022 06:12:17 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S244601AbiE0GMO (ORCPT ); Fri, 27 May 2022 02:12:14 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35330 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S244442AbiE0GMN (ORCPT ); Fri, 27 May 2022 02:12:13 -0400 Received: from mail-pj1-x102e.google.com (mail-pj1-x102e.google.com [IPv6:2607:f8b0:4864:20::102e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CCC7E33A3D; Thu, 26 May 2022 23:12:11 -0700 (PDT) Received: by mail-pj1-x102e.google.com with SMTP id m14-20020a17090a414e00b001df77d29587so6290985pjg.2; Thu, 26 May 2022 23:12:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ZAlldb2wH2bL38lLFGDzvhlgJH9fckgtEngrU/7mnKQ=; b=JUte5ROejFtPr4qcj9S5BngrYLpd98aiXliHpX+d4/ctRXhVkplCZ5C+ILFzDL+OeB StZwgR3GjGUh/ikekEYPkxByrC+khZUXMQ3aSqK60yGXDD/oZWEGGKVn9R9atD9z/PRp 14JU7/fCj/sAHJqDdJ/gG9TUlWpdYkOSXMC2iNk6y+Afb5XDfLDlA5q4vS6b9fmn7GNW 16rC9PBNdA4HXVKH682gwJu42pn7ac9hChjE4dTKjDO0lB6qOWNsEQwxDaOxjWMW27lI QOVz4ZZ59xFGbmXPF4qK79HbsHS7CFUuMQ6lpiqlyLQM43WjrksO2DMH/HDQSwcBeCDv JeBA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ZAlldb2wH2bL38lLFGDzvhlgJH9fckgtEngrU/7mnKQ=; b=2LZ2L13FXmN0c1WU0swN5UUinjOVHNEJ0QV34FQ7tYWvKXeKCxRX+RVjqrsSFBmxq9 jF8gDb1m9yPnf7aYCeM3EipVDtas4cfXN1AU/QX1fIeiYQHwWoNIAzbPVK+rLvVVA8rS h+WiJ1nn8s2KTDuKKAj9c5v+/WK2qkE7wNvZc/EFn+m767xBwVp6V7lCwjVhrFyqjIjh RvAx550C45IBrWs0ywaVonfBI3wwGaLaSh8YaBZJUkPg9LI/OuDEr2FjK5DS0AxCVDHU oTLIiKLyxzERMgu0sdLDRC71Wg3++Ha6EotcfMgD7rM1fb54C1xjlYp4CUfIQRqkcOw0 +O8Q== X-Gm-Message-State: AOAM5335PAk9d9b02exhGhdtuanVy1C/Niodo+gyqSEvNawrSIwhUHES iNQoOjwUf5gQcJmcnbizDEQ= X-Google-Smtp-Source: ABdhPJxey0GCdTYlVG9dNz8UlMSy7COIPK6OHN3MZarfjSP3vxb/SqLZLCqan9vfGYZy4t/qM5kqXw== X-Received: by 2002:a17:90b:3192:b0:1df:7b5a:2047 with SMTP id hc18-20020a17090b319200b001df7b5a2047mr6601246pjb.138.1653631931252; Thu, 26 May 2022 23:12:11 -0700 (PDT) Received: from localhost.localdomain ([116.89.143.231]) by smtp.gmail.com with ESMTPSA id b10-20020a1709027e0a00b0015e8d4eb2c2sm2636306plm.268.2022.05.26.23.12.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 26 May 2022 23:12:10 -0700 (PDT) From: medadyoung@gmail.com X-Google-Original-From: ctcchien@nuvoton.com To: rric@kernel.org, james.morse@arm.com, tony.luck@intel.com, mchehab@kernel.org, bp@alien8.de, robh+dt@kernel.org, benjaminfair@google.com, yuenn@google.com, venture@google.com, KWLIU@nuvoton.com, YSCHU@nuvoton.com, JJLIU0@nuvoton.com, KFTING@nuvoton.com, avifishman70@gmail.com, tmaimon77@gmail.com, tali.perry1@gmail.com, ctcchien@nuvoton.com Cc: linux-edac@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, openbmc@lists.ozlabs.org Subject: [PATCH v11 3/3] EDAC: nuvoton: Add NPCM memory controller driver Date: Fri, 27 May 2022 14:11:48 +0800 Message-Id: <20220527061148.14948-4-ctcchien@nuvoton.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220527061148.14948-1-ctcchien@nuvoton.com> References: <20220527061148.14948-1-ctcchien@nuvoton.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-edac@vger.kernel.org From: Medad CChien Add memory controller support for Nuvoton NPCM SoC. Note: you can force an ecc event by writing a string to edac sysfs node and remember to define CONFIG_EDAC_DEBUG to enable this feature example: force a correctable event on checkcode bit 0 echo "CE checkcode 0" to below path /sys/devices/system/edac/mc/mc0/forced_ecc_error Datasheet: Cadence DDR Controller Register Reference Manual For DDR4 Memories Chapter 2: Detailed Register Map Signed-off-by: Medad CChien --- MAINTAINERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index 7f832e6ed4e5..8919fb83f485 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2372,9 +2372,9 @@ F: arch/arm/boot/dts/nuvoton-npcm* F: arch/arm/mach-npcm/ F: drivers/*/*npcm* F: drivers/*/*/*npcm* +F: drivers/edac/npcm_edac.c b/drivers/edac/npcm_edac.c F: include/dt-bindings/clock/nuvoton,npcm7xx-clock.h - ARM/NUVOTON WPCM450 ARCHITECTURE M: Jonathan Neuschäfer L: openbmc@lists.ozlabs.org (moderated for non-subscribers)