<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>DeviceTree on Rishav's Digital Garden</title><link>https://blog.rishavs.in/tags/devicetree/</link><description>Recent content in DeviceTree on Rishav's Digital Garden</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Mon, 27 Jan 2025 17:41:00 +0000</lastBuildDate><atom:link href="https://blog.rishavs.in/tags/devicetree/index.xml" rel="self" type="application/rss+xml"/><item><title>Device Tree (DT) in Linux Kernel</title><link>https://blog.rishavs.in/posts/device-tree-dt-in-linux-kernel/</link><pubDate>Mon, 27 Jan 2025 17:41:00 +0000</pubDate><guid>https://blog.rishavs.in/posts/device-tree-dt-in-linux-kernel/</guid><description>&lt;h2 id="overview">Overview&lt;/h2>
&lt;p>The Device Tree (DT) is a data structure used to describe the hardware components of a system in a way that is independent of the operating system and software. It is particularly relevant for systems based on the ARM architecture, where the hardware varies significantly across devices.&lt;/p>
&lt;p>Instead of hardcoding hardware details in the kernel, the device tree provides a flexible way to inform the kernel about the system&amp;rsquo;s hardware layout. This simplifies kernel code and enables easier reuse across multiple hardware platforms.&lt;/p></description></item><item><title>Example Image Tree Source File (.its)</title><link>https://blog.rishavs.in/posts/example-image-tree-source-file-its/</link><pubDate>Fri, 08 Nov 2024 11:31:00 +0000</pubDate><guid>https://blog.rishavs.in/posts/example-image-tree-source-file-its/</guid><description>&lt;h2 id="example-image-tree-source-its-file">Example Image Tree Source (&lt;code>.its&lt;/code>) file&lt;/h2>
&lt;pre tabindex="0">&lt;code class="language-dts" data-lang="dts">/dts-v1/;
/ {
description = &amp;#34;U-Boot FIT source file for arm&amp;#34;;
images {
uboot {
data = /incbin/(&amp;#34;uboot.img.enc&amp;#34;);
type = &amp;#34;standalone&amp;#34;;
arch = &amp;#34;arm64&amp;#34;;
compression = &amp;#34;none&amp;#34;;
load = &amp;lt;0xffffff00&amp;gt;;
hash {
algo = &amp;#34;sha256&amp;#34;;
};
};
};
configurations {
default = &amp;#34;conf&amp;#34;;
conf {
rollback-index = &amp;lt;0x00&amp;gt;;
uboot = &amp;#34;uboot&amp;#34;;
board-type = &amp;#34;MU_BOARD&amp;#34;;
signature {
algo = &amp;#34;sha256,rsa2048&amp;#34;;
padding = &amp;#34;pss&amp;#34;;
key-name-hint = &amp;#34;dev&amp;#34;;
sign-images = &amp;#34;uboot&amp;#34;;
};
};
};
};
&lt;/code>&lt;/pre>&lt;h2 id="references">References&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="https://devicetree-specification.readthedocs.io/en/stable/index.html">https://devicetree-specification.readthedocs.io/en/stable/index.html&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Flattened Devicetree (DTB) Format</title><link>https://blog.rishavs.in/posts/flattened-devicetree-dtb-format/</link><pubDate>Fri, 08 Nov 2024 11:31:00 +0000</pubDate><guid>https://blog.rishavs.in/posts/flattened-devicetree-dtb-format/</guid><description>&lt;h2 id="device-tree">Device Tree&lt;/h2>
&lt;figure>
&lt;img loading="lazy" src="https://blog.rishavs.in/images/Pasted%20image%2020241108115912.png"
alt="Pasted image 20241108115912"/>
&lt;/figure>
&lt;h3 id="standard-properties">Standard Properties&lt;/h3>
&lt;h4 id="compatible">compatible&lt;/h4>
&lt;p>The &lt;em>compatible&lt;/em> property value consists of one or more strings that define the specific programming model for the device. This list of strings should be used by a client program for device driver selection. The property value consists of a concatenated list of null terminated strings, from most specific to most general. They allow a device to express its compatibility with a family of similar devices, potentially allowing a single device driver to match against several devices.&lt;/p></description></item></channel></rss>