Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 3 Jan 2021 17:39:13 +0100
From:      =?utf-8?Q?Klaus_K=C3=BCchemann?= <maciphone2@googlemail.com>
To:        Emmanuel Vadot <manu@bidouilliste.com>, Robert Crowston <crowston@protonmail.com>, freebsd-arm@freebsd.org, Mark Millard <marklmi@yahoo.com>, Kyle Evans <kevans@freebsd.org>, Andy McClements <ajm@ip-ether.net>
Subject:   Re: RPi4b 8GB 13.0-Current, XHCI broken, wrong U-Boot ?
Message-ID:  <26F944C6-B69A-4C5E-AC0B-9D05F5BC9E6F@googlemail.com>
In-Reply-To: <20210103142936.d155633ed87427d9c144f7e8@bidouilliste.com>
References:  <007c8658-b7b6-6852-536c-9c36af64506b@ip-ether.net> <D22EDD0F-8A8E-466C-BCEC-C8E2B3EA9A6B@googlemail.com> <aaefd44f-9dfd-be08-b446-d85c1df185a9@ip-ether.net> <5B626DCC-6F7C-4554-803C-F488A1ED9BEB@googlemail.com> <56d10ea4-3284-3e4c-9521-8bf1008caa2b@ip-ether.net> <26D146B8-0362-4008-9A1F-A6CD6B1479BB@googlemail.com> <8edaad69-422f-8c9c-599c-e9eea00077f0@ip-ether.net> <26E20BD2-BD91-433F-9149-367D8AB9DFED@googlemail.com> <20210103115751.9d9d5470a6e4e3f849016b88@bidouilliste.com> <480205D0-4153-4351-BC67-C4A535116E18@googlemail.com> <20210103142936.d155633ed87427d9c144f7e8@bidouilliste.com>

next in thread | previous in thread | raw e-mail | index | archive | help

> Am 03.01.2021 um 14:29 schrieb Emmanuel Vadot <manu@bidouilliste.com>:
>=20
>> =E2=80=A6.
>=20
> Ok, one thing at a time please.

