Commit Graph

140 Commits

Author SHA1 Message Date
Tao Huang
9b334bba81 drivers: rkflash: Fix typos in Rockchip copyright notices
There are many cases in which the company name is misspelled.
The patch fixes these typos.

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I1eeceb62c2fd2203649858216ea07c4b55bddba6
2024-12-09 18:22:05 +08:00
Tao Huang
b0615530ae Merge commit '435ab979d269ece424166c4a01fd3dde95493094'
* commit '435ab979d269ece424166c4a01fd3dde95493094':
  ARM: configs: rv1106-wakeup.config: enable CONFIG_INPUT_EVDEV
  PCI: rockchip: dw: Add debug info for device miss case
  drivers: rkflash: Change RK_SFTL dependent to RK_NANDC_NAND
  arm64/configs: rk3308bs_mipi_display.config add gt911
  input: touchscreen: fixed gt9xx compile error
  media: rockchip: isp: isp32 using ktime_get_boottime_ns
  media: rockchip: vicap: change irq state when start/stop stream
  media: rockchip: vicap: rv1106 use ktime_get_boottime_ns to get timestamp
  media: rockchip: vicap support skip frame
  dt-bindings: opp: rockchip: Add more properties for pvtm and pvtpll
  media: rockchip: vicap:fix oneframe switch to multiframe error
  media: rockchip: isp: fix 4k and dual_sensor pm oneframe error
  media: rockchip: vicap optimize buf rotation in thunderboot mode
  media: rockchip: vicap fixes logic error of get thundboot_resmem_head
  media: rockchip: vicap fixes some error for 4K with AOV

Change-Id: I437995aba6f4491b3896430547a382256034624b
2023-12-27 14:40:41 +08:00
Jon Lin
a4d67e502a drivers: rkflash: Change RK_SFTL dependent to RK_NANDC_NAND
Change-Id: I9c525f32c3d686a85508548c77c0f6d6bb75e09a
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2023-12-26 10:38:47 +08:00
Tao Huang
4de7c20069 Merge commit '8bbe906daa75d355607df9b586a5beb7adf3bf45'
* commit '8bbe906daa75d355607df9b586a5beb7adf3bf45': (31 commits)
  mfd: display-serdes: power off remote serdes while shutdown
  ARM: dts: rockchip: rv1106g-evb2-v12-wakeup add rtt for vicap node
  arm64: dts: rockchip: rk3588s: add winusb reboot mode.
  dt-bindings: soc: rockchip: add reboot mode winusb.
  MALI: bifrost: Fix a null pointer exception when event tracing is enabled
  arm64: dts: rockchip: rk3588-vehicle-evb-v22: Use location name for camera regulators
  media: i2c: maxim4c: Fix unbalanced disable of PoC regulator
  usb: host: ohci-platform: enable async suspend for rk3588
  arm64: dts: rockchip: rk3588s: Add compatible for ohci
  arm64: dts: rockchip: rk3588-linux: set rcu_expedited/rcu_nocbs
  arm64: dts: rockchip: rk3588-android: set rcu_expedited/rcu_nocbs
  arm64: rockchip_linux_defconfig: enable configs needed for RCU perf/power optimizations
  arm64: rockchip_defconfig: enable configs needed for RCU perf/power optimizations
  ARM: dts: rockchip: rv1106g-evb2-v12-wakeup add rtt for isp node
  arm64: dts: rockchip: rk3562-evb1-cam: add dw9714 supply control
  media: rockchip: isp: fix resume hold by lut error
  media: rockchip: isp: suspend resume with rtt
  media: rockchip: isp: pm add call sensor s_power
  arm64: dts: rockchip: update rk3568-evb1-ddr4-v10-dual-lvds relevant files
  ARM: dts: rockchip: add rv1106g-4k dts
  ...

Change-Id: I7cafbe314407a130b7ec94675b83b87d82079468
2023-10-24 10:17:21 +08:00
Jon Lin
eb14307d6e drivers: rkflash: Add mechanisms to protect bad block tables
1.Add hash check
2.Add anti-shake mechanism to avoid damaging the bad block tables
3.Add anti-shake mechanism to optimize the reliability of bad block table

