From patchwork Wed Feb 7 20:22:45 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: William Zhang X-Patchwork-Id: 20079 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7301:168b:b0:106:860b:bbdd with SMTP id ma11csp2558971dyb; Wed, 7 Feb 2024 15:08:59 -0800 (PST) X-Google-Smtp-Source: AGHT+IFWXPpOIoQdvJTGRGhfBN6YVeNxrmmEw1SIZLq9Wcm8f6jngwYANHTEdIvbyrzGNEaKvfHw X-Received: by 2002:a05:6358:ed15:b0:176:4e7d:f30e with SMTP id hy21-20020a056358ed1500b001764e7df30emr5119187rwb.14.1707347339040; Wed, 07 Feb 2024 15:08:59 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1707347338; cv=pass; d=google.com; s=arc-20160816; b=QTxweSHLutGsqnfHPn4g+Outgy2YdzgDQvZtcpcAzs+nZqsYPsNUVNSGU/U7rWzKuZ BipSs3Tud7C5aEpHrMD+2+kL6eX7iWzavnPVsK1UBjugYGhSPvLH/4REubTPYPpY4hfi vSEhS5ucnRDg6gk8GUXHKrX6Ud3AuD3qn9pocRALHTvNnS1ZVN12SYD2LPTlKAHGg43r b5L3YFOFmVXha/aH1EmHthvAPRQWhOBS6rG2ydYpenAjiOKXCrtkDxk45x+d/eHBGYKk fRgWO6ZXrz7bSayEC+1vJX220rGq2l0Jif+A4dTyeKJLvOWbiGJ5/OD9WTf2DnFi3pQT cCiw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:message-id:date:subject:cc:to :from:dkim-signature:dkim-filter; bh=s5dHdXiULxYJ93jm2EjppFp7lQfDYxjpvIU4TqgdJpg=; fh=oNz8BnKQk59zW8BtRIWQFHH6qUxRZrerZjr3vRgk9kA=; b=mSRNGe07hKvLOLBavCOzcrl47sRI8JLfTNKF6vQTR+5zpz3M8bls5p9mGzu+vGdiSP Wrd/ZRrLoLfMLhmnlfGGNoUF7De8pQiKF2h+0EBdq01IuvWLKh8XlNVzqfNEk6S8zu9K D8lCWd7tnwAxr/MPMU5Y7vsdl46vKiMEDea6hZBIi7rhlzcrZ1gf1PcWg4Vpsj9Lc2Hc 1jYaTItPZUWULefVibtJ6OratnBcnVmrKL79UuCxGZ/tgTHa/9dzk6NNiAzkPPAkAZzb Qfv6OaeDrjI1pjFtpSwQyOkP2ZCAMDk3rqa2mRYizmmas/aeIQv7HxZqal0+gb3RchJp p4tg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@broadcom.com header.s=dkimrelay header.b=VIZvOC2i; arc=pass (i=1 dkim=pass dkdomain=broadcom.com dmarc=pass fromdomain=broadcom.com); spf=pass (google.com: domain of linux-kernel+bounces-57010-ouuuleilei=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-57010-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=broadcom.com X-Forwarded-Encrypted: i=2; AJvYcCWGsv9XOW9A3Snh2ANUgPINouSxR3UyVMiK1WKdiwl0SWNocVLxNLnIoPYTJ7C+7FjcTtWxZOyhvW/IdshHONR5cEL3eQ== Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [139.178.88.99]) by mx.google.com with ESMTPS id bq10-20020a056a000e0a00b006e033b371b0si2613846pfb.133.2024.02.07.15.08.58 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 Feb 2024 15:08:58 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-57010-ouuuleilei=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) client-ip=139.178.88.99; Authentication-Results: mx.google.com; dkim=pass header.i=@broadcom.com header.s=dkimrelay header.b=VIZvOC2i; arc=pass (i=1 dkim=pass dkdomain=broadcom.com dmarc=pass fromdomain=broadcom.com); spf=pass (google.com: domain of linux-kernel+bounces-57010-ouuuleilei=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-57010-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=broadcom.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 995BF28700C for ; Wed, 7 Feb 2024 20:23:38 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 900FE127B4D; Wed, 7 Feb 2024 20:23:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b="VIZvOC2i" Received: from relay.smtp-ext.broadcom.com (unknown [192.19.166.228]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 889238286B; Wed, 7 Feb 2024 20:23:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.19.166.228 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1707337404; cv=none; b=LScyIK+l22bzpF9jgcChePc63A9nfMD56oqSAgNwrZ5CjVIVspEYZaRsGH8YL+lxfV+MUNmGoZSv2gr5QwK4IxI6ur3jMWDap4dtCEuv3/1aDU/+0b84bdxR9rh3AGIUNPN0wYCIeKpA/03/h9MKX5TQhWc1q+u3JCe7fS/CvJ4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1707337404; c=relaxed/simple; bh=t5MTZ6h/uF6MK783sntQUSeREsibdAMo9MkPq0iXWVc=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=STsK64UDRf+V5Ks/CuLEXtYZGDUR3x77dbSvvLYTrl2Yh6T0TLfUE3bihaJ+hONU8QUAQMRK1KPs8X2Qd3fk2JK1QaM3tMgCAQh10ZGOJ9AhLTcZzscNpHGR59Am2dmbywmqwb9vNCSU6tbrWqCM4OGso3JHZUnCnQ+lXa3zTsE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=broadcom.com; spf=fail smtp.mailfrom=broadcom.com; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b=VIZvOC2i; arc=none smtp.client-ip=192.19.166.228 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=broadcom.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=broadcom.com Received: from mail-lvn-it-01.lvn.broadcom.net (mail-lvn-it-01.lvn.broadcom.net [10.36.132.253]) by relay.smtp-ext.broadcom.com (Postfix) with ESMTP id 3FA82C0000DB; Wed, 7 Feb 2024 12:23:16 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.11.0 relay.smtp-ext.broadcom.com 3FA82C0000DB DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=broadcom.com; s=dkimrelay; t=1707337396; bh=t5MTZ6h/uF6MK783sntQUSeREsibdAMo9MkPq0iXWVc=; h=From:To:Cc:Subject:Date:From; b=VIZvOC2i/YjF/sD+9YF/0dVttV2NUp0AJm5wOUJ5AGqICArHyc+J+vXktZDpYzPLl SYC39A1Kcb5bz6UbtdPh4iDfbAqgv9da316SnbMqSVAP5JwLoF+Z5E/9I/QCSqlpCP 0yArxykypBhmgCDGONW6Fhv7kLMznW5Ukh2wXx50= Received: from bcacpedev-irv-3.lvn.broadcom.net (bcacpedev-irv-3.lvn.broadcom.net [10.173.232.202]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail-lvn-it-01.lvn.broadcom.net (Postfix) with ESMTPSA id B4A2318041CAC4; Wed, 7 Feb 2024 12:23:14 -0800 (PST) From: William Zhang To: Linux MTD List , Linux ARM List , Broadcom Kernel List Cc: f.fainelli@gmail.com, kursad.oney@broadcom.com, joel.peshkin@broadcom.com, anand.gore@broadcom.com, dregan@mail.com, kamal.dasu@broadcom.com, tomer.yacoby@broadcom.com, dan.beygelman@broadcom.com, William Zhang , Andre Przywara , Rob Herring , Kamal Dasu , Conor Dooley , Krzysztof Kozlowski , Miquel Raynal , =?utf-8?b?UmFmYcWCIE1pxYJlY2tp?= , Shawn Guo , David Regan , devicetree@vger.kernel.org, Alexandre TORGUE , Vignesh Raghavendra , Brian Norris , Florian Fainelli , linux-kernel@vger.kernel.org, Richard Weinberger Subject: [PATCH v5 00/12] mtd: rawnand: brcmnand: driver and doc updates Date: Wed, 7 Feb 2024 12:22:45 -0800 Message-Id: <20240207202257.271784-1-william.zhang@broadcom.com> X-Mailer: git-send-email 2.37.3 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1790283443295361321 X-GMAIL-MSGID: 1790283443295361321 This patch series is an update from the previous version [1] after exex_op support and fixes (patch 1 to 4 from the previous version.) It updates all the BCMBCA SoC to support the nand controller and add functions to handle BCMBCA specific needs on ECC and Write Protection usage. The device tree document is also updated accordingly with the new properties needed by the driver. In addition there is a bug fix for exec_op helper functions and log level adjustment on uncorrectable ECC error. [1] https://lore.kernel.org/lkml/20230606231252.94838-1-william.zhang@broadcom.com/ Changes in v5: - Add reviewed-by tag for the first patch of the yaml change - Update the description for the WP connection and strap ecc properties based on the feedbacks - Add check in dts binding to ensure the strap ecc property and core nand ecc property can not be used at the same time - Update the commit message for the log level change patch Changes in v4: - Split the yaml changes into three patches. - Move the WP pin property to a new patch and change it to boolean type. - Move ecc strap property to a new patch and remove some non-binding related text from the description - Add a new patch for bcm4908 based router board dts update - Move the board related dts setting from SoC dtsi to board dts - Update the comments for ecc setting selection - Use the new brcm,wp-not-connected property based on the dts binding change - Fix the commit id in the fixes tag - Revert the log level change for correctable ecc error Changes in v3: - Update brcm,nand-use-wp description - Revert the description change to BCM63168 SoC-specific NAND controller - Updated bcmbca_read_data_bus comment Changes in v2: - Revert the new compatible string nand-bcmbca - Drop the BCM63168 compatible fix to avoid any potential ABI incompatibility issue - Simplify the explanation for brcm,nand-use-wp - Keep the interrupt name requirement when interrupt number is specified - Add nand controller node label for 4908 so it is consistent with other SoC's and can be referenced by board dts file - Drop the is_param argument to the read data bus function now that we have the exec_op API to read the parameter page and ONFI data - Minor cosmetic fixes - Added patches 8, 9, 10 to patch series David Regan (2): mtd: rawnand: brcmnand: exec_op helper functions return type fixes mtd: rawnand: brcmnand: update log level messages William Zhang (10): dt-bindings: mtd: brcmnand: Updates for bcmbca SoCs dt-bindings: mtd: brcmnand: Add WP pin connection property dt-bindings: mtd: brcmnand: Add ecc strap property ARM: dts: broadcom: bcmbca: Add NAND controller node arm64: dts: broadcom: bcmbca: Add NAND controller node arm64: dts: broadcom: bcmbca: Update router boards mtd: rawnand: brcmnand: Rename bcm63138 nand driver mtd: rawnand: brcmnand: Add BCMBCA read data bus interface mtd: rawnand: brcmnand: Add support for getting ecc setting from strap mtd: rawnand: brcmnand: Support write protection setting from dts .../bindings/mtd/brcm,brcmnand.yaml | 39 +++++- arch/arm/boot/dts/broadcom/bcm47622.dtsi | 14 ++ arch/arm/boot/dts/broadcom/bcm63138.dtsi | 7 +- arch/arm/boot/dts/broadcom/bcm63148.dtsi | 14 ++ arch/arm/boot/dts/broadcom/bcm63178.dtsi | 14 ++ arch/arm/boot/dts/broadcom/bcm6756.dtsi | 14 ++ arch/arm/boot/dts/broadcom/bcm6846.dtsi | 14 ++ arch/arm/boot/dts/broadcom/bcm6855.dtsi | 14 ++ arch/arm/boot/dts/broadcom/bcm6878.dtsi | 14 ++ arch/arm/boot/dts/broadcom/bcm947622.dts | 10 ++ arch/arm/boot/dts/broadcom/bcm963138.dts | 10 ++ arch/arm/boot/dts/broadcom/bcm963138dvt.dts | 14 +- arch/arm/boot/dts/broadcom/bcm963148.dts | 10 ++ arch/arm/boot/dts/broadcom/bcm963178.dts | 10 ++ arch/arm/boot/dts/broadcom/bcm96756.dts | 10 ++ arch/arm/boot/dts/broadcom/bcm96846.dts | 10 ++ arch/arm/boot/dts/broadcom/bcm96855.dts | 10 ++ arch/arm/boot/dts/broadcom/bcm96878.dts | 10 ++ .../bcmbca/bcm4906-netgear-r8000p.dts | 5 + .../bcmbca/bcm4906-tplink-archer-c2300-v1.dts | 5 + .../bcmbca/bcm4908-asus-gt-ac5300.dts | 6 +- .../boot/dts/broadcom/bcmbca/bcm4908.dtsi | 4 +- .../boot/dts/broadcom/bcmbca/bcm4912.dtsi | 14 ++ .../boot/dts/broadcom/bcmbca/bcm63146.dtsi | 14 ++ .../boot/dts/broadcom/bcmbca/bcm63158.dtsi | 14 ++ .../boot/dts/broadcom/bcmbca/bcm6813.dtsi | 14 ++ .../boot/dts/broadcom/bcmbca/bcm6856.dtsi | 14 ++ .../boot/dts/broadcom/bcmbca/bcm6858.dtsi | 14 ++ .../boot/dts/broadcom/bcmbca/bcm94908.dts | 10 ++ .../boot/dts/broadcom/bcmbca/bcm94912.dts | 10 ++ .../boot/dts/broadcom/bcmbca/bcm963146.dts | 10 ++ .../boot/dts/broadcom/bcmbca/bcm963158.dts | 10 ++ .../boot/dts/broadcom/bcmbca/bcm96813.dts | 10 ++ .../boot/dts/broadcom/bcmbca/bcm96856.dts | 10 ++ .../boot/dts/broadcom/bcmbca/bcm96858.dts | 10 ++ drivers/mtd/nand/raw/brcmnand/Makefile | 2 +- drivers/mtd/nand/raw/brcmnand/bcm63138_nand.c | 99 -------------- drivers/mtd/nand/raw/brcmnand/bcmbca_nand.c | 126 ++++++++++++++++++ drivers/mtd/nand/raw/brcmnand/brcmnand.c | 126 +++++++++++++++--- drivers/mtd/nand/raw/brcmnand/brcmnand.h | 2 + 40 files changed, 633 insertions(+), 134 deletions(-) delete mode 100644 drivers/mtd/nand/raw/brcmnand/bcm63138_nand.c create mode 100644 drivers/mtd/nand/raw/brcmnand/bcmbca_nand.c