我有一个 ls1046a 载板,想使用 QSPI_B (用作 SPI,即仅使用 QSPI_B_SCK、QSPI_B_DATA0 和 QSPI_B_DATA1) 来连接 mcp2518fd(spi 到 can 控制器)。
请查看我在下面的 fsl-ls1046a-rdb.dts 中所做的更改。
&qspi {
status = \"okay\";
// added by Yen for mcp2518fd
can0@2 {
compa
tible = \"microchip,mcp2518fd\";
reg = <2>;
clocks = <&mcp2518fd_osc>;
spi-max-frequency = <20000000>;
interrupt-parent = <&gpio0>;
interrupts = <27 IRQ_TYPE_LEVEL_LOW>; // Change to IRQ07/GPIO1_27, IRQ_TYPE_LEVEL_LOW/IRQ_TYPE_EDGE_FALLING
vdd-supply = <&sb_3v3>;
xceiver-supply = <&sb_5v0>;
};
////
};
下面的引导日志
NOTICE: 16 GB DDR4, 64-bit, CL=15, ECC on, CS0+CS1
NOTICE: BL2: v2.4(release):33fba6a3d-dirty
NOTICE: BL2: Built : 16:24:50, May 4 2023
NOTICE: BL2: Booting BL31
NOTICE: BL31: v2.4(release):33fba6a3d-dirty
NOTICE: BL31: Built : 16:24:50, May 4 2023
NOTICE: Welcome to ls1046aa518 BL31 Phase
U-Boot 2021.04 (May 04 2023 - 16:24:36 +0800)
SoC: LS1046AE Rev1.0 (0x87070010)
Clock Configuration:
CPU0(A72):1800 MHz CPU1(A72):1800 MHz CPU2(A72):1800 MHz
CPU3(A72):1800 MHz
Bus: 700 MHz DDR: 2100 MT/s FMAN: 800 MHz
Reset Configuration Word (RCW):
00000000: 0e150012 10000000 00000000 00000000
00000010: 11335577 40005012 40025000 c1000000
00000020: 00800000 00000000 00000000 00238805
00000030: 20124000 20023000 00000096 00000001
Model: LS1046A A518 Board
Board: LS1046AA518, boot from QSPI vBank 4
CPLD: V2.3
PCBA: V3.0
SERDES Reference Clocks:
SD1_CLK1 = 156.25MHZ, SD1_CLK2 = 100.00MHZ
DRAM: 15.9 GiB (DDR4, 64-bit, CL=15, ECC on)
DDR Chip-Select Interleaving Mode: CS0+CS1
Using SERDES1 Protocol: 4403 (0x1133)
Using SERDES2 Protocol: 21879 (0x5577)
NAND: 512 MiB
MMC: FSL_SDHC: 0
Loading Environment from SPIFlash... SF: Detected s25fs512s with page size 256 Bytes, erase size 256 KiB, total 64 MiB
*** Warning - bad CRC, using default environment
EEPROM: NXID v1
In: serial
Out: serial
Err: serial
SEC0: RNG instantiated
PCIe1: pcie_ep@3400000 Endpoint: no link
PCIe2: pcie_ep@3500000 Endpoint: no link
Net: SF: Detected s25fs512s with page size 256 Bytes, erase size 256 KiB, total 64 MiB
Fman1: Uploading microcode version 106.4.18
Could not get PHY for mdio@fd000: addr 15
eth0: fm1-mac5, eth1: fm1-mac6, eth2: fm1-mac9Could not get PHY for mdio@fd000: addr 15
Hit any key to stop autoboot: 0
=> run qspi_bootcmd
Trying load from qspi..
SF: Detected s25fs512s with page size 256 Bytes, erase size 256 KiB, total 64 MiB
device 0 offset 0x1000000, size 0x2800000
SF: 41943040 bytes @ 0x1000000 Read: OK
## Loading kernel from FIT Image at a0000000 ...
Using \'ls1046aa518\' configuration
Trying \'kernel\' kernel subimage
Description: ARM64 Kernel
Type: Kernel Image
Compression: gzip compressed
Data Start: 0xa00000d0
Data Size: 14069718 Bytes = 13.4 MiB
Architecture: AArch64
OS: Linux
Load Address: 0x84080000
Entry Point: 0x84080000
Verifying Hash Integrity ... OK
## Loading ramdisk from FIT Image at a0000000 ...
Using \'ls1046aa518\' configuration
Trying \'initrd\' ramdisk subimage
Description: initrd for arm64
Type: RAMDisk Image
Compression: uncompressed
Data Start: 0xa0d6b154
Data Size: 20306668 Bytes = 19.4 MiB
Architecture: AArch64
OS: Linux
Load Address: 0x00000000
Entry Point: 0x00000000
Verifying Hash Integrity ... OK
## Loading fdt from FIT Image at a0000000 ...
Using \'ls1046aa518\' configuration
Trying \'ls1046aa518-dtb\' fdt subimage
Description: ls1046aa518-dtb
Type: Flat Device Tree
Compression: uncompressed
Data Start: 0xa2103134
Data Size: 40116 Bytes = 39.2 KiB
Architecture: AArch64
Load Address: 0x90000000
Verifying Hash Integrity ... OK
Loading fdt from 0xa2103134 to 0x90000000
Booting using the fdt blob at 0x90000000
Uncompressing Kernel Image
Loading Ramdisk to 8eca2000, end 8ffffaec ... OK
Loading Device Tree to 000000008ec85000, end 000000008eca1cb3 ... OK
PCIe3: pcie@3600000 Root Complex: no link
WARNING failed to get smmu node: FDT_ERR_NOTFOUND
WARNING failed to get smmu node: FDT_ERR_NOTFOUND
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd082]
[ 0.000000] Linux version 5.10.35 (pcp@yen-desktopxxx) (aarch64-linux-gnu-gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #1 SMP PREEMPT Thu May 4 16:26:43 CST 2023
[ 0.000000] Machine model: LS1046A A518 Board
[ 0.000000] earlycon: uart8250 at MMIO 0x00000000021c0500 (options \'\')
[ 0.000000] printk: bootconsole [uart8250] enabled
[ 0.000000] efi: UEFI not found.
[ 0.000000] [Firmware Bug]: Kernel image misaligned at boot, please fix your bootloader!
[ 0.000000] OF: reserved mem: initialized node bman-fbpr, compatible id fsl,bman-fbpr
[ 0.000000] cma: Reserved 32 MiB at 0x00000000f9c00000
[ 0.000000] NUMA: No NUMA configuration found
[ 0.000000] NUMA: Faking a node at [mem 0x0000000080000000-0x0000000bff7fffff]
[ 0.000000] NUMA: NODE_DATA [mem 0xbfa800b00-0xbfa802fff]
[ 0.000000] Zone ranges:
[ 0.000000] DMA [mem 0x0000000080000000-0x00000000ffffffff]
[ 0.000000] DMA32 empty
[ 0.000000] Normal [mem 0x0000000100000000-0x0000000bff7fffff]
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000080000000-0x00000000fbdfffff]
[ 0.000000] node 0: [mem 0x0000000880000000-0x0000000bfbffffff]
[ 0.000000] node 0: [mem 0x0000000bff000000-0x0000000bff7fffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x0000000bff7fffff]
[ 0.000000] psci: probing for conduit method from DT.
[ 0.000000] psci: PSCIv1.1 detected in firmware.
[ 0.000000] psci: Using standard PSCI v0.2 function IDs
[ 0.000000] psci: Trusted OS migration not required
[ 0.000000] psci: SMC Calling Convention v1.2
[ 0.000000] percpu: Embedded 23 pages/cpu s56728 r8192 d29288 u94208
[ 0.000000] Detected PIPT I-cache on CPU0
[ 0.000000] CPU features: detected: EL2 vector hardening
[ 0.000000] CPU features: kernel page table isolation forced ON by KASLR
[ 0.000000] CPU features: detected: Kernel page table isolation (KPTI)
[ 0.000000] CPU features: detected: Spectre-v2
[ 0.000000] CPU features: detected: ARM errata 1165522, 1319367, or 1530923
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 4097760
[ 0.000000] Policy zone: Normal
[ 0.000000] Kernel command line: console=ttyS0,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21c0500 mtdparts=1550000.spi-0:1m(rcw),15m(u-boot),48m(kernel.itb);7e800000.flash:16m(nand_uboot),48m(nand_kernel),448m(nand_free)
[ 0.000000] Dentry cache hash table entries: 2097152 (order: 12, 16777216 bytes, linear)
[ 0.000000] Inode-cache hash table entries: 1048576 (order: 11, 8388608 bytes, linear)
[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[ 0.000000] software IO TLB: mapped [mem 0x00000000f5c00000-0x00000000f9c00000] (64MB)
[ 0.000000] Memory: 16175484K/16652288K available (18624K kernel code, 3048K rwdata, 9476K rodata, 6464K init, 568K bss, 444036K reserved, 32768K cma-reserved)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[ 0.000000] rcu: Preemptible hierarchical RCU implementation.
[ 0.000000] rcu: RCU event tracing is enabled.
[ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=4.
[ 0.000000] Trampoline variant of Tasks RCU enabled.
[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
[ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[ 0.000000] GIC: Adjusting CPU interface base to 0x000000000142f000
[ 0.000000] GIC: Using split EOI/Deactivate mode
[ 0.000000] random: get_random_bytes called from start_kernel+0x32c/0x4f0 with crng_init=0
[ 0.000000] arch_timer: cp15 timer(s) running at 25.00MHz (phys).
[ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x5c40939b5, max_idle_ns: 440795202646 ns
[ 0.000001] sched_clock: 56 bits at 25MHz, resolution 40ns, wraps every 4398046511100ns
[ 0.008436] Console: colour dummy device 80x25
[ 0.012936] Calibrating delay loop (skipped), value calculated using timer frequency.. 50.00 BogoMIPS (lpj=100000)
[ 0.023348] pid_max: default: 32768 minimum: 301
[ 0.028016] LSM: Security Framework initializing
[ 0.032743] Mount-cache hash table entries: 32768 (order: 6, 262144 bytes, linear)
[ 0.040419] Mountpoint-cache hash table entries: 32768 (order: 6, 262144 bytes, linear)
[ 0.049104] rcu: Hierarchical SRCU implementation.
[ 0.054862] EFI services will not be available.
[ 0.059515] smp: Bringing up secondary CPUs ...
[ 0.064299] Detected PIPT I-cache on CPU1
[ 0.064323] CPU1: Booted secondary processor 0x0000000001 [0x410fd082]
[ 0.064568] Detected PIPT I-cache on CPU2
[ 0.064584] CPU2: Booted secondary processor 0x0000000002 [0x410fd082]
[ 0.064830] Detected PIPT I-cache on CPU3
[ 0.064847] CPU3: Booted secondary processor 0x0000000003 [0x410fd082]
[ 0.064882] smp: Brought up 1 node, 4 CPUs
[ 0.100754] SMP: Total of 4 processors activated.
[ 0.105482] CPU features: detected: 32-bit EL0 Support
[ 0.110653] CPU features: detected: CRC32 instructions
[ 0.115819] CPU features: detected: 32-bit EL1 Support
[ 0.130007] CPU: All CPU(s) started at EL2
[ 0.134133] alternatives: patching kernel code
[ 0.139154] devtmpfs: initialized
[ 0.144776] KASLR enabled
[ 0.147473] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[ 0.157275] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[ 0.164507] pinctrl core: initialized pinctrl subsystem
[ 0.170213] DMI not present or invalid.
[ 0.174268] NET: Registered protocol family 16
[ 0.179325] DMA: preallocated 2048 KiB GFP_KERNEL pool for atomic allocations
[ 0.186742] DMA: preallocated 2048 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[ 0.195008] DMA: preallocated 2048 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[ 0.203069] audit: initializing netlink subsys (disabled)
[ 0.208555] audit: type=2000 audit(0.144:1): state=initialized audit_enabled=0 res=1
[ 0.208957] thermal_sys: Registered thermal governor \'step_wise\'
[ 0.216344] thermal_sys: Registered thermal governor \'power_allocator\'
[ 0.222646] cpuidle: using governor menu
[ 0.233244] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[ 0.240102] ASID allocator initialised with 32768 entries
[ 0.246105] Serial: AMBA PL011 UART driver
[ 0.250260] imx mu driver is registered.
[ 0.254210] imx rpmsg driver is registered.
[ 0.279115] Machine: LS1046A A518 Board
[ 0.282969] SoC family: QorIQ LS1046A
[ 0.286643] SoC ID: svr:0x87070010, Revision: 1.0
[ 0.303176] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages
[ 0.309920] HugeTLB registered 32.0 MiB page size, pre-allocated 0 pages
[ 0.316658] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[ 0.323394] HugeTLB registered 64.0 KiB page size, pre-allocated 0 pages
[ 0.330617] cryptd: max_cpu_qlen set to 1000
[ 0.336455] ACPI: Interpreter disabled.
[ 0.342704] iommu: Default domain type: Translated
[ 0.347742] vgaarb: loaded
[ 0.350559] SCSI subsystem initialized
[ 0.354459] usbcore: registered new interface driver usbfs
[ 0.359992] usbcore: registered new interface driver hub
[ 0.365343] usbcore: registered new device driver usb
[ 0.370998] i2c i2c-0: IMX I2C adapter registered
[ 0.375748] i2c i2c-0: using dma0chan16 (tx) and dma0chan17 (rx) for DMA transfers
[ 0.383510] imx-i2c 2190000.i2c: can\'t get pinctrl, bus recovery not supported
[ 0.390981] i2c i2c-1: IMX I2C adapter registered
[ 0.395921] i2c i2c-2: IMX I2C adapter registered
[ 0.401224] mc: Linux media interface: v0.10
[ 0.405535] videodev: Linux video capture interface: v2.00
[ 0.411087] pps_core: LinuxPPS API ver. 1 registered
[ 0.416077] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <
giometti@linux.it>
[ 0.425268] PTP clock support registered
[ 0.429307] EDAC MC: Ver: 3.0.0
[ 0.433475] fsl-ifc 1530000.ifc: Freescale Integrated Flash Controller
[ 0.440052] fsl-ifc 1530000.ifc: IFC version 1.4, 8 banks
[ 0.445603]
FPGA manager framework
[ 0.449046] Advanced Linux Sound Architecture Driver Initialized.
[ 0.455456] Bluetooth: Core ver 2.22
[ 0.459053] NET: Registered protocol family 31
[ 0.463518] Bluetooth: HCI device and connection manager initialized
[ 0.469906] Bluetooth: HCI socket layer initialized
[ 0.474807] Bluetooth: L2CAP socket layer initialized
[ 0.479889] Bluetooth: SCO socket layer initialized
[ 0.485228] clocksource: Switched to clocksource arch_sys_counter
[ 0.491426] VFS: Disk quotas dquot_6.6.0
[ 0.495391] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[ 0.502378] pnp: PnP ACPI: disabled
[ 0.508802] NET: Registered protocol family 2
[ 0.513397] tcp_listen_portaddr_hash hash table entries: 8192 (order: 5, 131072 bytes, linear)
[ 0.522157] TCP established hash table entries: 131072 (order: 8, 1048576 bytes, linear)
[ 0.530739] TCP bind hash table entries: 65536 (order: 8, 1048576 bytes, linear)
[ 0.538626] TCP: Hash tables configured (established 131072 bind 65536)
[ 0.545342] UDP hash table entries: 8192 (order: 6, 262144 bytes, linear)
[ 0.552341] UDP-Lite hash table entries: 8192 (order: 6, 262144 bytes, linear)
[ 0.559818] NET: Registered protocol family 1
[ 0.564372] RPC: Registered named UNIX socket transport module.
[ 0.570334] RPC: Registered udp transport module.
[ 0.575061] RPC: Registered tcp transport module.
[ 0.579787] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.586552] PCI: CLS 0 bytes, default 64
[ 0.590557] Unpacking initramfs...
[ 1.049397] Freeing initrd memory: 19828K
[ 1.053780] hw perfevents: enabled with armv8_cortex_a72 PMU driver, 7 counters available
[ 1.062329] kvm [1]: IPA Size Limit: 44 bits
[ 1.067274] kvm [1]: vgic interrupt IRQ9
[ 1.071281] kvm [1]: Hyp mode initialized successfully
[ 1.078058] Initialise system trusted keyrings
[ 1.082579] workingset: timestamp_bits=42 max_order=22 bucket_order=0
[ 1.091367] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 1.097478] NFS: Registering the id_resolver key type
[ 1.102567] Key type id_resolver registered
[ 1.106771] Key type id_legacy registered
[ 1.110830] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[ 1.117568] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[ 1.125011] jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
[ 1.131284] 9p: Installing v9fs 9p2000 file system support
[ 1.158393] Key type asymmetric registered
[ 1.162511] Asymmetric key parser \'x509\' registered
[ 1.167425] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 243)
[ 1.174865] io scheduler mq-deadline registered
[ 1.179417] io scheduler kyber registered
[ 1.194098] layerscape-pcie 3600000.pcie: host bridge /soc/pcie@3600000 ranges:
[ 1.201462] layerscape-pcie 3600000.pcie: IO 0x5000010000..0x500001ffff -> 0x0000000000
[ 1.210042] layerscape-pcie 3600000.pcie: MEM 0x5040000000..0x507fffffff -> 0x0040000000
[ 1.218684] layerscape-pcie 3600000.pcie: PCI host bridge to bus 0000:00
[ 1.225424] pci_bus 0000:00: root bus resource [bus 00-ff]
[ 1.230940] pci_bus 0000:00: root bus resource [io 0x0000-0xffff]
[ 1.237154] pci_bus 0000:00: root bus resource [mem 0x5040000000-0x507fffffff] (bus address [0x40000000-0x7fffffff])
[ 1.247749] pci 0000:00:00.0: [1957:81c0] type 01 class 0x060400
[ 1.253825] pci 0000:00:00.0: supports D1 D2
[ 1.258116] pci 0000:00:00.0: PME# supported from D0 D1 D2 D3hot
[ 1.265901] pci 0000:00:00.0: PCI bridge to [bus 01-ff]
[ 1.271256] pcieport 0000:00:00.0: PME: Signaling with IRQ 76
[ 1.277339] layerscape-pcie-ep 3400000.pcie_ep: Detect the link down state !
[ 1.284428] layerscape-pcie-ep 3500000.pcie_ep: Detect the link down state !
[ 1.291546] EINJ: ACPI disabled.
[ 1.307110] bman_portal 508000000.bman-portal: Portal initialised, cpu 0
[ 1.313909] bman_portal 508010000.bman-portal: Portal initialised, cpu 1
[ 1.320695] bman_portal 508020000.bman-portal: Portal initialised, cpu 2
[ 1.327483] bman_portal 508030000.bman-portal: Portal initialised, cpu 3
[ 1.334521] qman_portal 500000000.qman-portal: Portal initialised, cpu 0
[ 1.341306] qman_portal 500010000.qman-portal: Portal initialised, cpu 1
[ 1.348092] qman_portal 500020000.qman-portal: Portal initialised, cpu 2
[ 1.355222] qman_portal 500030000.qman-portal: Portal initialised, cpu 3
[ 1.362860] Bus freq driver module loaded
[ 1.372556] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[ 1.380240] printk: console [ttyS0] disabled
[ 1.384564] 21c0500.serial: ttyS0 at MMIO 0x21c0500 (irq = 48, base_baud = 21875000) is a 16550A
[ 1.393421] printk: console [ttyS0] enabled
[ 1.393421] printk: console [ttyS0] enabled
[ 1.401798] printk: bootconsole [uart8250] disabled
[ 1.401798] printk: bootconsole [uart8250] disabled
[ 1.411810] 21c0600.serial: ttyS1 at MMIO 0x21c0600 (irq = 48, base_baud = 21875000) is a 16550A
[ 1.420821] 21d0500.serial: ttyS2 at MMIO 0x21d0500 (irq = 49, base_baud = 21875000) is a 16550A
[ 1.429832] 21d0600.serial: ttyS3 at MMIO 0x21d0600 (irq = 49, base_baud = 21875000) is a 16550A
[ 1.438995] SuperH (H)SCI(F) driver initialized
[ 1.444027] msm_serial: driver initialized
[ 1.456062] loop: module loaded
[ 1.459313] at24 0-0052: supply vcc not found, using dummy regulator
[ 1.466973] at24 0-0052: 65536 byte 24c512 EEPROM, writable, 1 bytes/write
[ 1.473895] at24 0-0053: supply vcc not found, using dummy regulator
[ 1.481516] at24 0-0053: 65536 byte 24c512 EEPROM, writable, 1 bytes/write
[ 1.516881] LT8612-3.3V: Underflow of regulator enable count
[ 1.552958] LT8612-3.3V: Underflow of regulator enable count
[ 1.559463] megasas: 07.714.04.00-rc1
[ 1.564030] imx ahci driver is registered.
[ 1.568440] ahci-qoriq 3200000.sata: supply ahci not found, using dummy regulator
[ 1.575972] ahci-qoriq 3200000.sata: supply phy not found, using dummy regulator
[ 1.583391] ahci-qoriq 3200000.sata: supply target not found, using dummy regulator
[ 1.591100] ahci-qoriq 3200000.sata: AHCI 0001.0301 32 slots 1 ports 6 Gbps 0x1 impl platform mode
[ 1.600059] ahci-qoriq 3200000.sata: flags: 64bit ncq sntf pm clo only pmp fbs pio slum part ccc sds apst
[ 1.610223] scsi host0: ahci-qoriq
[ 1.613736] ata1: SATA max UDMA/133 mmio [mem 0x03200000-0x0320ffff] port 0x100 irq 60
[ 1.622701] nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xac
[ 1.629054] nand: Micron MT29F4G08ABBFAH4
[ 1.633059] nand: 512 MiB, SLC, erase size: 256 KiB, page size: 4096, OOB size: 256
[ 1.641273] Bad block table found at page 131008, version 0x01
[ 1.648146] Bad block table found at page 130944, version 0x01
[ 1.654522] 3 cmdlinepart partitions found on MTD device 7e800000.flash
[ 1.661135] Creating 3 MTD partitions on \"7e800000.flash\":
[ 1.666620] 0x000000000000-0x000001000000 : \"nand_uboot\"
[ 1.673527] 0x000001000000-0x000004000000 : \"nand_kernel\"
[ 1.681522] 0x000004000000-0x000020000000 : \"nand_free\"
[ 1.689503] fsl,ifc-nand 7e800000.nand: IFC NAND device at 0x7e800000, bank 0
[ 1.810242] spi-nor spi0.0: s25fs512s (65536 Kbytes)
[ 1.815209] 3 cmdlinepart partitions found on MTD device 1550000.spi-0
[ 1.821731] Creating 3 MTD partitions on \"1550000.spi-0\":
[ 1.827126] 0x000000000000-0x000000100000 : \"rcw\"
[ 1.833531] 0x000000100000-0x000001000000 : \"u-boot\"
[ 1.839617] 0x000001000000-0x000004000000 : \"kernel.itb\"
[ 1.935919] ata1: SATA link down (SStatus 0 SControl 300)
[ 1.940838] spi-nor spi0.1: s25fs512s (65536 Kbytes)
[ 2.046414] libphy: Fixed MDIO Bus: probed
[ 2.051282] tun: Universal TUN/TAP device driver, 1.6
[ 2.056397] CAN device driver interface
[ 2.251202] spi_master spi0: will run message pump with realtime priority
[ 2.257989] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000028
[ 2.266773] Mem abort info:
[ 2.269561] ESR = 0x96000004
[ 2.272606] EC = 0x25: DABT (current EL), IL = 32 bits
[ 2.277913] SET = 0, FnV = 0
[ 2.280957] EA = 0, S1PTW = 0
[ 2.284092] Data abort info:
[ 2.286966] ISV = 0, ISS = 0x00000004
[ 2.290795] CM = 0, WnR = 0
[ 2.293757] [0000000000000028] user address but active_mm is swapper
[ 2.300107] Internal error: Oops: 96000004 [#1] PREEMPT SMP
[ 2.305670] Modules linked in:
[ 2.308719] CPU: 2 PID: 1 Comm: swapper/0 Not tainted 5.10.35 #1
[ 2.314716] Hardware name: LS1046A A518 Board (DT)
[ 2.319499] pstate: 60000005 (nZCv daif -PAN -UAO -TCO BTYPE=--)
[ 2.325500] pc : spi_setup+0x414/0x470
[ 2.329239] lr : spi_setup+0x410/0x470
[ 2.332978] sp : ffff80001003bac0
[ 2.336282] x29: ffff80001003bac0 x28: 0000000000000000
[ 2.341589] x27: ffff4cd404f81100 x26: ffffd2d7bd574b30
[ 2.346894] x25: ffff4cd400108000 x24: ffff4cd405010000
[ 2.352200] x23: 0000000001036640 x22: ffff4cd405010940
[ 2.357506] x21: ffff4cd40086d000 x20: 0000000000000000
[ 2.362811] x19: ffff4cd404f8a000 x18: 0000000000000010
[ 2.368116] x17: 0000000000000020 x16: ffffd2d7bd552490
[ 2.373421] x15: ffff4cd400108478 x14: 0000000000000162
[ 2.378726] x13: ffff4cd400108478 x12: 00000000ffffffea
[ 2.384032] x11: ffffd2d7be2f2168 x10: ffffd2d7be2da128
[ 2.389338] x9 : ffffd2d7be2da180 x8 : 0000000000017fe8
[ 2.394643] x7 : c0000000ffffefff x6 : 0000000000000001
[ 2.399948] x5 : 0000000000000000 x4 : 0000000000000000
[ 2.405254] x3 : 00000000ffffffff x2 : 0000000000000000
[ 2.410558] x1 : 0000000000000000 x0 : 0000000000000000
[ 2.415863] Call trace:
[ 2.418300] spi_setup+0x414/0x470
[ 2.421696] mcp251xfd_probe+0x320/0xc60
[ 2.425612] spi_drv_probe+0x84/0xe8
[ 2.429179] really_probe+0xe4/0x3b0
[ 2.432746] driver_probe_device+0x58/0xb8
[ 2.436833] device_driver_attach+0x74/0x80
[ 2.441007] __driver_attach+0x58/0xe0
[ 2.444746] bus_for_each_dev+0x70/0xc8
[ 2.448573] driver_attach+0x24/0x30
[ 2.452139] bus_add_driver+0x14c/0x1f0
[ 2.455965] driver_register+0x64/0x120
[ 2.459792] __spi_register_driver+0x4c/0x58
[ 2.464054] mcp251xfd_driver_init+0x1c/0x28
[ 2.468317] do_one_initcall+0x54/0x1b8
[ 2.472144] kernel_init_freeable+0x1d4/0x23c
[ 2.476493] kernel_init+0x14/0x118
[ 2.479972] ret_from_fork+0x10/0x34
[ 2.483540] Code: f9417e75 aa1503e0 97fff226 f941dea0 (f9401400)
[ 2.489631] ---[ end trace f44145a3a56fa0af ]---
[ 2.494251] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
[ 2.501901] SMP: stopping secondary CPUs
[ 2.505818] Kernel Offset: 0x52d7ac080000 from 0xffff800010000000
[ 2.511902] PHYS_OFFSET: 0xffffb33480000000
[ 2.516077] CPU features: 0x0240022,21806000
[ 2.520336] Memory Limit: none
[ 2.523383] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b ]---
似乎代码没有运行 spi_controller_initialize_queue() ,原因是 ctlr->transfer_one 和 ctlr->transfer_one_message 都是 NULL,但我不知道如何配置它。
有谁知道如何解决这个问题?