Change-Id: I888ceba54e5bbc55283850316e27560c484a9cf5
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2023-10-13 18:11:45 +08:00
Tao Huang
475b16ba9c Merge commit 'f2576488ab0bcb5544f9e9415c116b26a65e4b68'
* commit 'f2576488ab0bcb5544f9e9415c116b26a65e4b68':
  soc: rockchip: amp: Update coding style and message
  soc: rockchip: amp: Add 'boot-on' property assignment support
  arm64: dts: rockchip: rk3399-evb: fix dts build error
  drivers: rkflash: Add sleep for spinand
  dt-bindings: spi: spi-rockchip: Support rockchip,autosuspend-delay-ms
  spi: rockchip: Support pm_runtime_use_autosuspend
  drm/bridge: synopsys: dw-hdmi-qp: Disable access to registers when hdmi is disabled
  arm64: dts: rockchip: rk3588s: Change leakage-voltage-sel for venc
  drm/rockchip: dsi2: havle dsc pps pic_width in dual channel dsi
  ARM: dts: rockchip: disable hs park mode for usb dwc3 controller

Change-Id: Ic8e82d00e5094a1a8c9197efebfb6f40257e943f
2023-08-28 18:56:19 +08:00
Jon Lin
490787f8b7 drivers: rkflash: Add sleep for spinand
Program/Erase/Read Speed
– Page Program time : 450us typical
– BLOCK ERASE time : 4ms typical
– PAGE READ time : 120us maximum (without ECC)

Change-Id: I0c5bc9827788938df028e525e331c0db8d041676
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2023-08-17 14:17:14 +08:00
Tao Huang
daf2796321 Merge commit '52f971ee6e023d89d24f9e3cd145d86d707e459c'
* commit '52f971ee6e023d89d24f9e3cd145d86d707e459c': (84565 commits)
  arm64: dts: rockchip: rk3562: Enable viLKsvPwrActive for soc bus
  mtd: spi-nor: esmt: Support New devices
  mtd: spi-nor: fmsh: Support New devices
  mtd: spi-nor: gigadevice: Support New devices
  mtd: spinand: gsto: Add code
  mtd: spinand: hyf: Support new devices
  mmc: convert thunder boot dependency
  ARM: dts: rockchip: rv1106: add node for system sleep
  ARM: rockchip: support rv1106 suspend
  ARM: rockchip: add some pm-related functions
  video: rockchip: mpp: fix rk3528 avsd not probe issue
  arm64: dts: rockchip: rk3588-vehicle-maxim-serdes: Add BOE AV156FHT L83 support
  arm64: rockchip_defconfig: Enable CONFIG_DRM_PANEL_MAXIM_MAX96752F
  drm/panel: Add panel driver for Maxim MAX96752F based LCDs
  media: i2c: techpoint: add support 4 channel 2 lane mode
  drm/rockchip: dsi2: fix NULL in component_ops .unbind helper
  media: rockchip: vicap: fixes cma can not alloc when capture raw
  media: rockchip: vicap: fixed vc err for multi channel
  media: rockchip: hdmirx: fix timing info for interlaced resolution
  media: rockchip: hdmirx: fix code error for cec register failed
  ...

Change-Id: Ia7ac365455d87a295e62bbf481d80694a9712f30

