linux/drivers
Jaime Liao 82982175be mtd: spinand: macronix: Add support for serial NAND flash
commit c374839f9b upstream.

Macronix NAND Flash devices are available in different configurations
and densities.

MX"35" means SPI NAND
MX35"LF"/"UF" , LF means 3V and UF meands 1.8V
MX35LF"2G" , 2G means 2Gbits
MX35LF2G"E4"/"24"/"14",
E4 means internal ECC and Quad I/O(x4)
24 means 8-bit ecc requirement and Quad I/O(x4)
14 means 4-bit ecc requirement and Quad I/O(x4)

MX35LF2G14AC is 3V 2Gbit serial NAND flash device
(without on-die ECC)
https://www.mxic.com.tw/Lists/Datasheet/Attachments/7926/MX35LF2G14AC,%203V,%202Gb,%20v1.1.pdf

MX35UF4G24AD is 1.8V 4Gbit serial NAND flash device
(without on-die ECC)
https://www.mxic.com.tw/Lists/Datasheet/Attachments/7980/MX35UF4G24AD,%201.8V,%204Gb,%20v0.00.pdf

MX35UF4GE4AD/MX35UF2GE4AD are 1.8V 4G/2Gbit serial
NAND flash device with 8-bit on-die ECC
https://www.mxic.com.tw/Lists/Datasheet/Attachments/7983/MX35UF4GE4AD,%201.8V,%204Gb,%20v0.00.pdf

MX35UF2GE4AC/MX35UF1GE4AC are 1.8V 2G/1Gbit serial
NAND flash device with 8-bit on-die ECC
https://www.mxic.com.tw/Lists/Datasheet/Attachments/7974/MX35UF2GE4AC,%201.8V,%202Gb,%20v1.0.pdf

MX35UF2G14AC/MX35UF1G14AC are 1.8V 2G/1Gbit serial
NAND flash device (without on-die ECC)
https://www.mxic.com.tw/Lists/Datasheet/Attachments/7931/MX35UF2G14AC,%201.8V,%202Gb,%20v1.1.pdf

Validated via normal(default) and QUAD mode by read, erase, read back,
on Xilinx Zynq PicoZed FPGA board which included Macronix
SPI Host(drivers/spi/spi-mxic.c).

