Commit Graph

27 Commits

Author SHA1 Message Date
Yifeng Zhao 2d1531fa31 drivers: rknand: zftl: strengthen the parameter judgment for write loader API
The write loader function may call by mistake if the system
is unstable, which will cause flash reading and writing errors
and data loss.

bug log:
MT RR 15 row=dae38,count 15,status=-1
MT RR 15 row=dae38,count 15,status=-1
flash_read_page_en 0 dae38 error_ecc -1 1
load_l2p_region = 0,2,ffffffff, dae1e

Change-Id: Iac55e7807d739f08146ea2d81265857e6136e5d0
Signed-off-by: Yifeng Zhao <zyf@rock-chips.com>
2020-04-20 20:04:59 +08:00
Yifeng Zhao 8172425635 drivers: rknand: add support Micron B05A and B16A
Change-Id: Ib908242be9ea9d31d007deaabba66e1537d0a1d6
Signed-off-by: Yifeng Zhao <zyf@rock-chips.com>
2019-09-26 14:13:14 +08:00
Yifeng Zhao c8d12fd617 drivers: rknand: zftl fix cache flush misaligned range
bug:
CACHE: Misaligned operation at range [71e1eb80, 71e1eba0]
CACHE: Misaligned operation at range [71e1eb80, 71e1eba0]
CACHE: Misaligned operation at range [71e1eb80, 71e1eba0]

Change-Id: Id77a8f8df8e014e8de5dc0845ee0e3dd5d945f97
Signed-off-by: Yifeng Zhao <zyf@rock-chips.com>
2019-06-11 09:47:05 +08:00
Yifeng Zhao a7784f2995 drivers: rknand: add slc nand and some new MLC nand support
Change-Id: I13c9d56c80c6e817f591b55ea31672681565d274
Signed-off-by: Yifeng Zhao <zyf@rock-chips.com>
2019-05-28 20:30:36 +08:00
Yifeng Zhao b3b8e4f06e drivers: rk_nand: support SKHynix 14nm 2D 16GB Nand Flash
support SKHynix 14nm 2D 16GB NAND FLASH H27TDG8T2D8R.

Change-Id: I60bb7aa145d2c6c6be90e91a8288300eacaeabb1
Signed-off-by: Yifeng Zhao <zyf@rock-chips.com>
2019-03-01 10:05:59 +08:00
Yifeng Zhao a43995868a drivers: rknand: register vendor ops interface
Change-Id: Ia82a16f9fbc2c4600b4721018bf1b34ad0e85b51
Signed-off-by: Yifeng Zhao <zyf@rock-chips.com>
2018-10-11 09:25:38 +08:00
Yifeng Zhao 6a188a49ff drivers: rknand: rkftl support spectek L84C/L84D/L05B NAND FLASH
1. support spectek L84C/L84D/L05B NAND FLASH
2. add vendor storage api

Change-Id: Ib11cf39bd655032eb3f1fd164edc729a54a975b1
Signed-off-by: Yifeng Zhao <zyf@rock-chips.com>
2018-10-11 09:25:38 +08:00
Yifeng Zhao 4e78a5d4d8 drivers: rknand: zftl: support spectek L84C/L84D/L05B NAND FLASH
1. support spectek L84C/L84D/L05B NAND FLASH
2. add vendor read and write api
3. set ftl version v1.14

Change-Id: I483a451acdbdc3b3bfde79dd0ea8689a2b7351ee
Signed-off-by: Yifeng Zhao <zyf@rock-chips.com>
2018-10-08 14:42:45 +08:00
Yifeng Zhao c798cdd169 drivers: rknand: support bootloader upgraged
The boot loader image write to lba 0x40, the nand driver
will copy to the the reserved blocks for bootrom.

