RPi4B: emmc2bus dma-range handling does not track the boot-time-FDT (u-boot based booting)

Klaus Cucinauomo maciphone2 at googlemail.com
Fri Oct 9 12:55:35 UTC 2020



> Am 09.10.2020 um 12:02 schrieb Mark Millard <marklmi at yahoo.com>:
> 
> 
> 
> On 2020-Oct-8, at 23:01, Mark Millard <marklmi at yahoo.com> wrote:
> 
>> On 2020-Oct-8, at 21:29, Mark Millard <marklmi at yahoo.com> wrote:
>> 
>>> On 2020-Oct-8, at 20:06, Mark Millard <marklmi at yahoo.com> wrote:
>>> 
>>>> On 2020-Oct-8, at 06:27, Klaus Cucinauomo <maciphone2 at googlemail.com> wrote:
>>>> 
>>>>>> Am 08.10.2020 um 11:01 schrieb Mark Millard via freebsd-arm <freebsd-arm at freebsd.org>:
>>>>>> 
> 
> Having reverted back to u-boot 2020.10 without
> compatibility list adjustments and with xhci-pci
> in place again, trying a 4 GiByte RPi4 without a
> microsd card boots as far as the rainbow square
> on the monitor but hangs there, never displaying
> even the:
> 
> U-Boot 2020.10 (Oct 09 2020 - 06:50:04 +0000)
> 
> 
> 



the following `dmesg` of the 4GB is with the copied-over whole msdos-partition of the Original RPI-ubuntu-distribution
/ubuntu DOESN`T use the latest fw-files from rpi-github(which also fail with me to the hdmi-rainbow-screen),
Copying over „our“ old bcm2711-rpi-4-b.dtb, booted a bit more (until gpio or so afaik)….it`s all about DeviceTree 
and I guess Kyle Evans & friends  unfortunately will have more adjustment-work  in the brcm285..dtsi… for 2020.10
I unfortunately totally fail in my time-management but will tell more about the 8GB - VL805-videoCore-firmware-thing when finding time.. 
I didn’t yet apply kevans-patches, will test them it later..

Directly from SSD(no SD-card inserted):
—-config.txt : —
arm_control=0x200
dtparam=audio=on,i2c_arm=on,spi=on
enable_uart=1
uart_2ndstage=1
dtoverlay=miniuart-bt
dtoverlay=mmc
dtoverlay=pwm
device_tree_address=0x4000
kernel=u-boot.bin
—--------------------------------------------------

recover4.elf not found (6)
recovery.elf not found (6)
HUB [03:01] 2.00 000003:01 init port 1 speed 3
DEV [05:03] 2.00 000013:01 class 9 VID 045b PID 0209
HUB init [05:03] 2.00 000013:01
Read start4.elf bytes  2272992 hnd 0x000002e7 hash '319662b44a4c80d5'
Read fixup4.dat bytes     5405 hnd 0x000001bf hash '0c1a6c6f96114a3f'
0x00c03111 0x00000000 0x0000001f
MEM GPU: 76 ARM: 947 TOTAL: 1023
Starting start4.elf @ 0xfeb00200 partition 0


U-Boot 2020.10-rc5 (Oct 05 2020 - 03:08:23 +0000)

DRAM:  3.9 GiB
RPI 4 Model B (0xc03111)
MMC:   mmc at 7e300000: 1, emmc2 at 7e340000: 0
Loading Environment from FAT... In:    serial
Out:   vidconsole
Err:   vidconsole
Net:   eth0: ethernet at 7d580000
PCIe BRCM: link up, 5.0 Gbps x1 (SSC)
starting USB...
Bus xhci_pci: Register 5000420 NbrPorts 5
Starting the controller
USB XHCI 1.00
scanning bus xhci_pci for devices... 8 USB Device(s) found
       scanning usb for storage devices... 1 Storage Device(s) found
Hit any key to stop autoboot:  0 
Card did not respond to voltage select!

Device 0: Vendor: JMicron  Rev: 3202 Prod: Tech            
            Type: Hard Disk
            Capacity: 114473.4 MB = 111.7 GB (234441648 x 512)
... is now current device
Scanning usb 0:1...
Found EFI removable media binary efi/boot/bootaa64.efi
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
Scanning disk mmc at 7e300000.blk...
Disk mmc at 7e300000.blk not ready
Card did not respond to voltage select!
Scanning disk emmc2 at 7e340000.blk...
Disk emmc2 at 7e340000.blk not ready
Scanning disk usb_mass_storage.lun0...
** Unrecognized filesystem type **
Found 3 disks
No EFI system partition
BootOrder not defined
EFI boot manager: Cannot load any image
688192 bytes read in 6 ms (109.4 MiB/s)
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
Booting /efi\boot\bootaa64.efi


Consoles: EFI console  
    Reading loader env vars from /efi/freebsd/loader.env
