Questions tagged [device-tree]

The Device Tree is a data structure for describing hardware. Rather than hard coding every detail of a device into an operating system, many aspects of the hardware can be described in a data structure that is passed to the operating system at boot time. The device tree is used both by Open Firmware, and in the standalone Flattened Device Tree (FDT) form.

Device Trees are related to open firmware. It is often abbreviated as DT. They are a mechanism to pass hardware parameters to an OS from a boot loader. Device Trees are common on embedded PowerPC CPUs and more recently ARM CPUs. There is a lot of effort in the Linux kernel to support and use Device trees.

The main benefit is that one kernel binary may support many systems, even ones not conceived when the binary was built.

The device tree supports variable length data with keys, much like XML. Also, by itself, it does not define what the keys mean beyond a few standard details like an address, etc. For instance, it doesn't describe how a video controller entry should look. It is fairly detailed on CPU, memory and bus topologies.

References

Related Tags

  • - older PC BIOS standard, competing with DT/Open Firmware
  • -new PC BIOS standard, competing with DT/Open Firmware
  • - an embedded boot loader which functions as a BIOS on many embedded systems. u-boot supports passing devices trees to an OS.
630 questions
0
votes
0 answers

Microblaze linux stop booting at "bootconsole[earlyser0] disabled"

I want embed linux on a nexys 4 ddr board. I made an essential system: microblaze+ddr+uartlite+gpios Linux image is made by build root 2014.05 Linux boot stop after bootconsole[earlyser0] disabled. some thing of strange happen: i put…
Gian
  • 41
  • 1
  • 6
0
votes
0 answers

In device tree, can i update compatible string of a node during board init function?

I have a couple of nodes in the device tree, without compatible string. In the board file, I want to add compatible string to one of these node, based on certain conditions. Can i do it ? Is there any example for the same ?
0
votes
1 answer

sensor device tree entry on I2C bus

If a sensor is connected to I2C bus then both the following device tree entries will workt or only entry1 will work. entry1: ------- i2c { clock-frequency = <200000>; sensor1@addr { compatible = "sensor1" …
user3693586
  • 1,227
  • 5
  • 18
  • 40
0
votes
2 answers

How to read child node property in a device tree

I been trying to read child node property in a Device Tree. Could not figured it out, can any one help here? I have a dts file AA { child 1: { property 1 : XXX property 2 : XXX } child 2: { property 1…
Vasu
  • 265
  • 1
  • 10
  • 18
0
votes
3 answers

Reading I2C bus frequency from /proc/device-tree/i2c@XXXXX/clock-frequency

I am working on some userspace validation tool. In which I need to validate i2c freq. In my DT file, I set clock-frequency = <400000>;, And I read it back from /proc/device-tree/i2c@XXXXX/clock-frequency from userspace. But I am getting some…
Sanket Parmar
  • 1,477
  • 12
  • 9
0
votes
2 answers

AT91SAM9263ek booting Linux with Device Tree failed

I have problem booting Linux 3.16.1. I have compiled sources from http://www.kernel.org with at91sam9263_defconfig. I have added Flattened Device Tree support in Boot options. Followin tips suggested in this…
Matka
  • 111
  • 2
  • 9
0
votes
1 answer

embedding a DTC in a vmlinux/bzImage

I need to boot Linux on some custom hardware using uboot. For development I'm booting it using: bootm However, in the field I would like to collapse all three items into one. (legacy hardware,…
Tim Kolar
  • 175
  • 1
  • 9
0
votes
2 answers

Why some embedded board need device tree and some don't?

It may be very basic question but I'm really confused to get this. Some boards don't need device tree dtb file in the booting process like beagleboard and some should have the dtb file in the booting process like Zynq. is this assumption correct…
becks
  • 2,656
  • 8
  • 35
  • 64
0
votes
1 answer

linux use board init file and device tree simultaneously

Is it possible to simultaneously use "board init file" and "device tree" for peripheral device configuration in linux kernel? For example I have a set of peripherals. Half of them are fixed and other harf are changeable. Can I keep the fixed…
kiran
  • 525
  • 1
  • 9
  • 26
0
votes
1 answer

BBB - Trouble getting second SPI chip select with device tree

I have trouble to get second chip select working on the Beaglebone Black. I used the .dts given in /lib/firmware with my distribution (Angstrom, kernel 3.8.13) : /* * Copyright (C) 2013 CircuitCo * * Virtual cape for SPI1 on connector pins P9.29…
user3714405
  • 51
  • 2
  • 5
0
votes
1 answer

Device node and driver without actual device

I have a doubt on the following scenario in device tree, could you please help. We have a device node entry in the device tree and corresponding driver exists in the Kernel source, but actual device is not present on the board then what will…
user3693586
  • 1,227
  • 5
  • 18
  • 40
0
votes
0 answers

Stuck with applying the device tree overlay file (dtbo) On BeagleBoard-XM, any suggestions how?

I have recently took my Beagleboard-xM (Rev B) and put on it the Ubuntu 14.04 LTS (3.14.2-armv7-x5), then I tried to mux Pin3 (GPIO_139), after reading thoroughly the pages from both the "System Reference Manual"(Page 110) and the "Technical…
JammingThebBits
  • 732
  • 11
  • 31
0
votes
1 answer

BeagleBone Black Device tree overlay doesn't change pinmux

I started working recently over a BeagleBone Black and I'm facing some problems to apply the device tree overlay to modify the pinmux in order to use some gpios. I found a lot of tutorials concerning the Device tree overlay but I'm struggling to…
lcit
  • 306
  • 3
  • 12
0
votes
1 answer

How are am335x GPIOs numbered in device tree?

I am trying to use a driver with a gpio interrupt on BeagleboneBlack. My device tree has the following entry for my custom device: &i2c1{... mydevice: mydevice@0c { compatible = "mydevice,mydeice"; reg = <0x0c>; mag_irq_gpio = <&gpio1…
0
votes
1 answer

3.10 kernel crash BUG() in mark_bootmem()

I get a kernel crash at BUG() here - http://lxr.free-electrons.com/source/mm/bootmem.c?v=3.10#L385 with the following message 2kernel BUG at /kernel/mm/bootmem.c:385! What could be a possible reason for this? Following is the function call…
kimi
  • 315
  • 3
  • 11
1 2 3
41
42