[Letux-kernel] Raspi3B+ support

H. Nikolaus Schaller hns at goldelico.com
Sun Jan 6 21:58:03 CET 2019


> Am 06.01.2019 um 14:11 schrieb H. Nikolaus Schaller <hns at goldelico.com>:
> Hi,
> I am still fighting with upstream kernel...
> But I still have no console output with the upstream
> DTBs.
> So in summary:
> * bcm2710-rpi-3-b-plus.dtb	built from github tree boots with letux-kernel (CONFIG_MMC_BCM2835=y and CONFIG_DMA_BCM2837=y)
> * bcm2837-rpi-3-b-plus.4.16.dtb	provided by Mark renamed to bcm2710-rpi-3-b-plus.dtb does not boot with letux-kernel
> * bcm2837-rpi-3-b-plus.dtb	renamed to bcm2710-rpi-3-b-plus.dtb does not boot with letux-kernel
> Looks as if I should really focus on analysing the differences
> of the github and kernel.org DTB file used for bcm2710
> resp. bcm2837. And play around with bcm2837.dts

Well I did it the other way round:

1. install bcm2710-rpi-3-b-plus.dtb from github tree and bcm2837-rpi-3-b-plus.dtb from my build.

2. take the SD card into a card reader

3. run (on Udoo neo):

dtc -s -I dtb -O dts /media/letux/boot/bcm2710-rpi-3-b-plus.dtb >bcm2710.dts
dtc -s -I dtb -O dts /media/letux/boot/bcm2837-rpi-3-b-plus.dtb >bcm2837.dts

So this decompiles the dtb files (bcm2710.dts working, bcm2837.dts not working).

4. finally I did analyse the 165 diffs between the dts.

Some observations of diffs so far:
* bcm2710.dts has __symbols__ and __overrides__ - maybe the bootloader needs them?
* bcm2837.dts has no aliases - and serial0 / serial1 are not defined although there is a stdout-path = "serial1:115200n8"; - how is this mapped?
* bcm2710.dts has some more nodes for audio
* brcm,dma-channel-mask differs - but this is likely internal
* bcm2837.dts has less pinmux definitions, e.g. no bt-pins, no uart pinmux
* bcm2710.dts has gpu, hdmi, and some others: status="disabled" by default
* mmc at 7e202000 has some differences, but nothing which looks significant
* bcm2837.dts has an sdhci node with subnode for the brcm,bcm4329-fmac - so WiFi should work (if driver is available)
* bcm2837.dts has a serial at 7e201000 node with subnode for brcm,bcm43438-bt - so serdev based BT should work (if driver is available)
* serial at 7e215040 (console uart) is essentially the same (except different phandle numbers)
* USB nodes are almost the same
* bcm2837.dts has different thermal zones and a wifi-pwrseq node

So only the first two findings seem to be significantly different.

The first one may make the DTB unuseable for the boot loader to inject some
changes - this seems to be the dtc -@ thing we never had needed anywhere.
The second may explain why I can't see any (earlycon) console output.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: bcm2710.dts
Type: application/octet-stream
Size: 28864 bytes
Desc: not available
URL: <http://lists.goldelico.com/pipermail/letux-kernel/attachments/20190106/25c3684a/attachment-0002.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: bcm2837.dts
Type: application/octet-stream
Size: 16798 bytes
Desc: not available
URL: <http://lists.goldelico.com/pipermail/letux-kernel/attachments/20190106/25c3684a/attachment-0003.obj>
-------------- next part --------------

More information about the Letux-kernel mailing list