Hello, we have custom ls1021a board. We want to make qspi boot (nor flash) and ifc nand kernel+rootfs. The main problem that I don't see even ifc device probing with the kernel logs.
=> boot
PCIe1: pcie@3400000 Root Complex: no link
PCIe2: pcie@3500000 Root Complex: x1 gen2
starting openwrt ...
SF: Detected s25fl512s with page size 256 Bytes, erase size 256 KiB, total 64 MiB
device 0 offset 0xf00000, size 0x100000
SF: 1048576 bytes @ 0xf00000 Read: OK
device 0 offset 0x1000000, size 0x1000000
SF: 16777216 bytes @ 0x1000000 Read: OK
## Booting kernel from Legacy Image at 81000000 ...
Image Name: ARM OpenWrt Linux-5.4.143
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 5150072 Bytes = 4.9 MiB
Load Address: 80008000
Entry Point: 80008000
Verifying Checksum ... OK
## Flattened Device Tree blob at 8f000000
Booting using the fdt blob at 0x8f000000
Loading Kernel Image
Loading Device Tree to 8fff7000, end 8ffff45f ... OK
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0xf00
[ 0.000000] Linux version 5.4.143 (andrei@HOMEPC) (gcc version 8.4.0 (OpenWrt GCC 8.4.0 r16279-5cc0535800)) #0 SMP Tue Dec 14 13:18:39 2021
[ 0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=30c5387d
[ 0.000000] CPU: div instructions available: patching division code
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] OF: fdt: Machine model: LS1021A GLOMEX Board
[ 0.000000] earlycon: uart8250 at MMIO 0x00000000021c0500 (options '')
[ 0.000000] printk: bootconsole [uart8250] enabled
[ 0.000000] Memory policy: Data cache writealloc
[ 0.000000] cma: Failed to reserve 32 MiB
[ 0.000000] On node 0 totalpages: 131072
[ 0.000000] DMA zone: 1062 pages used for memmap
[ 0.000000] DMA zone: 0 pages reserved
[ 0.000000] DMA zone: 120832 pages, LIFO batch:31
[ 0.000000] HighMem zone: 10240 pages, LIFO batch:1
[ 0.000000] psci: probing for conduit method from DT.
[ 0.000000] psci: PSCIv1.0 detected in firmware.
[ 0.000000] psci: Using standard PSCI v0.2 function IDs
[ 0.000000] psci: MIGRATE_INFO_TYPE not supported.
[ 0.000000] psci: SMC Calling Convention v1.0
[ 0.000000] percpu: Embedded 15 pages/cpu s30924 r8192 d22324 u61440
[ 0.000000] pcpu-alloc: s30924 r8192 d22324 u61440 alloc=15*4096
[ 0.000000] pcpu-alloc: [0] 0 [0] 1
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 130010
[ 0.000000] Kernel command line: root=/dev/mtdblock7 rootfstype=squashfs,jffs2 noinitrd earlycon=uart8250,mmio,0x21c0500 console=ttyS0,115200 mtdparts=1550000.spi:1m(rcw),2m(u-boot),512k(u-boot-env-1),512k(u-boot-env-2),11m(reserved-1),1m(dtb),16m(kernel),32m(rootfs),49m@0xf00000(firmware);60000000.flash:32m(user-data) cma=32M@0x0-0x60000000 vmalloc=544M
[ 0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes, linear)
[ 0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes, linear)
[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[ 0.000000] software IO TLB: mapped [mem 0x992ec000-0x9d2ec000] (64MB)
[ 0.000000] Memory: 438284K/524288K available (8192K kernel code, 243K rwdata, 1988K rodata, 2048K init, 267K bss, 86004K reserved, 0K cma-reserved, 40960K highmem)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
[ 0.000000] rcu: Hierarchical RCU implementation.
[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[ 0.000000] GIC: Using split EOI/Deactivate mode
[ 0.000000] random: get_random_bytes called from start_kernel+0x2fc/0x4ac with crng_init=0
[ 0.000000] arch_timer: cp15 timer(s) running at 12.50MHz (phys).
[ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x2e2049cda, max_idle_ns: 440795202628 ns
[ 0.000005] sched_clock: 56 bits at 12MHz, resolution 80ns, wraps every 4398046511080ns
[ 0.008023] Switching to timer-based delay loop, resolution 80ns
[ 0.014643] Console: colour dummy device 80x30
[ 0.019132] Calibrating delay loop (skipped), value calculated using timer frequency.. 25.00 BogoMIPS (lpj=125000)
[ 0.029513] pid_max: default: 32768 minimum: 301
[ 0.034287] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.041625] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.050152] CPU: Testing write buffer coherency: ok
[ 0.055402] CPU0: update cpu_capacity 1024
[ 0.059507] CPU0: thread -1, cpu 0, socket 15, mpidr 80000f00
[ 0.065782] Setting up static identity map for 0x80200000 - 0x80200060
[ 0.072420] rcu: Hierarchical SRCU implementation.
[ 0.077933] smp: Bringing up secondary CPUs ...
[ 0.083104] CPU1: update cpu_capacity 1024
[ 0.083110] CPU1: thread -1, cpu 1, socket 15, mpidr 80000f01
[ 0.083226] smp: Brought up 1 node, 2 CPUs
[ 0.097205] SMP: Total of 2 processors activated (50.00 BogoMIPS).
[ 0.103403] CPU: All CPU(s) started in HYP mode.
[ 0.108021] CPU: Virtualization extensions available.
[ 0.117297] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
[ 0.125191] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.135071] futex hash table entries: 512 (order: 3, 32768 bytes, linear)
[ 0.142007] pinctrl core: initialized pinctrl subsystem
[ 0.147839] NET: Registered protocol family 16
[ 0.152823] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.160800] cpuidle: using governor menu
[ 0.164868] No ATAGs?
[ 0.166900] Machine: LS1021A GLOMEX Board
[ 0.173212] SoC family: QorIQ LS1021A
[ 0.176873] SoC ID: svr:0x87001120, Revision: 2.0
[ 0.200537] SCSI subsystem initialized
[ 0.204523] usbcore: registered new interface driver usbfs
[ 0.210066] usbcore: registered new interface driver hub
[ 0.215435] usbcore: registered new device driver usb
[ 0.220821] imx-i2c 2180000.i2c: can't get pinctrl, bus recovery not supported
[ 0.228320] i2c i2c-0: IMX I2C adapter registered
[ 0.233065] i2c i2c-0: using dma0chan16 (tx) and dma0chan17 (rx) for DMA transfers
[ 0.240847] imx-i2c 2190000.i2c: can't get pinctrl, bus recovery not supported
[ 0.248397] pca953x 1-0020: using no AI
[ 0.273041] i2c i2c-1: IMX I2C adapter registered
[ 0.277819] i2c i2c-1: using dma0chan18 (tx) and dma0chan19 (rx) for DMA transfers
[ 0.285562] pps_core: LinuxPPS API ver. 1 registered
[ 0.290544] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.299708] PTP clock support registered
[ 0.304170] workqueue: max_active 576 requested for napi_workq is out of range, clamping between 1 and 512
[ 0.314407] Bluetooth: Core ver 2.22
[ 0.318018] NET: Registered protocol family 31
[ 0.322475] Bluetooth: HCI device and connection manager initialized
[ 0.328861] Bluetooth: HCI socket layer initialized
[ 0.333748] Bluetooth: L2CAP socket layer initialized
[ 0.338816] Bluetooth: SCO socket layer initialized
[ 0.344080] clocksource: Switched to clocksource arch_sys_counter
[ 0.354713] thermal_sys: Registered thermal governor 'step_wise'
[ 0.355072] NET: Registered protocol family 2
[ 0.365649] IP idents hash table entries: 8192 (order: 4, 65536 bytes, linear)
[ 0.373418] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes, linear)
[ 0.381826] TCP established hash table entries: 4096 (order: 2, 16384 bytes, linear)
[ 0.389633] TCP bind hash table entries: 4096 (order: 3, 32768 bytes, linear)
[ 0.396851] TCP: Hash tables configured (established 4096 bind 4096)
[ 0.403312] UDP hash table entries: 256 (order: 1, 8192 bytes, linear)
[ 0.409894] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear)
[ 0.417060] NET: Registered protocol family 1
[ 0.421444] PCI: CLS 0 bytes, default 64
[ 0.426540] workingset: timestamp_bits=14 max_order=17 bucket_order=3
[ 0.440532] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.446577] ntfs: driver 2.1.32 [Flags: R/O].
[ 0.451130] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[ 0.461336] fuse: init (API version 7.31)
[ 0.499675] bounce: pool size: 64 pages
[ 0.505172] layerscape-pcie 3400000.pcie: host bridge /soc/pcie@3400000 ranges:
[ 0.512529] layerscape-pcie 3400000.pcie: IO 0x4000010000..0x400001ffff -> 0x00000000
[ 0.520683] layerscape-pcie 3400000.pcie: MEM 0x4040000000..0x407fffffff -> 0x40000000
[ 0.529065] layerscape-pcie 3400000.pcie: PCI host bridge to bus 0000:00
[ 0.535807] pci_bus 0000:00: root bus resource [bus 00-ff]
[ 0.541304] pci_bus 0000:00: root bus resource [io 0x0000-0xffff]
[ 0.547513] pci_bus 0000:00: root bus resource [mem 0x4040000000-0x407fffffff] (bus address [0x40000000-0x7fffffff])
[ 0.558094] pci 0000:00:00.0: [1957:0e0b] type 01 class 0x060400
[ 0.564202] pci 0000:00:00.0: supports D1 D2
[ 0.568479] pci 0000:00:00.0: PME# supported from D0 D1 D2 D3hot
[ 0.575834] PCI: bus0: Fast back to back transfers disabled
[ 0.582576] PCI: bus1: Fast back to back transfers enabled
[ 0.588114] pci 0000:00:00.0: PCI bridge to [bus 01-ff]
[ 0.593640] pcieport 0000:00:00.0: PME: Signaling with IRQ 42
[ 0.599697] pcieport 0000:00:00.0: AER: enabled with IRQ 43
[ 0.605548] layerscape-pcie 3500000.pcie: host bridge /soc/pcie@3500000 ranges:
[ 0.612897] layerscape-pcie 3500000.pcie: IO 0x4800010000..0x480001ffff -> 0x00000000
[ 0.621038] layerscape-pcie 3500000.pcie: MEM 0x4840000000..0x487fffffff -> 0x40000000
[ 0.629324] layerscape-pcie 3500000.pcie: PCI host bridge to bus 0001:00
[ 0.636062] pci_bus 0001:00: root bus resource [bus 00-ff]
[ 0.641561] pci_bus 0001:00: root bus resource [io 0x10000-0x1ffff] (bus address [0x0000-0xffff])
[ 0.650556] pci_bus 0001:00: root bus resource [mem 0x4840000000-0x487fffffff] (bus address [0x40000000-0x7fffffff])
[ 0.661130] pci 0001:00:00.0: [1957:0e0b] type 01 class 0x060400
[ 0.667222] pci 0001:00:00.0: supports D1 D2
[ 0.671499] pci 0001:00:00.0: PME# supported from D0 D1 D2 D3hot
[ 0.678813] PCI: bus0: Fast back to back transfers disabled
[ 0.684543] pci 0001:01:00.0: [1b4b:2b42] type 00 class 0x020000
[ 0.690588] pci 0001:01:00.0: MSI quirk detected; MSI disabled
[ 0.696509] pci 0001:01:00.0: reg 0x10: [mem 0x38000000-0x380fffff 64bit pref]
[ 0.703780] pci 0001:01:00.0: reg 0x18: [mem 0x38100000-0x381fffff 64bit pref]
[ 0.711305] pci 0001:01:00.0: supports D1 D2
[ 0.715594] pci 0001:01:00.0: PME# supported from D0 D1 D3hot D3cold
[ 0.745230] PCI: bus1: Fast back to back transfers disabled
[ 0.750845] pci 0001:00:00.0: BAR 9: assigned [mem 0x4840000000-0x48401fffff 64bit pref]
[ 0.758980] pci 0001:01:00.0: BAR 0: assigned [mem 0x4840000000-0x48400fffff 64bit pref]
[ 0.767127] pci 0001:01:00.0: BAR 2: assigned [mem 0x4840100000-0x48401fffff 64bit pref]
[ 0.775267] pci 0001:00:00.0: PCI bridge to [bus 01-ff]
[ 0.780505] pci 0001:00:00.0: bridge window [mem 0x4840000000-0x48401fffff 64bit pref]
[ 0.788873] pcieport 0001:00:00.0: PME: Signaling with IRQ 44
[ 0.795513] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[ 0.804380] printk: console [ttyS0] disabled
[ 0.808721] 21c0500.serial: ttyS0 at MMIO 0x21c0500 (irq = 31, base_baud = 9375000) is a 16550A
[ 0.817479] printk: console [ttyS0] enabled
[ 0.817479] printk: console [ttyS0] enabled
[ 0.825833] printk: bootconsole [uart8250] disabled
[ 0.825833] printk: bootconsole [uart8250] disabled
[ 0.835955] 21c0600.serial: ttyS1 at MMIO 0x21c0600 (irq = 31, base_baud = 9375000) is a 16550A
[ 0.845085] STMicroelectronics ASC driver initialized
[ 0.858572] brd: module loaded
[ 0.865584] loop: module loaded
[ 0.907010] random: fast init done
[ 1.045694] random: crng init done
[ 1.427218] spi-nor spi0.0: s25fl512s (65536 Kbytes)
[ 1.432182] 9 cmdlinepart partitions found on MTD device 1550000.spi
[ 1.438516] Creating 9 MTD partitions on "1550000.spi":
[ 1.443717] 0x000000000000-0x000000100000 : "rcw"
[ 1.448811] ftl_cs: FTL header not found.
[ 1.453595] 0x000000100000-0x000000300000 : "u-boot"
[ 1.458943] ftl_cs: FTL header not found.
[ 1.463572] 0x000000300000-0x000000380000 : "u-boot-env-1"
[ 1.469355] ftl_cs: FTL header not found.
[ 1.473952] 0x000000380000-0x000000400000 : "u-boot-env-2"
[ 1.479731] ftl_cs: FTL header not found.
[ 1.484344] 0x000000400000-0x000000f00000 : "reserved-1"
[ 1.489965] ftl_cs: FTL header not found.
[ 1.494595] 0x000000f00000-0x000001000000 : "dtb"
[ 1.499610] ftl_cs: FTL header not found.
[ 1.504251] 0x000001000000-0x000002000000 : "kernel"
[ 1.509525] ftl_cs: FTL header not found.
[ 1.514186] 0x000002000000-0x000004000000 : "rootfs"
[ 1.519461] ftl_cs: FTL header not found.
[ 1.523889] mtd: device 7 (rootfs) set to be root filesystem
[ 1.529579] 1 squashfs-split partitions found on MTD device rootfs
[ 1.535750] 0x000003980000-0x000004000000 : "rootfs_data"
[ 1.541466] ftl_cs: FTL header not found.
[ 1.546074] 0x000000f00000-0x000004000000 : "firmware"
[ 1.551525] ftl_cs: FTL header not found.
[ 1.556691] libphy: Fixed MDIO Bus: probed
[ 1.561360] Atheros(R) L2 Ethernet Driver - version 2.2.3
[ 1.566750] Copyright (c) 2007 Atheros Corporation.
[ 1.572067] libphy: Freescale PowerQUICC MII Bus: probed
[ 1.579024] libphy: Freescale PowerQUICC MII Bus: probed
[ 1.585355] fsl-gianfar soc:ethernet@2d10000: enabled errata workarounds, flags: 0x4
[ 1.603784] fsl-gianfar soc:ethernet@2d10000 eth0: mac: 00:04:9f:03:5b:c1
[ 1.610554] fsl-gianfar soc:ethernet@2d10000 eth0: Running with NAPI enabled
[ 1.617576] fsl-gianfar soc:ethernet@2d10000 eth0: RX BD ring size for Q[0]: 256
[ 1.624942] fsl-gianfar soc:ethernet@2d10000 eth0: RX BD ring size for Q[1]: 256
[ 1.632299] fsl-gianfar soc:ethernet@2d10000 eth0: TX BD ring size for Q[0]: 256
[ 1.639664] fsl-gianfar soc:ethernet@2d10000 eth0: TX BD ring size for Q[1]: 256
[ 1.647453] fsl-gianfar soc:ethernet@2d50000: enabled errata workarounds, flags: 0x4
[ 1.665817] fsl-gianfar soc:ethernet@2d50000 eth1: mac: 00:00:00:00:00:00
[ 1.672572] fsl-gianfar soc:ethernet@2d50000 eth1: Running with NAPI enabled
[ 1.679597] fsl-gianfar soc:ethernet@2d50000 eth1: RX BD ring size for Q[0]: 256
[ 1.686963] fsl-gianfar soc:ethernet@2d50000 eth1: RX BD ring size for Q[1]: 256
[ 1.694336] fsl-gianfar soc:ethernet@2d50000 eth1: TX BD ring size for Q[0]: 256
[ 1.701693] fsl-gianfar soc:ethernet@2d50000 eth1: TX BD ring size for Q[1]: 256
[ 1.709253] usbcore: registered new interface driver cdc_acm
[ 1.714893] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[ 1.722945] usbcore: registered new interface driver usbserial_generic
[ 1.729470] usbserial: USB Serial support registered for generic
[ 1.735476] usbcore: registered new interface driver option
[ 1.741034] usbserial: USB Serial support registered for GSM modem (1-port)
[ 1.748776] ftm-alarm 29d0000.timer0: registered as rtc1
[ 1.754199] i2c /dev entries driver
[ 1.758458] pps pps0: new PPS source ptp0
[ 1.763492] imx2-wdt 2ad0000.watchdog: timeout 60 sec (nowayout=0)
[ 1.769725] Bluetooth: HCI UART driver ver 2.3
[ 1.774155] Bluetooth: HCI UART protocol H4 registered
[ 1.779262] Bluetooth: HCI UART protocol BCSP registered
[ 1.785063] qoriq_cpufreq: Freescale QorIQ CPU frequency scaling driver
[ 1.791834] sdhci: Secure Digital Host Controller Interface driver
[ 1.798003] sdhci: Copyright(c) Pierre Ossman
[ 1.802333] sdhci-pltfm: SDHCI platform and OF driver helper
[ 1.834034] mmc0: SDHCI controller on 1560000.esdhc [1560000.esdhc] using ADMA 64-bit
[ 1.842365] hidraw: raw HID events driver (C) Jiri Kosina
[ 1.849363] NET: Registered protocol family 10
[ 1.855391] Segment Routing with IPv6
[ 1.859098] NET: Registered protocol family 17
[ 1.863683] Bluetooth: RFCOMM TTY layer initialized
[ 1.868579] Bluetooth: RFCOMM socket layer initialized
[ 1.873706] Bluetooth: RFCOMM ver 1.11
[ 1.877466] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 1.882747] Bluetooth: BNEP filters: protocol multicast
[ 1.887956] Bluetooth: BNEP socket layer initialized
[ 1.892890] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[ 1.898787] Bluetooth: HIDP socket layer initialized
[ 1.903722] 8021q: 802.1Q VLAN Support v1.8
[ 1.908048] ThumbEE CPU extension supported.
[ 1.912302] Registering SWP/SWPB emulation handler
[ 1.921922] hctosys: unable to open rtc device (rtc0)
[ 1.929394] VFS: Mounted root (squashfs filesystem) readonly on device 31:7.
[ 1.939623] Freeing unused kernel memory: 2048K
[ 1.970394] mmc0: new SD card at address d555
[ 1.975502] Run /sbin/init as init process
[ 1.976456] mmcblk0: mmc0:d555 SU01G 969 MiB
[ 1.987580] mmcblk0: p1 p2 p3
[ 2.194599] init: Console is alive
[ 2.198151] init: - watchdog -
[ 2.559918] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[ 2.582194] dwc3 3100000.usb3: Failed to get clk 'ref': -2
[ 2.589349] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
[ 2.594898] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 1
[ 2.602713] xhci-hcd xhci-hcd.1.auto: hcc params 0x0220f66c hci version 0x100 quirks 0x0000000002010810
[ 2.612155] xhci-hcd xhci-hcd.1.auto: irq 41, io mem 0x03100000
[ 2.618914] hub 1-0:1.0: USB hub found
[ 2.622680] hub 1-0:1.0: 1 port detected
[ 2.633238] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
[ 2.638735] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 2
[ 2.646382] xhci-hcd xhci-hcd.1.auto: Host supports USB 3.0 SuperSpeed
[ 2.653474] hub 2-0:1.0: USB hub found
[ 2.657330] hub 2-0:1.0: 1 port detected
[ 2.670337] input: gpio-keys as /devices/platform/gpio-keys/input/input0
[ 2.677292] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[ 2.685616] init: - preinit -
Press the [f] key and hit [enter] to enter failsafe mode
Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level
When I boot from qspi, I can see both devices with mtdparts:
=> sf probe
SF: Detected s25fl512s with page size 256 Bytes, erase size 256 KiB, total 64 MiB
=> mtd list
List of MTD devices:
* nand0
- type: NAND flash
- block size: 0x20000 bytes
- min I/O: 0x800 bytes
- OOB size: 64 bytes
- OOB available: 30 bytes
- ECC strength: 4 bits
- ECC step size: 512 bytes
- bitflip threshold: 3 bits
- 0x000000000000-0x000008000000 : "nand0"
- 0x000000000000-0x000002000000 : "user-data"
* nor0
- type: NOR flash
- block size: 0x40000 bytes
- min I/O: 0x1 bytes
- 0x000000000000-0x000004000000 : "nor0"
- 0x000000000000-0x000000100000 : "rcw"
- 0x000000100000-0x000000300000 : "u-boot"
- 0x000000300000-0x000000380000 : "u-boot-env-1"
- 0x000000380000-0x000000400000 : "u-boot-env-2"
- 0x000000400000-0x000000f00000 : "reserved-1"
- 0x000000f00000-0x000001000000 : "dtb"
- 0x000001000000-0x000002000000 : "kernel"
- 0x000002000000-0x000004000000 : "rootfs"
- 0x000000f00000-0x000004000000 : "firmware"
=> mtdparts
device nor0 <1550000.spi>, # parts = 9
#: name size offset mask_flags
0: rcw 0x00100000 0x00000000 0
1: u-boot 0x00200000 0x00100000 0
2: u-boot-env-1 0x00080000 0x00300000 0
3: u-boot-env-2 0x00080000 0x00380000 0
4: reserved-1 0x00b00000 0x00400000 0
5: firmware 0x03100000 0x00f00000 0
6: dtb 0x00100000 0x00f00000 0
7: kernel 0x01000000 0x01000000 0
8: rootfs 0x02000000 0x02000000 0
device nand0 <60000000.flash>, # parts = 1
#: name size offset mask_flags
0: user-data 0x02000000 0x00000000 0
active partition: nor0,0 - (rcw) 0x00100000 @ 0x00000000
defaults:
mtdids : nor0=1550000.spi,nand0=60000000.flash
mtdparts: mtdparts=1550000.spi:1m(rcw),2m(u-boot),512k(u-boot-env-1),512k(u-boot-env-2),11m(reserved-1),1m(dtb),16m(kernel),32m(rootfs),49m@0xf00000(firmware);60000000.flash:32m(user-data)
I want to use cmdline partitioning with bootargs:
I use RCW:
And kernel DTS:
&ifc {
#address-cells = <2>;
#size-cells = <1>;
ranges = <0x0 0x0 0x0 0x60000000 0x00010000>;
status = "okay";
nand@0,0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "fsl,ifc-nand";
reg = <0x0 0x0 0x10000>;
bank-width = <1>;
device-width = <1>;
};
};
&qspi {
num-cs = <2>;
status = "okay";
qflash0: s25fl512s@0 {
compatible = "spansion,s25fl512s";
#address-cells = <1>;
#size-cells = <1>;
spi-max-frequency = <20000000>;
reg = <0>;
spi-rx-bus-width = <4>;
spi-tx-bus-width = <4>;
};
};
And kernel konfig with mtd part:
已解决! 转到解答。
On ls1021a, qspi pins muxed with some pins of IFC. You could refer to the RCW field descriptions in LS1021A RM.
In LSDK QSPI and IFC(NOR, NAND) cannot be used simultaneously.
.
In your Linux Kernel booting up log, I didn't find the following message.
root@ls1021atwr:~# dmesg | grep ifc
[ 0.070784] fsl-ifc 1530000.memory-controller: Freescale Integrated Flash Controller
[ 0.070842] fsl-ifc 1530000.memory-controller: IFC version 1.4, 8 banks
Your dts file looks reasonable, please check your Kernel configuration file whether "CONFIG_FSL_IFC=y" is enabled.
Hello, I have
CONFIG_FSL_IFC=y
in my kernel config, I can see ifc nand in kernel boot log with sdcard boot (but can't see any qspi logs), but when I try to do it with qspi boot, there are no logs about ifc at all.
Hello @yipingwang ,
I'm in the same situation, qspi boot (with nand accessible in u-boot) but in the kernel IFC is not probed.
Where do you found this information ? I don't see this anywhere. Why is it working in u-boot and not in linux ?
LSDK QSPI and IFC(NOR, NAND) cannot be used simultaneously
Here is my schema of the board
RCW are:
Do you know how can I use the nand flash?
Thank you