Conflicts:
	.gitignore
	Documentation/devicetree/bindings/clock/rockchip,px30-cru.txt
	Documentation/devicetree/bindings/connector/usb-connector.yaml
	Documentation/devicetree/bindings/display/rockchip/dw_hdmi-rockchip.txt
	Documentation/devicetree/bindings/hwmon/pwm-fan.txt
	Documentation/devicetree/bindings/iio/light/vl6180.txt
	Documentation/devicetree/bindings/iommu/rockchip,iommu.txt
	Documentation/devicetree/bindings/mtd/rockchip,nand-controller.yaml
	Documentation/devicetree/bindings/net/rockchip-dwmac.yaml
	Documentation/devicetree/bindings/net/snps,dwmac.yaml
	Documentation/devicetree/bindings/phy/phy-rockchip-inno-usb2.yaml
	Documentation/devicetree/bindings/power/rockchip-io-domain.txt
	Documentation/devicetree/bindings/regulator/fan53555.txt
	Documentation/devicetree/bindings/soc/rockchip/power_domain.txt
	Documentation/devicetree/bindings/sound/rockchip,pdm.yaml
	Documentation/devicetree/bindings/sound/rockchip-spdif.yaml
	Documentation/devicetree/bindings/spi/spi-rockchip.yaml
	Documentation/devicetree/bindings/thermal/rockchip-thermal.txt
	Documentation/devicetree/bindings/usb/usb-xhci.txt
	Documentation/filesystems/erofs.rst
	arch/arm/Kconfig
	arch/arm/Makefile
	arch/arm/boot/compressed/head.S
	arch/arm/boot/dts/rk3036.dtsi
	arch/arm/boot/dts/rk3066a-rayeager.dts
	arch/arm/boot/dts/rk3066a.dtsi
	arch/arm/boot/dts/rk322x.dtsi
	arch/arm/boot/dts/rk3288.dtsi
	arch/arm/boot/dts/rk3xxx.dtsi
	arch/arm64/boot/dts/rockchip/Makefile
	arch/arm64/boot/dts/rockchip/px30.dtsi
	arch/arm64/boot/dts/rockchip/rk3308.dtsi
	arch/arm64/boot/dts/rockchip/rk3399-opp.dtsi
	arch/arm64/boot/dts/rockchip/rk3399.dtsi
	arch/arm64/boot/dts/rockchip/rk3566.dtsi
	arch/arm64/boot/dts/rockchip/rk3568-pinctrl.dtsi
	arch/arm64/boot/dts/rockchip/rk3568.dtsi
	arch/arm64/boot/dts/rockchip/rockchip-pinconf.dtsi
	arch/arm64/kernel/process.c
	arch/arm64/mm/Makefile
	arch/arm64/mm/fault.c
	arch/arm64/mm/init.c
	drivers/Kconfig
	drivers/Makefile
	drivers/android/Kconfig
	drivers/ata/ahci_platform.c
	drivers/char/hw_random/Kconfig
	drivers/char/hw_random/Makefile
	drivers/clk/clk.c
	drivers/clk/rockchip/Kconfig
	drivers/clk/rockchip/Makefile
	drivers/clk/rockchip/clk-cpu.c
	drivers/clk/rockchip/clk-rk3036.c
	drivers/clk/rockchip/clk-rk3188.c
	drivers/clk/rockchip/clk-rk3308.c
	drivers/clk/rockchip/clk-rk3399.c
	drivers/clk/rockchip/clk-rk3568.c
	drivers/clk/rockchip/clk-rv1126.c
	drivers/clk/rockchip/clk.c
	drivers/clk/rockchip/clk.h
	drivers/cpufreq/cpufreq-dt.c
	drivers/crypto/Kconfig
	drivers/devfreq/Makefile
	drivers/devfreq/devfreq.c
	drivers/dma-buf/dma-buf.c
	drivers/dma-buf/heaps/Makefile
	drivers/dma/pl330.c
	drivers/firmware/Kconfig
	drivers/gpio/Kconfig
	drivers/gpio/Makefile
	drivers/gpio/gpio-rockchip.c
	drivers/gpu/Makefile
	drivers/gpu/drm/Kconfig
	drivers/gpu/drm/Makefile
	drivers/gpu/drm/bridge/Kconfig
	drivers/gpu/drm/bridge/Makefile
	drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
	drivers/gpu/drm/bridge/analogix/analogix_dp_core.h
	drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c
	drivers/gpu/drm/bridge/display-connector.c
	drivers/gpu/drm/bridge/sii902x.c
	drivers/gpu/drm/bridge/synopsys/Makefile
	drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
	drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
	drivers/gpu/drm/drm_atomic_helper.c
	drivers/gpu/drm/drm_crtc_internal.h
	drivers/gpu/drm/drm_edid.c
	drivers/gpu/drm/panel/panel-simple.c
	drivers/gpu/drm/rockchip/Kconfig
	drivers/gpu/drm/rockchip/Makefile
	drivers/gpu/drm/rockchip/analogix_dp-rockchip.c
	drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
	drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
	drivers/gpu/drm/rockchip/inno_hdmi.c
	drivers/gpu/drm/rockchip/rockchip_drm_drv.c
	drivers/gpu/drm/rockchip/rockchip_drm_drv.h
	drivers/gpu/drm/rockchip/rockchip_drm_fbdev.c
	drivers/gpu/drm/rockchip/rockchip_drm_gem.c
	drivers/gpu/drm/rockchip/rockchip_drm_vop.c
	drivers/gpu/drm/rockchip/rockchip_drm_vop.h
	drivers/gpu/drm/rockchip/rockchip_drm_vop2.c
	drivers/gpu/drm/rockchip/rockchip_lvds.c
	drivers/gpu/drm/rockchip/rockchip_rgb.c
	drivers/gpu/drm/rockchip/rockchip_vop2_reg.c
	drivers/gpu/drm/rockchip/rockchip_vop_reg.c
	drivers/gpu/drm/rockchip/rockchip_vop_reg.h
	drivers/hwmon/pwm-fan.c
	drivers/hwspinlock/Kconfig
	drivers/hwspinlock/Makefile
	drivers/i2c/busses/i2c-rk3x.c
	drivers/i2c/i2c-core-base.c
	drivers/iio/adc/Kconfig
	drivers/iio/adc/rockchip_saradc.c
	drivers/iio/industrialio-event.c
	drivers/input/touchscreen/Makefile
	drivers/iommu/iommu.c
	drivers/iommu/rockchip-iommu.c
	drivers/irqchip/irq-gic-v3-its.c
	drivers/leds/Makefile
	drivers/mailbox/Kconfig
	drivers/media/common/videobuf2/Makefile
	drivers/media/i2c/Kconfig
	drivers/media/i2c/Makefile
	drivers/media/i2c/dw9714.c
	drivers/media/i2c/hi556.c
	drivers/media/i2c/imx214.c
	drivers/media/i2c/imx258.c
	drivers/media/i2c/imx334.c
	drivers/media/i2c/imx335.c
	drivers/media/i2c/ov5648.c
	drivers/media/i2c/ov5670.c
	drivers/media/i2c/ov5695.c
	drivers/media/i2c/ov7251.c
	drivers/media/platform/Kconfig
	drivers/media/platform/Makefile
	drivers/media/platform/rockchip/Kconfig
	drivers/media/spi/Kconfig
	drivers/media/spi/Makefile
	drivers/media/usb/uvc/uvc_driver.c
	drivers/media/usb/uvc/uvcvideo.h
	drivers/media/v4l2-core/v4l2-async.c
	drivers/media/v4l2-core/v4l2-ioctl.c
	drivers/mfd/rk808.c
	drivers/mmc/core/block.c
	drivers/mmc/core/host.c
	drivers/mmc/core/mmc.c
	drivers/mmc/core/mmc_ops.c
	drivers/mmc/host/Makefile
	drivers/mmc/host/dw_mmc-rockchip.c
	drivers/mmc/host/dw_mmc.c
	drivers/mmc/host/dw_mmc.h
	drivers/mmc/host/sdhci-of-dwcmshc.c
	drivers/mtd/nand/Makefile
	drivers/mtd/nand/raw/Kconfig
	drivers/mtd/nand/raw/Makefile
	drivers/mtd/nand/raw/rockchip-nand-controller.c
	drivers/mtd/nand/spi/Makefile
	drivers/mtd/nand/spi/core.c
	drivers/mtd/nand/spi/gigadevice.c
	drivers/mtd/nand/spi/macronix.c
	drivers/mtd/nand/spi/xtx.c
	drivers/mtd/spi-nor/Kconfig
	drivers/mtd/spi-nor/Makefile
	drivers/mtd/spi-nor/core.c
	drivers/mtd/spi-nor/core.h
	drivers/mtd/spi-nor/eon.c
	drivers/mtd/spi-nor/esmt.c
	drivers/mtd/spi-nor/gigadevice.c
	drivers/mtd/spi-nor/macronix.c
	drivers/mtd/spi-nor/winbond.c
	drivers/mtd/spi-nor/xmc.c
	drivers/net/ethernet/stmicro/stmmac/Makefile
	drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c
	drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c
	drivers/net/ethernet/stmicro/stmmac/stmmac.h
	drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
	drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
	drivers/net/phy/Kconfig
	drivers/net/phy/motorcomm.c
	drivers/net/phy/phy_device.c
	drivers/nvmem/Kconfig
	drivers/nvmem/Makefile
	drivers/pci/controller/dwc/Makefile
	drivers/pci/controller/dwc/pcie-designware-host.c
	drivers/pci/controller/dwc/pcie-dw-rockchip.c
	drivers/pci/controller/pcie-rockchip-host.c
	drivers/pci/controller/pcie-rockchip.h
	drivers/pci/pci-sysfs.c
	drivers/pci/pcie/Makefile
	drivers/phy/rockchip/Kconfig
	drivers/phy/rockchip/Makefile
	drivers/phy/rockchip/phy-rockchip-inno-dsidphy.c
	drivers/phy/rockchip/phy-rockchip-inno-usb2.c
	drivers/phy/rockchip/phy-rockchip-naneng-combphy.c
	drivers/phy/rockchip/phy-rockchip-snps-pcie3.c
	drivers/phy/rockchip/phy-rockchip-typec.c
	drivers/pinctrl/Kconfig
	drivers/pinctrl/Makefile
	drivers/pinctrl/pinctrl-rk805.c
	drivers/pinctrl/pinctrl-rockchip.c
	drivers/pinctrl/pinctrl-rockchip.h
	drivers/power/supply/Kconfig
	drivers/power/supply/Makefile
	drivers/power/supply/bq25890_charger.c
	drivers/power/supply/rk817_charger.c
	drivers/pwm/core.c
	drivers/pwm/pwm-rockchip.c
	drivers/regulator/fan53555.c
	drivers/regulator/rk808-regulator.c
	drivers/rtc/rtc-hym8563.c
	drivers/soc/rockchip/Kconfig
	drivers/soc/rockchip/Makefile
	drivers/soc/rockchip/grf.c
	drivers/soc/rockchip/io-domain.c
	drivers/soc/rockchip/pm_domains.c
	drivers/spi/Kconfig
	drivers/spi/spi-rockchip-sfc.c
	drivers/spi/spi-rockchip.c
	drivers/spi/spidev.c
	drivers/staging/android/ion/heaps/ion_system_heap.c
	drivers/thermal/rockchip_thermal.c
	drivers/tty/serial/8250/8250_dma.c
	drivers/tty/serial/8250/8250_dw.c
	drivers/tty/serial/8250/8250_dwlib.c
	drivers/tty/serial/8250/8250_port.c
	drivers/usb/dwc2/platform.c
	drivers/usb/dwc3/core.c
	drivers/usb/dwc3/core.h
	drivers/usb/dwc3/ep0.c
	drivers/usb/dwc3/gadget.c
	drivers/usb/gadget/configfs.c
	drivers/usb/gadget/function/f_fs.c
	drivers/usb/gadget/function/f_uvc.c
	drivers/usb/gadget/function/uvc.h
	drivers/usb/gadget/function/uvc_configfs.c
	drivers/usb/gadget/function/uvc_queue.c
	drivers/usb/gadget/function/uvc_v4l2.c
	drivers/usb/gadget/function/uvc_video.c
	drivers/usb/gadget/udc/core.c
	drivers/usb/host/ehci-hcd.c
	drivers/usb/host/ehci-platform.c
	drivers/usb/storage/unusual_uas.h
	drivers/usb/typec/altmodes/Kconfig
	drivers/usb/typec/altmodes/displayport.c
	drivers/usb/typec/class.c
	drivers/usb/typec/tcpm/tcpm.c
	fs/Kconfig
	fs/cifs/inode.c
	fs/dax.c
	fs/erofs/data.c
	fs/erofs/inode.c
	fs/erofs/internal.h
	fs/erofs/super.c
	fs/f2fs/super.c
	fs/fuse/dev.c
	include/drm/bridge/dw_hdmi.h
	include/drm/drm_connector.h
	include/drm/drm_edid.h
	include/dt-bindings/clock/rk3568-cru.h
	include/dt-bindings/power/rk3568-power.h
	include/dt-bindings/power/rk3588-power.h
	include/linux/clk-provider.h
	include/linux/cma.h
	include/linux/dma-buf.h
	include/linux/dma-heap.h
	include/linux/mfd/rk808.h
	include/linux/mtd/spi-nor.h
	include/linux/mtd/spinand.h
	include/linux/phy/pcie.h
	include/linux/pwm.h
	include/linux/sched/sysctl.h
	include/linux/slub_def.h
	include/linux/stmmac.h
	include/linux/usb/typec.h
	include/media/v4l2-async.h
	include/soc/rockchip/pm_domains.h
	include/uapi/drm/drm_fourcc.h
	include/uapi/linux/iio/types.h
	include/uapi/linux/media-bus-format.h
	init/Kconfig
	init/main.c
	kernel/printk/printk.c
	kernel/rcu/Kconfig.debug
	kernel/rcu/tree_stall.h
	kernel/sched/core.c
	kernel/sched/cpufreq_schedutil.c
	kernel/sched/fair.c
	kernel/sched/pelt.c
	kernel/sched/rt.c
	kernel/sched/sched.h
	kernel/softirq.c
	kernel/sysctl.c
	mm/Makefile
	mm/cma.c
	mm/page_alloc.c
	mm/slub.c
	scripts/.gitignore
	scripts/headers_install.sh
	sound/soc/codecs/Kconfig
	sound/soc/codecs/Makefile
	sound/soc/codecs/es8326.c
	sound/soc/codecs/es8326.h
	sound/soc/codecs/hdmi-codec.c
	sound/soc/codecs/rk817_codec.c
	sound/soc/rockchip/Kconfig
	sound/soc/rockchip/Makefile
	sound/soc/rockchip/rockchip_i2s.c
	sound/soc/rockchip/rockchip_i2s_tdm.c
	sound/soc/rockchip/rockchip_i2s_tdm.h
	sound/soc/rockchip/rockchip_pdm.c
	sound/soc/rockchip/rockchip_spdif.c
	sound/soc/soc-generic-dmaengine-pcm.c
	tools/iio/iio_event_monitor.c
