RT,同样的原理图,两种板子,其中一种板子FLASH kernel无法识别。spi-nor spi0.0: unrecognized JEDEC id bytes: 00 00 00 00 00 00
1.尝试的flash型号W25Q128 W25Q256 MX25L256,其中MX25L256可以识别,而另外的UBOOT能启动,但是内核无法识别
2.把同一个FLASH放到另外一个板子全部是好的。
3.SPI频率已经试过25M 40M 50M都不行。
U-Boot SPL 2022.01-OpenWrt-r0-f201dfbb (May 13 2022 - 16:09:16 +0000)
DRAM: 64 MiB
Trying to boot from sunxi SPI
U-Boot 2022.01-OpenWrt-r0-f201dfbb (May 13 2022 - 16:09:16 +0000) Allwinner Technology
CPU: Allwinner V3s (SUN8I 1681)
Model: zgtech v3s
DRAM: 64 MiB
WDT: Not starting watchdog@1c20ca0
MMC:
Loading Environment from nowhere... OK
In: serial@1c28000
Out: serial@1c28000
Err: serial@1c28000
Hit any key to stop autoboot: 0
Booting from SPI-NOR...
SF: Detected w25q256 with page size 256 Bytes, erase size 4 KiB, total 32 MiB
device 0 offset 0x100000, size 0x400000
SF: 4194304 bytes @ 0x100000 Read: OK
## Loading kernel from FIT Image at 41000000 ...
Using 'config-1' configuration
Trying 'kernel-1' kernel subimage
Description: ARM OpenWrt Linux-5.10.111
Type: Kernel Image
Compression: uncompressed
Data Start: 0x410000e4
Data Size: 3505768 Bytes = 3.3 MiB
Architecture: ARM
OS: Linux
Load Address: 0x40000000
Entry Point: 0x40000000
Hash algo: crc32
Hash value: 3188eb99
Hash algo: sha1
Hash value: ba73dee42f40bfe2157e04c0a021cad58d862236
Verifying Hash Integrity ... crc32+ sha1+ OK
## Loading fdt from FIT Image at 41000000 ...
Using 'config-1' configuration
Trying 'fdt-1' fdt subimage
Description: ARM OpenWrt zgtech_GW002 device tree blob
Type: Flat Device Tree
Compression: uncompressed
Data Start: 0x41358084
Data Size: 12782 Bytes = 12.5 KiB
Architecture: ARM
Hash algo: crc32
Hash value: d8371ee9
Hash algo: sha1
Hash value: ac1927fde9d0928f3cc0be5a55aa22efb546f76b
Verifying Hash Integrity ... crc32+ sha1+ OK
Booting using the fdt blob at 0x41358084
Loading Kernel Image
Loading Device Tree to 43d6f000, end 43d751ed ... OK
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 5.10.111 (root@3e341d49ae32) (arm-openwrt-linux-muslgnueabi-gcc (OpenWrt GCC 11.2.0 r0-880aca15) 11.2.0, GNU ld (GNU Binutils) 2.37) #0 Fri May 13 17:55:50 2022
[ 0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c53c7d
[ 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: zgtech GW002
[ 0.000000] Memory policy: Data cache writeback
[ 0.000000] cma: Reserved 16 MiB at 0x42c00000
[ 0.000000] Zone ranges:
[ 0.000000] Normal [mem 0x0000000040000000-0x0000000043ffffff]
[ 0.000000] HighMem empty
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000040000000-0x0000000043ffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x0000000043ffffff]
[ 0.000000] On node 0 totalpages: 16384
[ 0.000000] Normal zone: 144 pages used for memmap
[ 0.000000] Normal zone: 0 pages reserved
[ 0.000000] Normal zone: 16384 pages, LIFO batch:3
[ 0.000000] psci: probing for conduit method from DT.
[ 0.000000] psci: Using PSCI v0.1 Function IDs from DT
[ 0.000000] CPU: All CPU(s) started in HYP mode.
[ 0.000000] CPU: Virtualization extensions available.
[ 0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[ 0.000000] pcpu-alloc: [0] 0
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 16240
[ 0.000000] Kernel command line: console=ttyS0,115200 earlyprintk rootwait
[ 0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes, linear)
[ 0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes, linear)
[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[ 0.000000] Memory: 35420K/65536K available (8192K kernel code, 463K rwdata, 2200K rodata, 1024K init, 181K bss, 13732K reserved, 16384K cma-reserved, 0K highmem)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 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+0x358/0x500 with crng_init=0
[ 0.000000] arch_timer: cp15 timer(s) running at 24.00MHz (phys).
[ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns
[ 0.000008] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns
[ 0.000021] Switching to timer-based delay loop, resolution 41ns
[ 0.000252] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[ 0.000512] Console: colour dummy device 80x30
[ 0.000568] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000)
[ 0.000589] pid_max: default: 32768 minimum: 301
[ 0.000779] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.000798] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.001747] CPU: Testing write buffer coherency: ok
[ 0.002539] Setting up static identity map for 0x40100000 - 0x40100060
[ 0.002672] dyndbg: Ignore empty _ddebug table in a CONFIG_DYNAMIC_DEBUG_CORE build
[ 0.005832] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
[ 0.006150] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.006184] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
[ 0.006886] pinctrl core: initialized pinctrl subsystem
[ 0.008524] NET: Registered protocol family 16
[ 0.010329] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.011484] thermal_sys: Registered thermal governor 'step_wise'
[ 0.011617] cpuidle: using governor menu
[ 0.011716] No ATAGs?
[ 0.079008] SCSI subsystem initialized
[ 0.079343] usbcore: registered new interface driver usbfs
[ 0.079407] usbcore: registered new interface driver hub
[ 0.079479] usbcore: registered new device driver usb
[ 0.079837] pps_core: LinuxPPS API ver. 1 registered
[ 0.079855] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.079906] PTP clock support registered
[ 0.091783] clocksource: Switched to clocksource arch_sys_counter
[ 0.097416] NET: Registered protocol family 2
[ 0.097609] IP idents hash table entries: 2048 (order: 2, 16384 bytes, linear)
[ 0.098220] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
[ 0.098275] TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.098297] TCP bind hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.098315] TCP: Hash tables configured (established 1024 bind 1024)
[ 0.098460] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
[ 0.098489] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
[ 0.098702] NET: Registered protocol family 1
[ 0.120800] workingset: timestamp_bits=14 max_order=14 bucket_order=0
[ 0.126412] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.126443] jffs2: version 2.2 (NAND) (ZLIB) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[ 0.219703] io scheduler mq-deadline registered
[ 0.219737] io scheduler kyber registered
[ 0.220636] sun4i-usb-phy 1c19400.phy: Couldn't request ID GPIO
[ 0.223811] sun8i-v3s-pinctrl 1c20800.pinctrl: initialized sunXi PIO driver
[ 0.260851] Serial: 8250/16550 driver, 8 ports, IRQ sharing disabled
[ 0.262775] sun8i-v3s-pinctrl 1c20800.pinctrl: supply vcc-pb not found, using dummy regulator
[ 0.263727] printk: console [ttyS0] disabled
[ 0.283994] 1c28000.serial: ttyS0 at MMIO 0x1c28000 (irq = 30, base_baud = 1500000) is a U6_16550A
[ 0.937473] printk: console [ttyS0] enabled
[ 0.942278] sun8i-v3s-pinctrl 1c20800.pinctrl: supply vcc-pe not found, using dummy regulator
[ 0.971878] 1c28400.serial: ttyS1 at MMIO 0x1c28400 (irq = 31, base_baud = 1500000) is a U6_16550A
[ 1.002231] 1c28800.serial: ttyS2 at MMIO 0x1c28800 (irq = 32, base_baud = 1500000) is a U6_16550A
[ 1.037864] loop: module loaded
[ 1.042125] sun8i-v3s-pinctrl 1c20800.pinctrl: supply vcc-pc not found, using dummy regulator
[ 1.056068] spi-nor spi0.0: unrecognized JEDEC id bytes: 00 00 00 00 00 00
[ 1.063056] spi-nor: probe of spi0.0 failed with error -2
[ 1.070068] dwmac-sun8i 1c30000.ethernet: IRQ eth_wake_irq not found
[ 1.076525] dwmac-sun8i 1c30000.ethernet: IRQ eth_lpi not found
[ 1.082562] dwmac-sun8i 1c30000.ethernet: No regulator found
[ 1.088309] dwmac-sun8i 1c30000.ethernet: PTP uses main clock
[ 1.096931] dwmac-sun8i 1c30000.ethernet: No HW DMA feature register supported
[ 1.104249] dwmac-sun8i 1c30000.ethernet: RX Checksum Offload Engine supported
[ 1.111465] dwmac-sun8i 1c30000.ethernet: COE Type 2
[ 1.116451] dwmac-sun8i 1c30000.ethernet: TX Checksum insertion supported
[ 1.123243] dwmac-sun8i 1c30000.ethernet: Normal descriptors
[ 1.128894] dwmac-sun8i 1c30000.ethernet: Chain mode enabled
[ 1.134570] dwmac-sun8i 1c30000.ethernet: device MAC address 96:2c:e6:aa:4e:43
[ 1.143356] dwmac-sun8i 1c30000.ethernet: Found internal PHY node
[ 1.149993] dwmac-sun8i 1c30000.ethernet: Switch mux to internal PHY
[ 1.156437] dwmac-sun8i 1c30000.ethernet: Powering internal PHY
[ 1.167007] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 1.173619] ehci-platform: EHCI generic platform driver
[ 1.179156] ehci-platform 1c1a000.usb: EHCI Host Controller
[ 1.184834] ehci-platform 1c1a000.usb: new USB bus registered, assigned bus number 1
[ 1.194348] ehci-platform 1c1a000.usb: irq 35, io mem 0x01c1a000
[ 1.221794] ehci-platform 1c1a000.usb: USB 2.0 started, EHCI 1.00
[ 1.228849] hub 1-0:1.0: USB hub found
[ 1.233500] hub 1-0:1.0: 1 port detected
[ 1.238118] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 1.244416] ohci-platform: OHCI generic platform driver
[ 1.249978] ohci-platform 1c1a400.usb: Generic Platform OHCI controller
[ 1.256701] ohci-platform 1c1a400.usb: new USB bus registered, assigned bus number 2
[ 1.268529] ohci-platform 1c1a400.usb: irq 36, io mem 0x01c1a400
[ 1.346771] hub 2-0:1.0: USB hub found
[ 1.351349] hub 2-0:1.0: 1 port detected
[ 1.356050] ohci-atmel: OHCI Atmel driver
[ 1.360329] usbcore: registered new interface driver usb-storage
[ 1.367525] i2c /dev entries driver
[ 1.372304] sunxi-wdt 1c20ca0.watchdog: Watchdog enabled (timeout=16 sec, nowayout=0)
[ 1.380507] softdog: initialized. soft_noboot=0 soft_margin=60 sec soft_panic=0 (nowayout=0)
[ 1.389004] softdog: soft_reboot_cmd=<not set> soft_active_on_boot=0
[ 1.397234] sun8i-v3s-pinctrl 1c20800.pinctrl: supply vcc-pg not found, using dummy regulator
[ 1.406658] ledtrig-cpu: registered to indicate activity on CPUs
[ 1.413245] sun4i-ss 1c15000.crypto: Die ID 7
[ 1.419440] sun8i-v3s-pinctrl 1c20800.pinctrl: supply vcc-pf not found, using dummy regulator
[ 1.441716] usbcore: registered new interface driver usbhid
[ 1.447374] usbhid: USB HID core driver
[ 1.451830] ipip: IPv4 and MPLS over IPv4 tunneling driver
[ 1.457988] IPv4 over IPsec tunneling driver
[ 1.463480] NET: Registered protocol family 10
[ 1.472960] Segment Routing with IPv6
[ 1.476742] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[ 1.483551] NET: Registered protocol family 17
[ 1.488151] Bridge firewalling registered
[ 1.492386] sunxi-mmc 1c0f000.mmc: initialized, max. request size: 16384 KB
[ 1.501542] 8021q: 802.1Q VLAN Support v1.8
[ 1.514152] usb_phy_generic usb_phy_generic.0.auto: supply vcc not found, using dummy regulator
[ 1.524286] musb-hdrc musb-hdrc.1.auto: MUSB HDRC host driver
[ 1.530075] musb-hdrc musb-hdrc.1.auto: new USB bus registered, assigned bus number 3
[ 1.539294] sunxi-mmc 1c0f000.mmc: card claims to support voltages below defined range
[ 1.550507] hub 3-0:1.0: USB hub found
[ 1.555302] hub 3-0:1.0: 1 port detected
[ 1.562336] input: gpio_keys as /devices/platform/gpio_keys/input/input0
[ 1.574709] Waiting for root device ...
[ 1.581991] mmc0: new high speed SDIO card at address 0001
[ 2.021912] usb 1-1: new high-speed USB device number 2 using ehci-platform
[ 2.222480] usb 1-1: config 1 interface 0 altsetting 0 endpoint 0x81 has an invalid bInterval 32, changing to 9
[
最近编辑记录 lonerwolf (2022-05-14 12:50:30)
离线
linux dts spi 频率是多少MHz?
试过50000000 40000000 25000000,W25都不行,但是在另外一种板子都行。MX25L256,都可以
离线
那用逻辑分析仪看看
刷了小智的固件就能识别了。。。。。。。。不知道是不是5.10内核有点问题。。。。
离线
那用逻辑分析仪看看
https://e2e.ti.com/support/processors-group/processors/f/processors-forum/908864/am3357-spi-nor-not-recognized
跟这个很像,还没用逻辑仪。。但是把SPI CS脚放根多邦线上去悬空就能识别,应该是走线有问题。
离线
尝试一下在 dts 里加大引脚输出能力
&spi0_pins { drive-strength = <40>; };
全世界你最棒!可以了。。。我猜测是V3S spi CS 脚内部没上拉,因为F1C200好像上拉了,所以我外部没上拉。。。各种FLASH情况不一样,华邦的都不行,加了上拉才行,GD的和MX的都行。。。以后还是要自己注意点。。。
离线