Add Rockchip NFC drivers for RK3308 and others
From: | Yifeng Zhao <yifeng.zhao-AT-rock-chips.com> | |
To: | miquel.raynal-AT-bootlin.com, richard-AT-nod.at, vigneshr-AT-ti.com, robh+dt-AT-kernel.org | |
Subject: | [PATCH v11 0/8] Add Rockchip NFC drivers for RK3308 and others | |
Date: | Mon, 19 Oct 2020 16:33:54 +0800 | |
Message-ID: | <20201019083358.32621-1-yifeng.zhao@rock-chips.com> | |
Cc: | devicetree-AT-vger.kernel.org, linux-mtd-AT-lists.infradead.org, heiko-AT-sntech.de, linux-rockchip-AT-lists.infradead.org, linux-arm-kernel-AT-lists.infradead.org, linux-kernel-AT-vger.kernel.org, Yifeng Zhao <yifeng.zhao-AT-rock-chips.com> | |
Archive-link: | Article |
Rockchp's NFC(Nand Flash Controller) has four versions: V600, V622, V800 and V900.This series patch can support all four versions. 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 make dt_binding_check error 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 | 162 ++ 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 | 1439 +++++++++++++++++ 10 files changed, 1718 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 -- 2.17.1