Change-Id: I7517818b39032bc8ff16cbb4a9e9342f95306181
Signed-off-by: Yifeng Zhao <zyf@rock-chips.com>
2018-08-14 08:49:44 +08:00
Yifeng Zhao 465fe90ad9 drivers: rknand: zftl: fix hynix F16 64Gb NAND multi plane prog error issue
3326: fix hynix F16 64Gb NAND multi plane prog error issue
bug:
[   15.257968] hynix RR 12 row=2000, count 12, status=-1
[   15.257985] flash_complete_page_read 0 2000 error_ecc -1 1
[   15.258000] blk= 20, page=0, ppa = 2000, status = ffffffff

Change-Id: Ic7306aea8a55a06d68c73162676e048ffa02111d
Signed-off-by: Yifeng Zhao <zyf@rock-chips.com>
2018-07-20 09:55:16 +08:00
Yifeng Zhao fe9a00a206 drivers: rknand: zftl fix 2cs 3d mlc nand gc fail issue
bug:
1ppa = 2212a00, status = 0, 2d1db 2bc05 spare: 3a20ea 2d1dc 22bc05 0
1ppa = 2212a00, status = 1, 3b8ef 25fe52 spare: 3a6bfa 3c5d6 5fe53 2
1ppa = 2212a00, status = 0, 2d1db 2bc05 spare: 3a20ea 2d1dc 22bc05 0
1ppa = 2212a00, status = 1, 3b8ef 25fe52 spare: 3a6bfa 3c5d6 5fe53 2

Change-Id: I30c0789a8629ec76ab126b1ac7a49fe6bf7ff061
Signed-off-by: Yifeng Zhao <zyf@rock-chips.com>
2018-07-04 18:07:34 +08:00
Yifeng Zhao b169aaa602 drivers: rknand: zftl improve read performent
1. Enable multi-plane read feature
2. Increase nandc interface clock frequency

Change-Id: Ic0b372c34833cef34f60ae2aa3fb3b4268bfd4ed
Signed-off-by: Yifeng Zhao <zyf@rock-chips.com>
2018-06-25 09:10:53 +08:00
Yifeng Zhao 2c7457942f drivers: rknand: zftl static wear leveling strategy optimize
1. Garbage collection does not deal with the updated blocks.
2. Static wear considers the SLC mode erase count and XLC
mode erase count

Change-Id: I6054fbc1726be1c93558eafad59fa9ea38d6a206
Signed-off-by: Yifeng Zhao <zyf@rock-chips.com>
2018-05-25 15:37:10 +08:00
Dingqiang Lin 2b1aad10d2 drivers: rknand: fix rk_ftl_arm_v7 nandc drivers error
1. nandc version change
2. nandc drivers dcache flush strategy

Change-Id: Ic9d325da6404da3b3c2f6445c315d0d8cf45d0be
Signed-off-by: Dingqiang Lin <jon.lin@rock-chips.com>
2018-05-24 16:47:28 +08:00
Yifeng Zhao d6cf38088b drivers: rknand: add cache flush ops after data write
The FTL cache the last page of the write data, it will lose
after reboot. Here need to add a cache flush operation after
write the data to resolve it.

Change-Id: Ie197fad9f9e23ce5337be87f5d8380decad731b7
Signed-off-by: Yifeng Zhao <zyf@rock-chips.com>
2018-04-23 10:19:51 +08:00
Zhaoyifeng 65e3ea6865 drivers: rknand: update ftl for rk3308
The NANDC version number definition is not compatible with the
original. So the detect code need to update.

Change-Id: I9a062158a1bd20b83050d17f02661cb429b55092
Signed-off-by: Zhaoyifeng <zyf@rock-chips.com>
2018-04-13 15:01:50 +08:00
Yifeng Zhao 33dccc23db drivers: rk_nand: improve the processing mechanism of nand flash read and write exception
When NAND FLASH reads and writes with UECC, it may lose data.
Add a additional reading process to restore the data.