Setting currdev to disk0p1:
FreeBSD/arm64 EFI loader, Revision 1.1
(Thu Jun 11 07:40:35 UTC 2020 root at releng1.nyi.freebsd.org)

   Command line arguments: loader.efi
   Image base: 0x39d83000
   EFI version: 2.80
   EFI Firmware: Das U-Boot (rev 8224.4096)
   Console: comconsole (0)
   Load Path: /efi\boot\bootaa64.efi
   Load Device: /VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/UsbClass(0x0,0x0,0x9,0x0,0x3)/UsbClass(0x152d,0x578,0x0,0x0,0x0)/HD(1,0x01,0,0x81f,0x18fa8)
Trying ESP: /VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/UsbClass(0x0,0x0,0x9,0x0,0x3)/UsbClass(0x152d,0x578,0x0,0x0,0x0)/HD(1,0x01,0,0x81f,0x18fa8)
Setting currdev to disk0p1:
Trying: /VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/UsbClass(0x0,0x0,0x9,0x0,0x3)/UsbClass(0x152d,0x578,0x0,0x0,0x0)/HD(2,0x01,0,0x197c7,0x76da839)
Setting currdev to disk0p2:
Loading /boot/defaults/loader.conf
Loading /boot/defaults/loader.conf
Loading /boot/device.hints
Loading /boot/loader.conf
Loading /boot/loader.conf.local
Loading kernel...
/boot/kernel/kernel text=0x2a8 text=0x7a7060 text=0x1b0d9c data=0x194600 data=0x0+0x302da6 syms=[0x8+0x178ba8+0x8+0x156776]
Loading configured modules...
/boot/kernel/umodem.ko text=0x1be0 text=0xfb0 data=0x618+0x8 syms=[0x8+0xe40+0x8+0xa8c]
/etc/hostid size=0x25
/boot/entropy size=0x1000

Hit [Enter] to boot immediately, or any other key for command prompt.


Type '?' for a list of commands, 'help' for more detailed help.
OK boot
Using DTB provided by EFI at 0x7ef1000.
EFI framebuffer information:
addr, size     0x3e3dc000, 0x6d8c00
dimensions     1824 x 984
stride         1824
masks          0x00ff0000, 0x0000ff00, 0x000000ff, 0xff000000
---<<BOOT>>---
KDB: debugger backends: ddb
KDB: current backend: ddb
Copyright (c) 1992-2020 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
	The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 13.0-CURRENT #39 a1d832e8c08-c271678(master): Fri Jul 17 04:56:52 UTC 2020
    root at generic:/usr/obj/usr/src/arm64.aarch64/sys/GENERIC-NODEBUG arm64