2023-05-20 18:57:29 +08:00
Jon Lin
f03bb81c59 drivers: rkflash: Update to SFTL version: 5.0.58 20220814
Fix V7:
undefined reference to `__stack_chk_guard'

Change-Id: Ie7b7cf74d16fb058acbad63c86c9ad8d9543032e
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2023-04-11 18:48:03 +08:00
Jon Lin
69059cd5f5 drivers: rkflash: Fixes compiler warnings
drivers/rkflash/nandc.c:393:31: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
error, forbidden warning:nandc.c:393
                        } while ((fl_reg.V6.tr_rdy == 0));
                                  ~~~~~~~~~~~~~~~~~^~~~
drivers/rkflash/nandc.c:393:31: note: remove extraneous parentheses around the comparison to silence this warning
                        } while ((fl_reg.V6.tr_rdy == 0));
                                 ~                 ^   ~
drivers/rkflash/nandc.c:393:31: note: use '=' to turn this equality comparison into an assignment
                        } while ((fl_reg.V6.tr_rdy == 0));

Change-Id: Ib4c422216c61191b924163fedfe1b83f1fd297df
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2023-03-22 15:30:39 +08:00
Jon Lin
9cd6a5c06d drivers: rkflash: Support new devices
Change-Id: Ieb7a1217a92d47581faf0ac3dfcd4db78b84f098
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2023-02-21 16:40:06 +08:00
Jon Lin
f0dbc8bbb0 drivers: rkflash: Support sfc ver6 and sfc ver8
Change-Id: I21b11e414ab48c7b3ae7dd8e6ab9dc1e8bcadee6
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2023-02-21 16:39:22 +08:00
Jon Lin
7c2d6bfd55 drivers: rkflash: Fix the error definition of SFC dll cells
Change-Id: I7429a115df0719c918834886c4f6ef7823ef1414
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2022-12-01 22:59:08 +08:00
Jon Lin
181dca2e09 drivers: rkflash: Support read retry for spinand read ECC fail
Change-Id: I498bc8a133a709ac66c3aeeb1cdd5a5ef2e0b466
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2022-10-19 18:42:12 +08:00
Jon Lin
70680c754e drivers: rkflash: Using kmap_atomic to build page address mapping
The virtual address of allocated __GFP_HIGHMEM pages is not mapped,
Using kmap_atomic to build it, or it will failed like:

    Unable to handle kernel NULL pointer dereference at virtual address 00000000
    pgd = 50ec00c8
    [00000000] *pgd=00000000
    Internal error: Oops: 817 [#1] PREEMPT SMP ARM
    Modules linked in:
    CPU: 3 PID: 67 Comm: rkflash Not tainted 4.19.111 #67
    Hardware name: Generic DT based system
    PC is at memcpy+0x50/0x330
    LR is at 0x61640a68

Change-Id: I0cde9012d29e49d9ba751cb019ccfa784c01b7c7
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2022-10-13 19:10:35 +08:00
Jon Lin
b8eea96692 drivers: rkflash: Fix the error of repeatedly calling memory allocation
Reinit the spiflash in resume ops and result in memory leak.

Change-Id: Id0a12f115f267df91e27a9cfc9d01ecce71be256
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2022-08-17 09:26:20 +08:00
Jon Lin
21dbd7a7f5 drivers: rkflash: Update to SFTL version: 5.0.58 20220814
1.Check the data in second page
2.Fix V7-T:
undefined reference to `__stack_chk_guard' .. undefined reference to `__stack_chk_fail'

