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. 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: [email protected] To contact the owner, e-mail: [email protected]