O.K, one thing at a time while I=E2=80=99m sorry in advance , that this =
will be a lot ;-)
>=20
> And again please provide an overlay for this with an explanation of
> what and why things are needed.
Well, as commented in https://reviews.freebsd.org/D26853#598685
the reset-function  is triggered in line 2363 bcm2711-rpi-4-b.dts while =
has places in line 1965=20
and 1422 . So what I assume is that the function has to be triggered at =
a special moment,
That=E2=80=99s why I DIDN`T consider to create an overlay, since =
bcm2711-rpi-4-b.dtb comes UNCHANGED from upstream(afaik),
And is NOT compiled by ourselves(what I don=E2=80=99t like)( I do not =
know everything you do in new releases or elsewhere and I haven=E2=80=99t =
access to the filesystem).
This doesn=E2=80=99t necessarily mean that we shouldn=E2=80=99t  want to =
provide an overlay but it makes things much much more complicated, e.g. =
:
sys/dts/arm64/overlays/spigen-rpi4.dtso / sys/modules/dtb/rpi/Makefile=20=

I do not see an spigen-rpi4.dtbo loaded by the firmware although it is =
available in  : dtb/overlays on the msdos partition .
Output of firmware-load(which shows that bcm2711-rpi-4-b.dtb is loaded =
FIRST and misses spigen-rpi4..)  :
=E2=80=94
Read start4.elf bytes  2213312 hnd 0x00000896 hash '19bbfbc3ec1da69d'
Read fixup4.dat bytes     5428 hnd 0x00000019 hash '5481e23d9a139ecb'
0x00d03114 0x00000000 0x0000003f
MEM GPU: 76 ARM: 947 TOTAL: 1023
Starting start4.elf @ 0xfeb00200 partition 0

MESS:00:00:05.341884:0: brfs: File read: /mfs/sd/config.txt
MESS:00:00:05.344650:0: brfs: File read: 187 bytes
MESS:00:00:05.412783:0: brfs: File read: /mfs/sd/config.txt
MESS:00:00:05.431333:0: brfs: File read: 187 bytes
MESS:00:00:05.893817:0: gpioman: gpioman_get_pin_num: pin =
DISPLAY_DSI_PORT not defined
MESS:00:00:05.901072:0: *** Restart logging
MESS:00:00:05.906275:0: hdmi: HDMI:hdmi_get_state is deprecated, use =
hdmi_get_display_state instead
MESS:00:00:05.915565:0: hdmi: HDMI:hdmi_get_state is deprecated, use =
hdmi_get_display_state instead
MESS:00:00:05.921499:0: HDMI0: hdmi_pixel_encoding: 300000000
MESS:00:00:05.926967:0: HDMI1: hdmi_pixel_encoding: 300000000
MESS:00:00:05.937190:0: dtb_file 'bcm2711-rpi-4-b.dtb'
MESS:00:00:05.942006:0: brfs: File read: /mfs/sd/bcm2711-rpi-4-b.dtb
MESS:00:00:05.945296:0: Loading 'bcm2711-rpi-4-b.dtb' to 0x4000 size =
0xbab8
MESS:00:00:05.964151:0: brfs: File read: 47800 bytes
MESS:00:00:06.021379:0: brfs: File read: /mfs/sd/config.txt
MESS:00:00:06.023868:0: dtparam: audio=3Don
MESS:00:00:06.036453:0: dtparam: i2c_arm=3Don
MESS:00:00:06.045531:0: dtparam: spi=3Don
MESS:00:00:06.053747:0: brfs: File read: 187 bytes
MESS:00:00:06.055998:0: brfs: File read: /mfs/sd/overlays/mmc.dtbo
MESS:00:00:06.073055:0: Loaded overlay 'mmc'
MESS:00:00:06.102564:0: brfs: File read: 1221 bytes
MESS:00:00:06.104918:0: brfs: File read: =
/mfs/sd/overlays/disable-bt.dtbo
MESS:00:00:06.124664:0: Loaded overlay 'disable-bt'
MESS:00:00:06.162765:0: brfs: File read: 1073 bytes
MESS:00:00:06.164881:0: Failed to open command line file 'cmdline.txt'
MESS:00:00:07.205210:0: brfs: File read: /mfs/sd/armstub8-gic.bin
MESS:00:00:07.208193:0: Loading 'armstub8-gic.bin' to 0x0 size 0x1700
MESS:00:00:07.214371:0: brfs: File read: 5888 bytes
MESS:00:00:07.242883:0: brfs: File read: /mfs/sd/u-boot.bin
MESS:00:00:07.245355:0: Loading 'u-boot.bin' to 0x80000 size 0x8c708
MESS:00:00:07.251440:0: Device tree loaded to 0x4000 (size 0xbf2c)
MESS:00:00:07.260578:0: uart: Set PL011 baud rate to 103448.300000 Hz
MESS:00:00:07.266906:0: uart: Baud rate change done...
MESS:00:00:07.268962:0: uart: Baud rate change done...
MESS:00:00:07.274289:0: bfs_xhci_stop
MESS:00:00:07.277204:0: XHCI-STOP
MESS:00:00:07.280402:0: xHC ver: 256 HCS: 05000420 fc000031 00e70004 =
HCC: 002841eb
MESS:00:00:07.288600:0: PCI reset

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

We see here that the xhci-reset is the last thing loaded before u-boot.
So., O.K., if we could ensure that an overlay with a pure reset-function =
could be loaded after everything else=20
we could perhaps go this way.
But I ask myself : why?
bcm2711-rpi-4-b.dts in https://reviews.freebsd.org/D26853 is a =
decompilation from a professional distribution=20
which is proved to be working , even proved by Andy McClements to boot =
vanilla or whatever from USB.
And: the original xhci-reset-patch is from a u-boot programmer ( Nicolas =
Saenz of Suse linux, while this is not a decompilation from Suse)-
I asked myself why it didn=E2=80=99t make it upstream but manu@ himself =
found the answer :-)

> Am 03.01.2021 um 14:29 schrieb Emmanuel Vadot <manu@bidouilliste.com>:
> remember that RPI doesn't care about u-boot
> so they might don't care about this problem.


So, from my view(while not important:-) : why should I care about an =
upstream which doesn=E2=80=99t care about me ???

> Am 03.01.2021 um 14:29 schrieb Emmanuel Vadot <manu@bidouilliste.com>:
> We will not replace a dts in sys/gnu/ with some other one coming from
> a different upstream.
I know. And my intention of course wasn=E2=80=99t to overwrite any =
directory which is probably even not in use by fbsd.
My intention is to replace the current bcm2711-rpi-4-b.dtb in the msdos =
- partition with a proved working one which=20
contains things we need, created by people who know what they=E2=80=99re =
doing and who care about u-boot( because they ARE contributors to =
u-boot).

The original patch by Nicolas Saenz is intended to live in =
bcm2711-rpi-4-b.dtb ,
 While , O.K.: we could =E2=80=9Eplay around=E2=80=9C a little with =
overlays the next days=E2=80=A6

Regards

K.







Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?26F944C6-B69A-4C5E-AC0B-9D05F5BC9E6F>