From patchwork Fri Nov 20 09:56:09 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yifeng Zhao X-Patchwork-Id: 11919905 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-11.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D3D0FC5519F for ; Fri, 20 Nov 2020 09:58:18 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 5A448204EF for ; Fri, 20 Nov 2020 09:58:18 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="jF2wf8e1" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5A448204EF Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=rock-chips.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:MIME-Version:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:Message-Id:Date:Subject:To:From:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Owner; bh=eRe52KouS5L60Eqjuruz/PIavp7HY97eqclYSNd87t4=; b=jF2wf8e1jLSAhf/Ia5rw7/ZAx1 he6y8sFh5oaUhpOysnzI6BtaZEDUvl/BolM9MkQN/jpXfwZe3PEZhaa3ULPGEGSv6Ztzdrbh/MNxe ky5pgoBDQaj4Zm3wpZ9LB9lUPD1h8HCwfA92VQ08Mg6uVJJm3mwRCI3oVnxZmESjty3j/MJSHywPB 5TNiqopumrabrLCz9ODQMb14QPl/+MwhA0Q8Fl34vdLjYBobCdszBys4X6A/2bjf4BmD3ND6ooaDV ysCeZ4HI5lCQj0WI+KzljKgsijIOPMmAXpi8JqJOGRptWdqu7wmMvtD9ZD0dISrPcwoMUH6qvudPB tqcUCxLg==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kg3An-0007Xp-Pu; Fri, 20 Nov 2020 09:57:45 +0000 Received: from lucky1.263xmail.com ([211.157.147.131]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kg39a-00072R-MO; Fri, 20 Nov 2020 09:56:40 +0000 Received: from localhost (unknown [192.168.167.223]) by lucky1.263xmail.com (Postfix) with ESMTP id D1BD2B6AD6; Fri, 20 Nov 2020 17:56:19 +0800 (CST) X-MAIL-GRAY: 0 X-MAIL-DELIVERY: 1 X-ADDR-CHECKED4: 1 X-ANTISPAM-LEVEL: 2 X-ABS-CHECKED: 0 Received: from localhost.localdomain (unknown [58.22.7.114]) by smtp.263.net (postfix) whith ESMTP id P21631T139747833935616S1605866174624500_; Fri, 20 Nov 2020 17:56:19 +0800 (CST) X-IP-DOMAINF: 1 X-UNIQUE-TAG: X-RL-SENDER: yifeng.zhao@rock-chips.com X-SENDER: zyf@rock-chips.com X-LOGIN-NAME: yifeng.zhao@rock-chips.com X-FST-TO: miquel.raynal@bootlin.com X-SENDER-IP: 58.22.7.114 X-ATTACHMENT-NUM: 0 X-DNS-TYPE: 0 X-System-Flag: 0 From: Yifeng Zhao To: miquel.raynal@bootlin.com, richard@nod.at, vigneshr@ti.com, robh+dt@kernel.org Subject: [PATCH v14 0/8] Add Rockchip NFC drivers for RK3308 and others Date: Fri, 20 Nov 2020 17:56:09 +0800 Message-Id: <20201120095613.20172-1-yifeng.zhao@rock-chips.com> X-Mailer: git-send-email 2.17.1 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20201120_045634_508047_4008219D X-CRM114-Status: GOOD ( 17.17 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, heiko@sntech.de, Yifeng Zhao , linux-kernel@vger.kernel.org, linux-rockchip@lists.infradead.org, linux-mtd@lists.infradead.org, linux-arm-kernel@lists.infradead.org MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Rockchp's NFC(Nand Flash Controller) has four versions: V600, V622, V800 and V900.This series patch can support all four versions. Changes in v14: - Add oob_read and oob_write hook api. - Support timing config and ecc config for each chips. - Fix some comments. Changes in v13: - The nfc->buffer will realloc while the page size of the second mtd is large than the first one. - Fix coding style. - Fix some comments. Changes in v12: - Fix some warnings while make dt_binding_check - Drop a allOf defined Changes in v11: - Fix compile error. Changes in v10: - Fix compile error on master v5.9-rc7. Changes in v9: - The nfc->buffer will realloc while the page size of the second mtd is large than the first one - Fix coding style. - Remove struct rk_nfc_clk. - Prepend some function with rk_nfc_. - Replace function readl_poll_timeout_atomic with readl_relaxed_poll_timeout. - Remove function rk_nfc_read_byte and rk_nfc_write_byte. - Don't select the die if 'check_only == true' in function rk_nfc_exec_op. - Modify function rk_nfc_write_page and rk_nfc_write_page_raw. Changes in v8: - Fix a error while make dt_binding_check Changes in v7: - Fix some wrong define - Rebase to linux-next. - Fix coding style. - Reserved 4 bytes at the beginning of the oob area. - Page raw read and write included ecc data. Changes in v6: - Fix some wrong define - Modified the definition of compatible - The mtd->name set by NAND label property. - Add some comments. - Fix compile error. Changes in v5: - Fix some wrong define. - Add boot-medium define. - Remove some compatible define. - Add boot blocks support with different ECC for bootROM. - Rename rockchip-nand.c to rockchip-nand-controller.c. - Unification of other variable names. - Remove some compatible define. Changes in v4: - The compatible define with rkxx_nfc. - Add assigned-clocks. - Fix some wrong defineChanges in. - Define platform data structure for the register offsets. - The compatible define with rkxx_nfc. - Use SET_SYSTEM_SLEEP_PM_OPS to define PM_OPS. - Use exec_op instead of legacy hooks. Changes in v3: - Change the title for the dt-bindings. Changes in v2: - Fix compile error. - Include header files sorted by file name. Yifeng Zhao (8): dt-bindings: mtd: Describe Rockchip RK3xxx NAND flash controller mtd: rawnand: rockchip: NFC drivers for RK3308, RK2928 and others MAINTAINERS: add maintainers to ROCKCHIP NFC arm64: dts: rockchip: Add NFC node for RK3308 SoC arm64: dts: rockchip: Add NFC node for PX30 SoC arm: dts: rockchip: Add NFC node for RV1108 SoC arm: dts: rockchip: Add NFC node for RK2928 and other SoCs arm: dts: rockchip: Add NFC node for RK3036 SoC .../mtd/rockchip,nand-controller.yaml | 161 ++ MAINTAINERS | 4 +- arch/arm/boot/dts/rk3036.dtsi | 52 + arch/arm/boot/dts/rk3xxx.dtsi | 9 + arch/arm/boot/dts/rv1108.dtsi | 11 + arch/arm64/boot/dts/rockchip/px30.dtsi | 15 + arch/arm64/boot/dts/rockchip/rk3308.dtsi | 15 + drivers/mtd/nand/raw/Kconfig | 12 + drivers/mtd/nand/raw/Makefile | 1 + .../mtd/nand/raw/rockchip-nand-controller.c | 1497 +++++++++++++++++ 10 files changed, 1775 insertions(+), 2 deletions(-) create mode 100644 Documentation/devicetree/bindings/mtd/rockchip,nand-controller.yaml create mode 100644 drivers/mtd/nand/raw/rockchip-nand-controller.c