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=2... 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. Kind regards, Stefan -- Stefan Brüns / Bergstraße 21 / 52062 Aachen home: +49 241 53809034 mobile: +49 151 50412019 work: +49 2405 49936-424 -- To unsubscribe, e-mail: opensuse-arm+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-arm+owner@opensuse.org