Raspberry Pi 3B Distorted U-boot Display
Archimedes Gaviola <[email protected]>
| Newsgroups | gmane.os.freebsd.devel.arm |
|---|---|
| Message-ID | <CAJFbk7EoJQfuxB027AP_TF1HJahA+ixQKa85pcisa33Ta2Ck-w@mail.gmail.com> |
Hi,
I've installed FreeBSD 13.0-RELEASE and 14.0-CURRENT successfully with
Raspberry Pi 3B. However, upon U-boot initialization stage the monitor
display is distorted as you can see here
https://pasteboard.co/hxDjJHwxXPc8.jpg but when the FreeBSD kernel is
loaded it displays normal as you can see here
https://pasteboard.co/EkgcZdQSxjtA.jpg. I am thinking of lowering the
resolution so I tried changing the HDMI configuration settings in the
config.txt but it cannot be changed, it has no effect. It always stays on
the default 1366x768 as what dmesg has detected. This behavior is also
observed in 14.0-CURRENT.
FreeBSD 13.0-RELEASE #0: Sat Feb 19 14:09:03 PST 2022
root@fbsd13:/usr/src/sys/arm64/compile/GENERIC arm64
FreeBSD clang version 11.0.1 ([email protected]:llvm/llvm-project.git
llvmorg-11.0.1-0-g43ff75f2c3fe)
VT(efifb): resolution 1366x768
...
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 14.0.
VT: Replacing driver "efifb" with new "fb".
fb0: 1366x768(1366x768@0,0) 32bpp
fb0: fbswap: 1, pitch 5504, base 0x3e7f2000, screen_size 4227072
freebsd@fbsd13:~ % cat /boot/msdos/config.txt
[all]
arm_64bit=1
dtparam=audio=on,i2c_arm=on,spi=on
dtoverlay=ds3231
dtoverlay=mmc
dtoverlay=disable-bt
device_tree_address=0x4000
kernel=u-boot.bin
enable_uart=1
[pi4]
hdmi_group=2
hdmi_mode=11
armstub=armstub8-gic.bin
freebsd@fbsd13:~ % grep -r "1366x768" /boot/msdos/
Binary file /boot/msdos/start_cd.elf matches
Binary file /boot/msdos/start_db.elf matches
Binary file /boot/msdos/start_x.elf matches
Binary file /boot/msdos/start.elf matches
Binary file /boot/msdos/start4.elf matches
Binary file /boot/msdos/start4cd.elf matches
Binary file /boot/msdos/start4db.elf matches
Binary file /boot/msdos/start4x.elf matches
Using the same images with 13.0-RELEASE and 14.0-CURRENT this issue does
not occur in RPi 4B. Anyone encountered this issue? I confirmed this as
well with another new RPi 3B hardware and it behaves the same. Please see
attached dmesg log output for reference.
Thanks,
Archimedes
freebsd13_rpi3b_u-boot-distorted-display.txt
(text/plain, 6.8 KB)
freebsd@fbsd13:~ % dmesg
---<<BOOT>>---
Copyright (c) 1992-2021 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-RELEASE #0: Sat Feb 19 14:09:03 PST 2022
root@fbsd13:/usr/src/sys/arm64/compile/GENERIC arm64
FreeBSD clang version 11.0.1 ([email protected]:llvm/llvm-project.git llvmorg-11.0.1-0-g43ff75f2c3fe)
VT(efifb): resolution 1366x768
module firmware already present!
real memory = 993841152 (947 MB)
avail memory = 947400704 (903 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 39f3d000 mode 2 pages 1
MAP 39f41000 mode 2 pages 3
MAP 39f45000 mode 2 pages 4
MAP 3b350000 mode 2 pages 16
MAP 3f100000 mode 0 pages 1
WARNING: Device "openfirm" is Giant locked and may be deleted before FreeBSD 14.0.
WARNING: Device "kbd" is Giant locked and may be deleted before FreeBSD 14.0.
kbd0 at kbdmux0
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
regfix0: <Fixed Regulator> on ofwbus0
regfix1: <Fixed Regulator> on ofwbus0
bcm2835_firmware0: <BCM2835 Firmware> on simplebus0
ofw_clkbus1: <OFW clocks bus> on bcm2835_firmware0
psci0: <ARM Power State Co-ordination Interface Driver> on ofwbus0
lintc0: <BCM2836 Interrupt Controller> mem 0x40000000-0x400000ff on simplebus0
intc0: <BCM2835 Interrupt Controller> mem 0x7e00b200-0x7e00b3ff irq 39 on simplebus0
gpio0: <BCM2708/2835 GPIO controller> mem 0x7e200000-0x7e2000b3 irq 7,8 on simplebus0
gpiobus0: <OFW GPIO bus> on gpio0
gpio1: <Raspberry Pi Firmware GPIO controller> on bcm2835_firmware0
gpiobus1: <GPIO bus> on gpio1
mbox0: <BCM2835 VideoCore Mailbox> mem 0x7e00b880-0x7e00b8bf irq 6 on simplebus0
generic_timer0: <ARMv7 Generic Timer> irq 1,2,3,4 on ofwbus0
Timecounter "ARM MPCore Timecounter" frequency 19200000 Hz quality 1000
Event timer "ARM MPCore Eventtimer" frequency 19200000 Hz quality 1000
usb_nop_xceiv0: <USB NOP PHY> on ofwbus0
bcm2835_clkman0: <BCM283x Clock Manager> mem 0x7e101000-0x7e102fff on simplebus0
gpioc0: <GPIO controller> on gpio0
uart0: <PrimeCell UART (PL011)> mem 0x7e201000-0x7e2011ff irq 9 on simplebus0
uart0: console (115200,n,8,1)
spi0: <BCM2708/2835 SPI controller> mem 0x7e204000-0x7e2041ff irq 11 on simplebus0
spibus0: <OFW SPI bus> on spi0
spibus0: <unknown card> at cs 0 mode 0
spibus0: <unknown card> at cs 1 mode 0
iichb0: <BCM2708/2835 BSC controller> mem 0x7e804000-0x7e804fff irq 19 on simplebus0
bcm283x_dwcotg0: <DWC OTG 2.0 integrated USB controller (bcm283x)> mem 0x7e980000-0x7e98ffff,0x7e006000-0x7e006fff irq 21,22 on simplebus0
usbus1 on bcm283x_dwcotg0
bcm_dma0: <BCM2835 DMA Controller> mem 0x7e007000-0x7e007eff irq 23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38 on simplebus0
bcmwd0: <BCM2708/2835 Watchdog> mem 0x7e100000-0x7e100113,0x7e00a000-0x7e00a023 on simplebus0
bcmrng0: <Broadcom BCM2835 RNG> mem 0x7e104000-0x7e10400f irq 40 on simplebus0
sdhci_bcm0: <Broadcom 2708 SDHCI controller> mem 0x7e300000-0x7e3000ff irq 48 on simplebus0
mmc0: <MMC/SD bus> on sdhci_bcm0
gpioc1: <GPIO controller> on gpio1
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 14.0.
VT: Replacing driver "efifb" with new "fb".
fb0: 1366x768(1366x768@0,0) 32bpp
fb0: fbswap: 1, pitch 5504, base 0x3e7f2000, screen_size 4227072
pmu0: <Performance Monitoring Unit> irq 0 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
gpioled0: <GPIO LEDs> on ofwbus0
gpioled0: <led0> failed to map pin
cryptosoft0: <software crypto>
armv8crypto0: CPU lacks AES instructions
Timecounters tick every 1.000 msec
iicbus0: <OFW I2C bus> on iichb0
iic0: <I2C generic I/O> on iicbus0
ds32310: <Maxim DS3231 RTC> at addr 0xd0 on iicbus0
usbus1: 480Mbps High Speed USB v2.0
ugen1.1: <DWCOTG OTG Root HUB> at usbus1
uhub0 on usbus1
uhub0: <DWCOTG OTG Root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus1
mmcsd0: 32GB <SDHC SP32G 8.0 SN F7E491A8 MFG 03/2021 by 3 SD> at mmc0 50.0MHz/4bit/65535-block
bcm2835_cpufreq0: ARM 600MHz, Core 250MHz, SDRAM 400MHz, Turbo OFF
ds32310: registered as a time-of-day clock, resolution 1.000000s
Release APs...done
CPU 0: ARM Cortex-A53 r0p4 affinity: 0
Trying to mount root from ufs:/dev/ufs/rootfs [rw]...
Cache Type = <64 byte D-cacheline,64 byte I-cacheline,VIPT ICache,64 byte ERG,64 byte CWG>
Instruction Set Attributes 0 = <CRC32>
Instruction Set Attributes 1 = <>
Processor Features 0 = <AdvSIMD,FP,EL3 32,EL2 32,EL1 32,EL0 32>
Processor Features 1 = <>
Memory Model Features 0 = <TGran4,TGran64,SNSMem,BigEnd,16bit ASID,1TB PA>
Memory Model Features 1 = <8bit VMID>
Memory Model Features 2 = <32bit CCIDX,48bit VA>
Debug Features 0 = <2 CTX BKPTs,4 Watchpoints,6 Breakpoints,PMUv3,Debugv8>
Debug Features 1 = <>
Auxiliary Features 0 = <>
Auxiliary Features 1 = <>
CPU 1: ARM Cortex-A53 r0p4 affinity: 1
CPU 2: ARM Cortex-A53 r0p4 affinity: 2
CPU 3: ARM Cortex-A53 r0p4 affinity: 3
Dual Console: Serial Primary, Video Secondary
uhub0: 1 port with 1 removable, self powered
ugen1.2: <vendor 0x0424 product 0x9514> at usbus1
uhub1 on uhub0
uhub1: <vendor 0x0424 product 0x9514, class 9/0, rev 2.00/2.00, addr 2> on usbus1
uhub1: MTT enabled
uhub1: 5 ports with 4 removable, self powered
lo0: link state changed to UP
ugen1.3: <vendor 0x0424 product 0xec00> at usbus1
smsc0 on uhub1
smsc0: <vendor 0x0424 product 0xec00, rev 2.00/2.00, addr 3> on usbus1
smsc0: chip 0xec00, rev. 0002
miibus0: <MII bus> on smsc0
smscphy0: <SMC LAN8700 10/100 interface> PHY 1 on miibus0
smscphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
ue0: <USB Ethernet> on smsc0
ue0: Ethernet address: b8:27:eb:64:8b:57
ugen1.4: <USB Adapter USB Device> at usbus1
ukbd0 on uhub1
ukbd0: <USB Adapter USB Device, class 0/0, rev 1.10/0.01, addr 4> on usbus1
kbd1 at ukbd0
ue0: link state changed to UP
smsc0: chip 0xec00, rev. 0002
ue0: link state changed to DOWN
ue0: link state changed to UP
ugen1.6: <A4Tech USB Keyboard> at usbus1
ukbd1 on uhub1
ukbd1: <A4Tech USB Keyboard, class 0/0, rev 2.00/1.05, addr 6> on usbus1
kbd2 at ukbd1
uhid0 on uhub1
uhid0: <A4Tech USB Keyboard, class 0/0, rev 2.00/1.05, addr 6> on usbus1