FreeBSD clang version 11.0.0 (git at github.com:llvm/llvm-project.git llvmorg-11.0.0-rc2-0-g414f32a9e86)
VT(efifb): resolution 1824x984
module firmware already present!
KLD file umodem.ko is missing dependencies
real memory  = 4146876416 (3954 MB)
avail memory = 4023062528 (3836 MB)
Starting CPU 1 (1)
Starting CPU 2 (2)
Starting CPU 3 (3)
FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
random: unblocking device.
random: entropy device external interface
MAP 39e34000 mode 2 pages 1
MAP 39e38000 mode 2 pages 3
MAP 39e3c000 mode 2 pages 4
MAP 3b250000 mode 2 pages 16
MAP fe100000 mode 0 pages 1
WARNING: Device "kbd" is Giant locked and may be deleted before FreeBSD 13.0.
kbd0 at kbdmux0
WARNING: Device "openfirm" is Giant locked and may be deleted before FreeBSD 13.0.
ofwbus0: <Open Firmware Device Tree>
simplebus0: <Flattened device tree simple bus> on ofwbus0
ofw_clkbus0: <OFW clocks bus> on ofwbus0
clk_fixed0: <Fixed clock> on ofw_clkbus0
clk_fixed1: <Fixed clock> on ofw_clkbus0
clk_fixed2: <Fixed clock> on ofwbus0
simplebus1: <Flattened device tree simple bus> on ofwbus0
regfix0: <Fixed Regulator> on ofwbus0
regfix1: <Fixed Regulator> on ofwbus0
simplebus2: <Flattened device tree simple bus> on ofwbus0
simplebus3: <Flattened device tree simple bus> on ofwbus0
regfix2: <Fixed Regulator> on ofwbus0
simple_mfd0: <Simple MFD (Multi-Functions Device)> mem 0x7d5d2000-0x7d5d2eff on simplebus0
psci0: <ARM Power State Co-ordination Interface Driver> on ofwbus0
gic0: <ARM Generic Interrupt Controller> mem 0x40041000-0x40041fff,0x40042000-0x40043fff,0x40044000-0x40045fff,0x40046000-0x40047fff irq 31 on simplebus0
gic0: pn 0x2, arch 0x2, rev 0x1, implementer 0x43b irqs 256
gpio0: <BCM2708/2835 GPIO controller> mem 0x7e200000-0x7e2000b3 irq 15,16 on simplebus0
gpiobus0: <OFW GPIO bus> on gpio0
mbox0: <BCM2835 VideoCore Mailbox> mem 0x7e00b880-0x7e00b8bf irq 14 on simplebus0
bcm2835_firmware0: <BCM2835 Firmware> on simplebus0
gpio1: <Raspberry Pi Firmware GPIO controller> on bcm2835_firmware0
gpiobus1: <GPIO bus> on gpio1
gpioregulator0: <GPIO controlled regulator> on ofwbus0
generic_timer0: <ARMv8 Generic Timer> irq 4,5,6,7 on ofwbus0
Timecounter "ARM MPCore Timecounter" frequency 54000000 Hz quality 1000
Event timer "ARM MPCore Eventtimer" frequency 54000000 Hz quality 1000
usb_nop_xceiv0: <USB NOP PHY> on ofwbus0
gpioc0: <GPIO controller> on gpio0
uart0: <PrimeCell UART (PL011)> mem 0x7e201000-0x7e2011ff irq 17 on simplebus0
uart0: console (115200,n,8,1)
spi0: <BCM2708/2835 SPI controller> mem 0x7e204000-0x7e2041ff irq 19 on simplebus0
spibus0: <OFW SPI bus> on spi0
spibus0: <unknown card> at cs 0 mode 0
spibus0: <unknown card> at cs 1 mode 0
uart1: <BCM2835 Mini-UART> mem 0x7e215040-0x7e21507f irq 22 on simplebus0
iichb0: <BCM2708/2835 BSC controller> mem 0x7e804000-0x7e804fff irq 27 on simplebus0
bcm_dma0: <BCM2835 DMA Controller> mem 0x7e007000-0x7e007aff irq 32,33,34,35,36,37,38,39,40,41,42 on simplebus0
bcmwd0: <BCM2708/2835 Watchdog> mem 0x7e100000-0x7e100113,0x7e00a000-0x7e00a023,0x7ec11000-0x7ec1101f on simplebus0
gpioc1: <GPIO controller> on gpio1
sdhci_bcm0: <Broadcom 2708 SDHCI controller> mem 0x7e300000-0x7e3000ff irq 63 on simplebus0
mmc0: <MMC/SD bus> on sdhci_bcm0
fb0: <BCM2835 VT framebuffer driver> on simplebus0
fb0: keeping existing fb bpp of 32
fbd0 on fb0
WARNING: Device "fb" is Giant locked and may be deleted before FreeBSD 13.0.
VT: Replacing driver "efifb" with new "fb".
fb0: 1824x984(1824x984 at 0,0) 32bpp
fb0: fbswap: 1, pitch 7296, base 0x3e3dc000, screen_size 7237632
pmu0: <Performance Monitoring Unit> irq 0,1,2,3 on ofwbus0
cpulist0: <Open Firmware CPU Group> on ofwbus0
cpu0: <Open Firmware CPU> on cpulist0
bcm2835_cpufreq0: <CPU Frequency Control> on cpu0
cpu1: <Open Firmware CPU> on cpulist0
cpu2: <Open Firmware CPU> on cpulist0
cpu3: <Open Firmware CPU> on cpulist0
pcib0: <BCM2838-compatible PCI-express controller> mem 0x7d500000-0x7d50930f irq 69,70 on simplebus1
pcib0: hardware identifies as revision 0x304.
pci0: <PCI bus> on pcib0
pcib1: <PCI-PCI bridge> irq 81 at device 0.0 on pci0
pci1: <PCI bus> on pcib1
bcm_xhci0: <VL805 USB 3.0 controller (on the Raspberry Pi 4b)> irq 82 at device 0.0 on pci1
bcm_xhci0: 32 bytes context size, 64-bit DMA
usbus0 on bcm_xhci0
genet0: <RPi4 Gigabit Ethernet> mem 0x7d580000-0x7d58ffff irq 71,72 on simplebus1
genet0: GENET version 5.0 phy 0x0000
miibus0: <MII bus> on genet0
brgphy0: <BCM54213PE 1000BASE-T media interface> PHY 1 on miibus0
brgphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-master, 1000baseT-FDX, 1000baseT-FDX-master, auto
genet0: Ethernet address: dc:a6:32:21:e9:57
gpioled0: <GPIO LEDs> on ofwbus0
sdhci_bcm1: <Broadcom 2708 SDHCI controller> mem 0x7e340000-0x7e3400ff irq 80 on simplebus3
mmc1: <MMC/SD bus> on sdhci_bcm1
—- hanging here—

just GUESSING ;-) (absolutely NO proof:-):
It comes to boot problems short before xhci will be initialized from the DeviceTree




More information about the freebsd-arm mailing list