mbox series

[v10,0/8] Add Rockchip NFC drivers for RK3308 and others

Message ID 20200930020710.7394-1-yifeng.zhao@rock-chips.com
Headers show
Series Add Rockchip NFC drivers for RK3308 and others | expand

Message

Yifeng Zhao Sept. 30, 2020, 2:07 a.m. UTC
Rockchp's NFC(Nand Flash Controller) has four versions: V600, V622, V800 and
V900.This series patch can support all four versions.


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   | 1455 +++++++++++++++++
 10 files changed, 1734 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

Comments

Kever Yang Oct. 14, 2020, 12:35 a.m. UTC | #1
Hi Miquel and maintainers,

     This patch set seems ready for upstream, could you pick and merge 
to linux-mtd?


Thanks,

- Kever

On 2020/9/30 上午10:07, Yifeng Zhao wrote:
> Rockchp's NFC(Nand Flash Controller) has four versions: V600, V622, V800 and
> V900.This series patch can support all four versions.
>
>
> 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   | 1455 +++++++++++++++++
>   10 files changed, 1734 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
>