[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