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]

Reply via email to