Change-Id: Ie494a6c0898fdc58601c4db925afbc5ba1a7e09e
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2022-08-15 14:48:35 +08:00
Jon Lin
69c9b262d0 drivers: rkflash: Config erase operation as SFC write direction
Change-Id: Ia55f347458ea6de4f95fb85f5391885fbbb1b677
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2022-05-27 10:54:42 +08:00
Jon Lin
030a8a1290 rkflash: Add clang compile version
Change-Id: I04cadb7734604cb63460af465462f192bb67d5b5
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2022-05-24 17:43:30 +08:00
Jon Lin
0d9e33dc55 drivers: rkflash: Recheck the cache only the spinand devices in need
The operation of reading back flash cache after programing is not
universal. At present, only ESMT devices are found to have this anomaly.

Change-Id: I3ec21eebc4aa7b8a259129ed2c036e1168553f27
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2021-10-15 19:45:14 +08:00
Jon Lin
dac6b60a6b drivers: rkflash: Not recheck the cache for XTX devices
Change-Id: I440b3a07d86bbdcbeaa6ab4b5282623bf6cb74c7
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2021-09-23 11:08:14 +08:00
Jon Lin
76e07d846c drivers: rkflash: support gc
Run a thread for nand gc.

Change-Id: I093fce2db9f511eda2d17e276ff3b350051f4b9e
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2021-09-16 09:21:35 +08:00
Jon Lin
30e7c5bd44 drivers: rkflash: Support new SPI Nand devices
GD5F1GQ4UExxH, W25N512GVEIG, SGM7000I-S24W1GH

Change-Id: Ib9e5422c3f57ef80e60fc6847d0ba9e1dd55dc3b
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2021-09-10 10:49:08 +08:00
Jon Lin
7418744b59 drivers: rkflash: Add mutex for deinit ops.
Change-Id: I477c161cb22f58263963a4d8e0d08eaeda676f69
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2021-09-10 10:48:16 +08:00
Jon Lin
e492952e0c drivers: rkflash: support new spiflash
Add F35SQA001G, W25Q128JWSQ, XT25F64F, P25Q32SL, GM25Q128A
Change XT25F256BSFIGU, MX25U51245G

Change-Id: Ib9f60efbd3aad72044b7f3b0ee5a1a93333f0005
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2021-09-10 10:48:06 +08:00