30.07.2015 01:57, Stefan Bruens пишет:
On Wednesday 29 July 2015 15:51:45 Andreas Färber wrote:
Hi Stefan,
Am 29.07.2015 um 04:04 schrieb Stefan Bruens:
By default the dtbs as shipped disable any optional hardware, which is a
good thing. On the other hand things like SPI are no longer working.
Raspbian tackles this with so called overlays and some help from the
binary
start.elf bootloader:
1. start.elf reads the dtb from the fat boot partition
a) a file defined in config.txt, "device_tree=foo.dtb"
b) a hardcoded hardware specific default file,
"bcm2708-rpi-<variant>.dtb"
2. if the config.txt specifies "dtoverlay=foo-overlay"
1. the boot loader reads "overlays/foo-overlay.dtb" from the fat
partition
2. the overlay is patched into the flattened device tree
3. the boot loader puts the device tree at address 0x100 (override with
"device_tree_address=0xabcd1234"
4. the boot loader loads the specified kernel
As openSUSE does not directly jump into the kernel, but starts u-boot,
this
does not work here.
Matwey had enabled DT overlays in the kernel at some point.
Does that still require the bootloader to take such special steps?
As far as I know:
Upstream kernel has support for transactional changes of device trees:
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=201c910bd6898d81d4ac6685d0f421b7e10f3c5d
This is used by the beaglebone capemanager, which is *not* upstream.
http://elinux.org/Capemgr#Implementation
It could also be used by the dt-overlay configfs interface, which is pending
due to possible security implications:
http://article.gmane.org/gmane.linux.kernel/1816078
So mainline kernel has an in-Kernel API for applying DT overlays, but no user
facing interface.
Hello Andreas and Stefan,
That is correct. But you tell about bootloader, I am not sure why does
a bootloader need device tree overlay support in kernel. I mean it can
merge device tree before actual kernel loaded and run.
Kind regards,
Stefan
--
To unsubscribe, e-mail: [email protected]
To contact the owner, e-mail: [email protected]