Signed-off-by: Jaime Liao <jaimeliao@mxic.com.tw>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/1621475108-22523-1-git-send-email-jaimeliao@mxic.com.tw
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-07-05 09:08:31 +02:00
..
accessibility
acpi ACPICA: Revert "ACPICA: avoid Info: mapping multiple BARs. Your kernel is fine." 2024-07-05 09:08:24 +02:00
amba amba: bus: fix refcount leak 2023-09-23 10:59:52 +02:00
android binder: fix max_thread type inconsistency 2024-06-16 13:28:48 +02:00
ata ata: libata-core: Fix double free on error 2024-07-05 09:08:31 +02:00
atm atm: idt77252: fix a memleak in open_card_ubr0 2024-02-23 08:25:06 +01:00
auxdisplay
base drivers: core: synchronize really_probe() and dev_uevent() 2024-07-05 09:08:18 +02:00
bcma
block null_blk: Fix the WARNING: modpost: missing MODULE_DESCRIPTION() 2024-06-16 13:28:45 +02:00
bluetooth Bluetooth: ath3k: Fix multiple issues reported by checkpatch.pl 2024-07-05 09:08:21 +02:00
bus bus: tegra-aconnect: Update dependency to ARCH_TEGRA 2024-03-26 18:22:15 -04:00
cdrom
char ppdev: Add an error check in register_device 2024-06-16 13:28:43 +02:00
clk clk: Don't hold prepare_lock when calling kref_put() 2024-05-17 11:43:53 +02:00
clocksource clocksource/drivers/timer-atmel-tcb: Fix initialization on SAM9 hardware 2023-11-28 16:50:13 +00:00
connector
counter
cpufreq cpufreq: exit() callback is optional 2024-06-16 13:28:34 +02:00
cpuidle
crypto crypto: qat - Fix ADF_DEV_RESET_SYNC memory leak 2024-06-16 13:28:51 +02:00
dax
dca
devfreq PM / devfreq: Fix leak in devfreq_dev_release() 2023-09-23 10:59:54 +02:00
dio
dma dmaengine: ioatdma: Fix missing kmem_cache_destroy() 2024-07-05 09:08:23 +02:00
dma-buf dma-buf/sw-sync: don't enable IRQ from sync_print_obj() 2024-06-16 13:28:47 +02:00
edac EDAC/thunderx: Fix possible out-of-bounds string access 2024-01-25 14:34:21 -08:00
eisa
extcon extcon: max8997: select IRQ_DOMAIN instead of depending on it 2024-06-16 13:28:43 +02:00
firewire firewire: nosy: ensure user_length is taken into account when fetching packet contents 2024-05-17 11:43:54 +02:00
firmware firmware: dmi-id: add a release callback function 2024-06-16 13:28:41 +02:00
fpga fpga: bridge: fix kernel-doc parameter description 2023-05-17 11:35:46 +02:00
fsi fsi: master-ast-cf: Add MODULE_FIRMWARE macro 2023-09-23 10:59:37 +02:00
gnss
gpio gpio: davinci: Validate the obtained number of IRQs 2024-07-05 09:08:28 +02:00
gpu drm/nouveau/dispnv04: fix null pointer dereference in nv17_tv_get_hd_modes 2024-07-05 09:08:31 +02:00
greybus greybus: Fix use-after-free bug in gb_interface_release due to race condition. 2024-07-05 09:08:20 +02:00
hid HID: logitech-dj: Fix memory leak in logi_dj_recv_switch_to_dj_mode() 2024-07-05 09:08:16 +02:00
hsi
hv hv_utils: drain the timesync packets on onchannelcallback 2024-07-05 09:08:20 +02:00
hwmon hwmon: (amc6821) add of_match table 2024-04-13 12:51:26 +02:00
hwspinlock
hwtracing intel_th: pci: Add Lunar Lake support 2024-07-05 09:08:19 +02:00
i2c i2c: ocores: set IACK bit after core is enabled 2024-07-05 09:08:24 +02:00
i3c i3c: master: cdns: Update maximum prescaler value for i2c clock 2024-02-23 08:25:02 +01:00
ide treewide: Remove uninitialized_var() usage 2023-06-09 10:29:01 +02:00
idle
iio iio: chemical: bme680: Fix sensor data read operation 2024-07-05 09:08:29 +02:00
infiniband RDMA/IPoIB: Fix format truncation compilation errors 2024-06-16 13:28:40 +02:00
input Input: try trimming too long modalias strings 2024-07-05 09:08:16 +02:00
interconnect interconnect: Treat xlate() returning NULL node as an error 2024-01-08 11:29:45 +01:00
iommu iommu/amd: Fix sysfs leak in iommu init 2024-07-05 09:08:16 +02:00
ipack
irqchip irqchip/alpine-msi: Fix off-by-one in allocation error path 2024-06-16 13:28:34 +02:00
isdn mISDN: Update parameter type of dsp_cmx_send() 2023-08-16 18:19:23 +02:00
leds leds: trigger: panic: Don't register panic notifier if creating the trigger failed 2024-02-23 08:25:02 +01:00
lightnvm
macintosh macintosh/via-macii: Fix "BUG: sleeping function called from invalid context" 2024-06-16 13:28:35 +02:00
mailbox mailbox: ti-msgmgr: Fill non-message tx data fields with 0x0 2023-07-27 08:37:23 +02:00
mcb mcb: fix error handling for different scenarios when parsing 2023-11-28 16:50:19 +00:00
md md/raid5: fix deadlock that raid5d() wait for itself to clear MD_SB_CHANGE_PENDING 2024-06-16 13:28:50 +02:00
media media: dvbdev: Initialize sbuf 2024-07-05 09:08:28 +02:00
memory memory: brcmstb_dpfe: fix testing array offset after use 2023-07-27 08:37:14 +02:00
memstick memstick r592: make memstick_debug_get_tpc_name() static 2023-07-27 08:37:10 +02:00
message scsi: message: mptlan: Fix use after free bug in mptlan_remove() due to race condition 2023-05-30 12:44:03 +01:00
mfd mfd: altera-sysmgr: Call of_node_put() only when of_parse_phandle() takes a ref 2024-03-26 18:22:21 -04:00
misc vmci: prevent speculation leaks by sanitizing event in event_deliver() 2024-07-05 09:08:18 +02:00
mmc mmc: sdhci: Do not lock spinlock around mmc_gpio_get_ro() 2024-07-05 09:08:29 +02:00
mtd mtd: spinand: macronix: Add support for serial NAND flash 2024-07-05 09:08:31 +02:00
mux
net net: usb: ax88179_178a: improve link status logs 2024-07-05 09:08:30 +02:00
nfc NFC: trf7970a: disable all regulators on removal 2024-05-02 16:18:33 +02:00
ntb ntb: Fix calculation ntb_transport_tx_free_entry() 2023-09-23 10:59:55 +02:00
nubus
nvdimm nd_btt: Make BTT lanes preemptible 2023-11-20 10:30:12 +01:00
nvme nvmet: fix ns enable/disable possible hang 2024-06-16 13:28:46 +02:00
nvmem nvmem: meson-efuse: fix function pointer type mismatch 2024-04-13 12:51:26 +02:00
of of: gpio unittest kfree() wrong object 2024-02-23 08:25:15 +01:00
opp OPP: Fix passing 0 to PTR_ERR in _opp_attach_genpd() 2023-09-23 10:59:40 +02:00
oprofile
parisc parisc: iosapic.c: Fix sparse warnings 2023-10-10 21:46:39 +02:00
parport parport: parport_serial: Add Brainboxes device IDs and geometry 2024-01-25 14:34:21 -08:00
pci PCI/PM: Avoid D3cold for HP Pavilion 17 PC/1972 PCIe Ports 2024-07-05 09:08:21 +02:00
pcmcia pcmcia: ds: fix possible name leak in error path in pcmcia_device_add() 2023-11-20 10:30:14 +01:00
perf perf/smmuv3: Enable HiSilicon Erratum 162001900 quirk for HIP08/09 2023-09-23 11:00:03 +02:00
phy phy: ti: phy-omap-usb2: Fix NULL pointer dereference for SRP 2024-02-23 08:25:06 +01:00
pinctrl pinctrl: rockchip: fix pinmux reset in rockchip_pmx_set 2024-07-05 09:08:26 +02:00
platform platform/x86: wmi: Make two functions static 2024-06-16 13:28:39 +02:00
pnp PNP: ACPI: fix fortify warning 2024-02-23 08:24:54 +01:00
power power: rt9455: hide unused rt9455_boost_voltage_values 2024-05-17 11:43:48 +02:00
powercap powercap: RAPL: Fix CONFIG_IOSF_MBI dependency 2023-07-27 08:37:06 +02:00
pps
ps3
ptp ptp: Fix error message on failed pin verification 2024-07-05 09:08:11 +02:00
pwm pwm: brcmstb: Utilize appropriate clock APIs in suspend/resume 2023-11-20 10:30:15 +01:00
rapidio
ras
regulator regulator: core: Fix modpost error "regulator_get_regmap" undefined 2024-07-05 09:08:23 +02:00
remoteproc remoteproc: st: Call of_node_put() on iteration error 2023-05-17 11:36:01 +02:00
reset reset: hisilicon: hi6220: fix Wvoid-pointer-to-enum-cast warning 2024-01-25 14:34:20 -08:00
rpmsg rpmsg: virtio: Free driver_override when rpmsg_remove() 2024-02-23 08:24:48 +01:00
rtc rtc: mt6397: select IRQ_DOMAIN instead of depending on it 2024-03-26 18:22:24 -04:00
s390 s390/ap: Fix crash in AP internal function modify_bitmap() 2024-06-16 13:28:52 +02:00
sbus
scsi scsi: qedi: Fix crash while reading debugfs attribute 2024-07-05 09:08:21 +02:00
sfi
sh
siox
slimbus slimbus: core: Remove usage of the deprecated ida_simple_xx() API 2024-04-13 12:51:26 +02:00
soc soc: ti: wkup_m3_ipc: Send NULL dummy message instead of pointer message 2024-07-05 09:08:28 +02:00
soundwire soundwire: cadence: fix invalid PDI offset 2024-06-16 13:28:41 +02:00
spi spi: stm32: Don't warn about spurious interrupts 2024-06-16 13:28:48 +02:00
spmi spmi: Add a check for remove callback when removing a SPMI driver 2023-05-17 11:35:49 +02:00
ssb treewide: Remove uninitialized_var() usage 2023-06-09 10:29:01 +02:00
staging greybus: arche-ctrl: move device table to its right location 2024-06-16 13:28:42 +02:00
target scsi: target: Fix SELinux error when systemd-modules loads the target module 2024-05-17 11:43:51 +02:00
tc
tee
thermal thermal: core: prevent potential string overflow 2023-11-20 10:30:09 +01:00
thunderbolt
tty tty: mcf: MCF54418 has 10 UARTS 2024-07-05 09:08:30 +02:00
uio uio: Fix use-after-free in uio_open 2024-01-25 14:34:21 -08:00
usb usb: atm: cxacru: fix endpoint checking in cxacru_bind() 2024-07-05 09:08:30 +02:00
vfio vfio/platform: Create persistent IRQ handlers 2024-04-13 12:51:34 +02:00
vhost vhost: Add smp_rmb() in vhost_vq_avail_empty() 2024-05-02 16:18:29 +02:00
video fbdev: savage: Handle err return when savagefb_check_var failed 2024-06-16 13:28:50 +02:00
virt
virtio virtio: delete vq in vp_find_vqs_msix() when request_irq() fails 2024-06-16 13:28:46 +02:00
visorbus
vlynq
vme
w1 w1: fix loop in w1_fini() 2023-07-27 08:37:19 +02:00
watchdog watchdog: stm32_iwdg: initialize default timeout 2024-03-26 18:22:24 -04:00
xen xen/events: close evtchn after mapping cleanup 2024-04-13 12:51:29 +02:00
zorro
Kconfig
Makefile