[Letux-kernel] [PATCH 00/20] A bunch of JZ4730 fixups for letux-kernel
H. Nikolaus Schaller
hns at goldelico.com
Mon Dec 21 14:32:25 CET 2020
Ok,
next small findings...
wp-gpios is - despite its name - ACTIVE_HIGH. While cd-gpios is active low.
I have checked with the datasheet of some SD card reader cage and there it is not a "Write Protect" switch to GND but a "Write Enable".
The same pattern can be found for the Pyra:
https://git.goldelico.com/?p=letux-kernel.git;a=blob;f=arch/arm/boot/dts/omap5-letux-cortex15-common.dtsi;h=7451121d7d93b321152e9c4f05e540011e4e92f1;hb=refs/heads/master#l270
With the attached patch the (ro) is gone.
[ 0.221753] Waiting for root device /dev/mmcblk1p2...
[ 0.282218] mmc0: new high speed SDHC card at address 59b4
[ 0.292705] mmcblk0: mmc0:59b4 USD 7.51 GiB
[ 0.290764] mmcblk0: p1 p2
Regarding the stall after this step I haven't found anything yet.
I have checked and there are no more __mmc_start_req() or mmc_wait_for_cmd()
afterwards. So it looks as if no process is trying to access the
SD card.
Ah, well. I should have really read the above sequence.
root device /dev/mmcblk1p2 vs. mmcblk0: p1 p2.
The kernel command line is simply wrong, making the kernel
wait for some non-existent second SD card slot :)
With these two fixes I now get some activity from the init process
plus a kernel panic.
BR,
Nikolaus
## Booting kernel from Legacy Image at 84000000 ...
Image Name: Linux-5.10.0-letux-l400+
Image Type: MIPS Linux Kernel Image (gzip compressed)
Data Size: 5210721 Bytes = 5 MiB
Load Address: 80100000
Entry Point: 808c3b44
Verifying Checksum ... OK
## Flattened Device Tree blob at 81100000
Booting using the fdt blob at 0x81100000
Uncompressing Kernel Image
[ 0.000000] Linux version 5.10.0-letux-l400+ (hns at iMac.fritz.box) (mipsel-linux-gnu-gcc (GCC) 4.9.2, GNU ld (GNU Binutils) 2.25) #4340 PREEMPT Mon Dec 21 14:20:00 CET 2020
[ 0.000000] CPU0 revision is: 02d0024f (Ingenic XBurst)
[ 0.000000] MIPS: machine is letux400,minipc
[ 0.000000] earlycon: jz4740_uart0 at MMIO32 0x10030000 (options '115200n8')
[ 0.000000] printk: bootconsole [jz4740_uart0] enabled
[ 0.000000] printk: debug: ignoring loglevel setting.
[ 0.000000] User-defined physical RAM map overwrite
[ 0.000000] Initrd not found or empty - disabling initrd
[ 0.000000] cma: Reserved 32 MiB at 0x01800000
[ 0.000000] Primary instruction cache 16kB, VIVT, 4-way, linesize 32 bytes.
[ 0.000000] Primary data cache 16kB, 4-way, VIPT, no aliases, linesize 32 bytes
[ 0.000000] Zone ranges:
[ 0.000000] Normal [mem 0x0000000000000000-0x0000000007ffffff]
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000000000000-0x0000000007ffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000007ffffff]
[ 0.000000] On node 0 totalpages: 32768
[ 0.000000] Normal zone: 288 pages used for memmap
[ 0.000000] Normal zone: 0 pages reserved
[ 0.000000] Normal zone: 32768 pages, LIFO batch:7
[ 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: 32480
[ 0.000000] Kernel command line: mem=128M earlycon=jz4740_uart,mmio32,0x10030000,115200n8 ignore_loglevel clocksource=jiffies clk_ignore_unused console=tty0 console=ttyS0,115200n8 root=/dev/mmcblk0p2 rw rootfstype=ext4,ext3 rootwait
[ 0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes, linear)
[ 0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes, linear)
[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[ 0.000000] Memory: 84948K/131072K available (7978K kernel code, 806K rwdata, 2732K rodata, 316K init, 169K bss, 13356K reserved, 32768K cma-reserved)
[ 0.000000] rcu: Preemptible hierarchical RCU implementation.
[ 0.000000] Trampoline variant of Tasks RCU enabled.
[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[ 0.000000] NR_IRQS: 256
[ 0.000000] random: get_random_bytes called from start_kernel+0x6d8/0x920 with crng_init=0
[ 0.000000] clocksource: ingenic-timer: mask: 0xffff max_cycles: 0xffff, max_idle_ns: 7910990 ns
[ 0.000056] sched_clock: 16 bits at 3686kHz, resolution 271ns, wraps every 8888753ns
[ 0.009903] Console: colour dummy device 80x25
[ 0.001180] printk: console [tty0] enabled
[ 0.005572] Calibrating delay loop... 594.73 BogoMIPS (lpj=2973696)
[ 0.025321] pid_max: default: 32768 minimum: 301
[ 0.030865] LSM: Security Framework initializing
[ 0.036082] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.026282] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.027295] rcu: Hierarchical SRCU implementation.
[ 0.035110] devtmpfs: initialized
[ 0.027277] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.037604] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
[ 0.035221] pinctrl core: initialized pinctrl subsystem
[ 0.042774] regulator-dummy: no parameters, enabled
[ 0.033119] NET: Registered protocol family 16
[ 0.043729] thermal_sys: Registered thermal governor 'fair_share'
[ 0.043793] thermal_sys: Registered thermal governor 'step_wise'
[ 0.032635] thermal_sys: Registered thermal governor 'user_space'
[ 0.046902] jz4780_dma_probe
[ 0.040799] jz4780_dma_probe 1 res=83986820
[ 0.045253] jz4780_dma_probe 1b chn_base=b0020000
[ 0.050155] jz4780_dma_probe 1c ctrl_base=b00200f8
[ 0.055131] jz4780_dma_probe 2
[ 0.040870] jz4780_dma_probe 3
[ 0.044130] jz4780_dma_probe 4
[ 0.047343] jz4780_dma_probe 5
[ 0.050541] jz4780_dma_probe 6
[ 0.053739] jz4780_dma_probe 7
[ 0.056942] jz4780_dma_probe 8
[ 0.042679] jz4780_dma_probe 9
[ 0.046013] jz4780_dma_probe 10
[ 0.052526] jz4780_dma_probe 11
[ 0.055882] jz4780-dma 10020000.dma: JZ4780 DMA controller initialised
[ 0.047058] vcc: 3300 mV, enabled
[ 0.051534] reg-fixed-voltage regulator at 0: vcc supplying 3300000uV
[ 0.058948] vmmc: 3300 mV, disabled
[ 0.046049] reg-fixed-voltage regulator at 1: vmmc supplying 3300000uV
[ 0.055473] SCSI subsystem initialized
[ 0.055894] libata version 3.00 loaded.
[ 0.061819] usbcore: registered new interface driver usbfs
[ 0.050684] usbcore: registered new interface driver hub
[ 0.056734] usbcore: registered new device driver usb
[ 0.066824] Advanced Linux Sound Architecture Driver Initialized.
[ 0.081466] VFS: Disk quotas dquot_6.6.0
[ 0.068389] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[ 0.069678] random: fast init done
[ 0.076861] NET: Registered protocol family 2
[ 0.084974] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
[ 0.076349] TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.084479] TCP bind hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.091838] TCP: Hash tables configured (established 1024 bind 1024)
[ 0.081583] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
[ 0.088494] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
[ 0.096602] NET: Registered protocol family 1
[ 0.098633] RPC: Registered named UNIX socket transport module.
[ 0.088668] RPC: Registered udp transport module.
[ 0.093606] RPC: Registered tcp transport module.
[ 0.098496] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.101793] Initialise system trusted keyrings
[ 0.101128] workingset: timestamp_bits=14 max_order=15 bucket_order=1
[ 0.092817] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.106581] Key type asymmetric registered
[ 0.093551] Asymmetric key parser 'x509' registered
[ 0.098967] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 249)
[ 0.106740] io scheduler mq-deadline registered
[ 0.093990] io scheduler kyber registered
[ 0.110002] Serial: 8250/16550 driver, 5 ports, IRQ sharing disabled
[ 0.107890] printk: console [ttyS0] disabled
[ 0.112712] 10030000.serial: ttyS0 at MMIO 0x10030000 (irq = 10, base_baud = 230400) is a 16550A
[ 0.105031] printk: console [ttyS0] enabled
[ 0.105031] printk: console [ttyS0] enabled
[ 0.113608] printk: bootconsole [jz4740_uart0] disabled
[ 0.113608] printk: bootconsole [jz4740_uart0] disabled
[ 0.116112] 10031000.serial: ttyS1 at MMIO 0x10031000 (irq = 11, base_baud = 230400) is a 16550A
[ 0.114600] 10032000.serial: ttyS2 at MMIO 0x10032000 (irq = 12, base_baud = 230400) is a 16550A
[ 0.110124] 10033000.serial: ttyS3 at MMIO 0x10033000 (irq = 13, base_baud = 230400) is a 16550A
[ 0.124906] brd: module loaded
[ 0.121883] loop: module loaded
[ 0.114062] mtdoops: mtd device (mtddev=name/number) must be supplied
[ 0.127766] libphy: Fixed MDIO Bus: probed
[ 0.118356] usbcore: registered new interface driver usb-storage
[ 0.128718] mousedev: PS/2 mouse device common for all mice
[ 0.125734] input: keyboard as /devices/platform/keyboard/input/input0
[ 0.125164] jz4740-rtc 10003000.rtc: registered as rtc0
[ 0.130662] jz4740-rtc 10003000.rtc: hctosys: unable to read the hardware clock
[ 0.124516] i2c /dev entries driver
[ 0.129562] jz4730-i2c 10042000.i2c: Bus frequency is 100 kHz
[ 0.132485] IR NEC protocol handler initialized
[ 0.137269] IR RC5(x/sz) protocol handler initialized
[ 0.125333] IR RC6 protocol handler initialized
[ 0.130100] IR JVC protocol handler initialized
[ 0.134833] IR Sony protocol handler initialized
[ 0.139655] IR SANYO protocol handler initialized
[ 0.127174] IR Sharp protocol handler initialized
[ 0.132112] IR MCE Keyboard/mouse protocol handler initialized
[ 0.138156] IR XMP protocol handler initialized
[ 0.142886] Driver for 1-wire Dallas network protocol.
[ 0.134032] jz4740-wdt: probe of 10004000.watchdog failed with error -22
[ 0.140069] pinctrl-ingenic 10010000.pin-controller: invalid group "PC0" for function "mmc"
[ 0.131717] pinctrl-ingenic 10010000.pin-controller: invalid group "PC2" for function "mmc"
[ 0.148110] jz4740-mmc 10021000.mmc: Got CD GPIO
[ 0.139182] jz4740-mmc 10021000.mmc: Got WP GPIO
[ 0.144182] jz4740-mmc 10021000.mmc: Looking up vmmc-supply from device tree
[ 0.152473] jz4740-mmc 10021000.mmc: Looking up vqmmc-supply from device tree
[ 0.152052] ledtrig-cpu: registered to indicate activity on CPUs
[ 0.145790] jz4780_of_dma_xlate
[ 0.149166] jz4780_of_dma_xlate 1
[ 0.152668] jz4780_of_dma_xlate 4
[ 0.156356] jz4780_of_dma_xlate
[ 0.159706] jz4780_of_dma_xlate 1
[ 0.145800] jz4780_of_dma_xlate 4
[ 0.154736] usbcore: registered new interface driver usbhid
[ 0.160561] usbhid: USB HID core driver
[ 0.148347] Initializing XFRM netlink socket
[ 0.152995] NET: Registered protocol family 17
[ 0.157807] NET: Registered protocol family 15
[ 0.162745] 9pnet: Installing 9P2000 support
[ 0.150172] Key type dns_resolver registered
[ 0.154682] oprofile: using timer interrupt.
[ 0.160785] Loading compiled-in X.509 certificates
[ 0.154485] clk: Not disabling unused clocks
[ 0.159016] ALSA device list:
[ 0.162179] No soundcards found.
[ 0.152591] jz4740-mmc 10021000.mmc: Ingenic SD/MMC card driver registered
[ 0.159740] jz4740-mmc 10021000.mmc: Using PIO, 4-bit mode
[ 0.218432] Waiting for root device /dev/mmcblk0p2...
[ 0.283043] mmc0: new high speed SDHC card at address 59b4
[ 0.293530] mmcblk0: mmc0:59b4 USD 7.51 GiB
[ 0.291596] mmcblk0: p1 p2
[ 0.297452] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[ 0.306118] VFS: Mounted root (ext4 filesystem) on device 179:2.
[ 0.297350] devtmpfs: mounted
[ 0.304479] Freeing unused kernel memory: 316K
[ 0.309171] This architecture does not have kernel memory protection.
[ 0.298372] Run /sbin/init as init process
[ 0.302690] with arguments:
[ 0.305849] /sbin/init
[ 0.308747] with environment:
[ 0.312081] HOME=/
[ 0.314631] TERM=linux
[ 0.316009] process '/lib/systemd/systemd' started with executable stack
[ 0.319956] Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000004
[ 0.310221] Rebooting in 10 seconds..
More information about the Letux-kernel
mailing list