Change-Id: I3345d4889775547e342db41a0aa3457356b1c605
Signed-off-by: Yifeng Zhao <zyf@rock-chips.com>
2018-04-13 10:54:34 +08:00
Zhaoyifeng c9fcc189ba drivers: rknand: update ftl for rk3226 and px30
1. Fix gc data lost issue.
2. support micron 2D MLC NAND support.
3. Support upgrade loader

Change-Id: Id2bb3b523b06ca6be1912dae2d835b465f715691
Signed-off-by: Zhaoyifeng <zyf@rock-chips.com>
2018-04-10 14:17:21 +08:00
Zhaoyifeng f111af6856 drivers: rknand: update ftl for rk3226 and px30
1. Optimize the garbage processing.
2. Fix the firmware upgrade failure issue.

Change-Id: I20db620bcb2dbfa746eed71b2464140c67bfc227
Signed-off-by: Zhaoyifeng <zyf@rock-chips.com>
2018-03-16 10:01:14 +08:00
Kever Yang 8ce70bc0c5 rockchip: rknand: fix Kconfig define
fix error:
Error: You must add new CONFIG options using Kconfig
The following new ad-hoc CONFIG options were detected:
CONFIG_DM_PWM

Please add these via Kconfig instead. Find a suitable Kconfig
file and add a 'config' or 'menuconfig' option.

Change-Id: I893a18eb1c36e28307379872814532ba825be586
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2018-02-11 15:04:41 +08:00
Zhaoyifeng e09cbbab1a drivers: rknand: add nand driver for rkpx30 and rk3326
rk_zftl_arm_xx is new ftl for support 2D/3D TLC/MLC NAND FLASH.
rk_ftl_arm_xx is legacy ftl for support 2D MLC NAND FLASH

Change-Id: I80794998562a8916e634f533d1b917bf8aab4d91
Signed-off-by: Zhaoyifeng <zyf@rock-chips.com>
2018-02-11 11:58:28 +08:00
Zhaoyifeng 990d853794 driver: rknand: support 128MB SLC NAND ESMT F59L1G81LB
Flash ID is:c8 d1 80 95 42 7f

Change-Id: I848ca16b27da7a8186f25672ff018ead70ccbab0
Signed-off-by: Zhaoyifeng <zyf@rock-chips.com>
2018-02-05 20:57:56 +08:00
Zhaoyifeng c4238552ff driver: rknand: change to use dev_read_addr_ptr
Change-Id: I41358d2f91238ca5100fc50c1c410cdf314cb3fd
Signed-off-by: Zhaoyifeng <zyf@rock-chips.com>
2018-02-05 20:57:17 +08:00
Zhaoyifeng d738f2ccb4 drivers: rknand: fix read error data
ftl_read api with un-aligned data buffer will return error data.

Change-Id: I380667d6d671dd96578830939d137fe74015d8ac
Signed-off-by: Zhaoyifeng <zyf@rock-chips.com>
2017-12-21 14:31:41 +08:00
Zhaoyifeng 9ea7f399ea drivers: rknand: add part type detect
bug: part type unknown issue
=> rknand part 0

Change-Id: Ibb84249d4110fcadfbdb3f2c3a9ce2da2b520b2f
Signed-off-by: Zhaoyifeng <zyf@rock-chips.com>
2017-11-29 11:45:22 +08:00
Zhaoyifeng b8e90bad40 driver: rknand: fix nand driver initialization failure
The nand driver used dma to tranfer data and need flush cache.

Change-Id: I8441621a6d411a45bfaccc0a0c1302da6d900741
Signed-off-by: Zhaoyifeng <zyf@rock-chips.com>
2017-11-24 14:57:25 +08:00
Zhaoyifeng 441217e374 drivers: rknand: add nand flash drivers for Rockchip SoC
This patch add the nand flash support for Rockchip Soc(RK3128, RK3126x,
RK3188, Rk3229 etc).

Change-Id: I35ea09f0714b303b247a97ed13cc6e0e56675a0e
Signed-off-by: Yifeng Zhao <zyf@rock-chips.com>
2017-10-20 08:59:10 +08:00