<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Device Tree Configuration Guidelines</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/47990/device-tree-configuration-guidelines</link><description>Can Nordic provide general guidelines for manipulating the device tree configuration files for custom boards? 
 For instance, does the application require the exact same pin mapping as the SPM loader? If not, what if there are pin mappings for a UART</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 05 Apr 2024 15:06:39 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/47990/device-tree-configuration-guidelines" /><item><title>RE: Device Tree Configuration Guidelines</title><link>https://devzone.nordicsemi.com/thread/477361?ContentTypeID=1</link><pubDate>Fri, 05 Apr 2024 15:06:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6140b416-34ee-4b01-89e4-598e02c8516d</guid><dc:creator>Steven</dc:creator><description>[quote userid="109035" url="~/f/nordic-q-a/47990/device-tree-configuration-guidelines/393565"]I won&amp;#39;t bang on anymore than&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/members/scrowe" data-contentid="eae11fff1c7647b686996093f0f18ae2" data-contenttypeid="e9ed411860ed4f2ba0265705b8793d05" class="ui-contentpeek internal-link view-user-profile"&gt;Steven&lt;/a&gt;&amp;nbsp;has [/quote]
&lt;p&gt;&lt;span class="emoticon" data-url="https://devzone.nordicsemi.com/cfs-file/__key/system/emoji/263a.svg" title="Relaxed"&gt;&amp;#x263a;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Device Tree Configuration Guidelines</title><link>https://devzone.nordicsemi.com/thread/393594?ContentTypeID=1</link><pubDate>Wed, 02 Nov 2022 09:39:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cfa98bd2-f11c-46f3-892f-8c7f2dcceb8a</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>&lt;p&gt;Hi Mike,&lt;/p&gt;
&lt;p&gt;Please create a new ticket for your new questions, to help us keep DevZone tidy.&lt;/p&gt;
&lt;p&gt;You can link to this case in the new one as a reference.&lt;/p&gt;
&lt;p&gt;Regards,&lt;br /&gt;Sigurd Hellesvik&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Device Tree Configuration Guidelines</title><link>https://devzone.nordicsemi.com/thread/393566?ContentTypeID=1</link><pubDate>Wed, 02 Nov 2022 05:25:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ba5e1a6e-e107-4025-826b-84505b2e8464</guid><dc:creator>Mike Austin (LPI)</dc:creator><description>&lt;p&gt;And then, how does &lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/ug_pinctrl.html#ug-pinctrl"&gt;this&lt;/a&gt;&amp;nbsp;all come into the mix?&amp;nbsp; Is this an alternative to device tree overlay files?&lt;/p&gt;
&lt;p&gt;Cheers,&lt;/p&gt;
&lt;p&gt;Mike&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Device Tree Configuration Guidelines</title><link>https://devzone.nordicsemi.com/thread/393565?ContentTypeID=1</link><pubDate>Wed, 02 Nov 2022 05:00:24 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0b320fe8-e4a3-467e-96eb-257102d45697</guid><dc:creator>Mike Austin (LPI)</dc:creator><description>&lt;p&gt;Sorry to rehash an older thread, but I stumbled across this after searching through the DevZone for some assistance on creating my own GPIO definitions in a .overlay file.&lt;/p&gt;
&lt;p&gt;I won&amp;#39;t bang on anymore than&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/members/scrowe"&gt;Steven&lt;/a&gt;&amp;nbsp;has already about the challenges faced by newbies in navigating a lot of the stuff you need to learn to get up and running with NCS/Zephyr.&lt;/p&gt;
&lt;p&gt;But I have what seems like a simple task - create my own GPIO pin reference in an overlay file that will enable me to turn a FET on or off so I can sample the battery voltage via an ADC input.&amp;nbsp; I&amp;#39;m using P0.30 for my GPIO pin to control the FET, and P0.02 as the ADC input for measuring the battery voltage.&lt;/p&gt;
&lt;p&gt;This is what my overlay file looks like (it builds, but I&amp;#39;ve not yet tested it to ensure it works).&amp;nbsp; I&amp;#39;ve got to this point via a fair bit of trial and error, so if there is anything there that doesn&amp;#39;t look 100% legit, please flag it up as I&amp;#39;ll be honest - I&amp;#39;ve no real idea what I&amp;#39;m doing here!&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;/ {
	zephyr,user {
		io-channels = &amp;lt;&amp;amp;adc 0&amp;gt;;
	};


mypins {
    compatible = &amp;quot;gpio-keys&amp;quot;;
    batteryen: batt_en {
        gpios = &amp;lt;&amp;amp;gpio0 30 (GPIO_PULL_DOWN | GPIO_ACTIVE_HIGH)&amp;gt;;
        label = &amp;quot;Battery Enable&amp;quot;;
    };
};

};&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;A couple of questions:&lt;/p&gt;
&lt;p&gt;1.&amp;nbsp; Will&amp;nbsp;io-channels = &amp;lt;&amp;amp;adc 0&amp;gt;; actually ensure I am accessing AIN0/P0.02?&amp;nbsp; I&amp;#39;m basing this on what is already in the nRF52DK board file for the arduino_adc.&lt;/p&gt;
&lt;p&gt;2. In my definition of the GPIO, what limits/restrictions/guidance is there in defining the references &amp;quot;batteryen&amp;quot;, &amp;quot;batt_en&amp;quot;.&amp;nbsp; And more importantly, what are they used for?&lt;/p&gt;
&lt;p&gt;3.&amp;nbsp; In the DK board file, there are a bunch of aliases for the LEDs and buttons.&amp;nbsp; Why would I use an alias instead of referencing whatever value I have at &amp;quot;batteryen&amp;quot;?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I think its this level of support that is lacking in any documentation I&amp;#39;ve seen around Nordic devices.&amp;nbsp; Its like there is a certain level of competency you need to acquire in order to understand most of the info available, but getting to that point is akin to extracting&amp;nbsp;the mythical &amp;quot;sword in the stone&amp;quot;&lt;/p&gt;
&lt;p&gt;Cheers,&lt;/p&gt;
&lt;p&gt;Mike&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Device Tree Configuration Guidelines</title><link>https://devzone.nordicsemi.com/thread/310125?ContentTypeID=1</link><pubDate>Tue, 18 May 2021 11:45:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:71b7d61e-3aeb-423f-b83a-801919d7e862</guid><dc:creator>Simon</dc:creator><description>&lt;p&gt;Thanks for the feedback. I&amp;#39;ve forwarded&amp;nbsp;your suggestion internally.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Simon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Device Tree Configuration Guidelines</title><link>https://devzone.nordicsemi.com/thread/309730?ContentTypeID=1</link><pubDate>Fri, 14 May 2021 09:37:10 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8e93618e-4823-4ff0-b659-71107236f9d6</guid><dc:creator>Henk Pragt</dc:creator><description>&lt;p&gt;Hi Simon,&lt;/p&gt;
&lt;p&gt;I totally agree with Steven: the DTS is far too complicated to quickly start a custom design. Here&amp;#39;s a thought: how about a simple wizzard where we can add a board name and tick some peripherals and I/O&amp;#39;s from a menu, and have it create the DTS for us?&lt;/p&gt;
&lt;p&gt;cheers,&lt;/p&gt;
&lt;p&gt;Henk&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Device Tree Configuration Guidelines</title><link>https://devzone.nordicsemi.com/thread/302364?ContentTypeID=1</link><pubDate>Mon, 29 Mar 2021 12:39:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c52f6f83-5f43-4508-9ab9-ea01968e02df</guid><dc:creator>Simon</dc:creator><description>&lt;p&gt;I&amp;#39;ve forwarded your feedback to one of our tech writers. We aware that there is room for improvement in our getting started guides and are working on improving it.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Device Tree Configuration Guidelines</title><link>https://devzone.nordicsemi.com/thread/302350?ContentTypeID=1</link><pubDate>Mon, 29 Mar 2021 11:27:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a3dfeb77-bfb9-46e6-8061-d70cbaef0666</guid><dc:creator>Simon</dc:creator><description>&lt;p&gt;Thanks for your feedback, I&amp;#39;ll forward it internally. I&amp;#39;ll incorporate the mentioned section into the tutorial some time after easter.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Device Tree Configuration Guidelines</title><link>https://devzone.nordicsemi.com/thread/302334?ContentTypeID=1</link><pubDate>Mon, 29 Mar 2021 10:13:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:17eccb12-71e9-4a32-9c8b-f443992b916e</guid><dc:creator>Steven</dc:creator><description>&lt;p&gt;Yes, certainly that would be helpful. My broader point is that the documentation is incomplete and that the application notes are essential, from a users perspective.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Device Tree Configuration Guidelines</title><link>https://devzone.nordicsemi.com/thread/302259?ContentTypeID=1</link><pubDate>Sun, 28 Mar 2021 19:18:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f3a4a32f-159b-4597-abf3-e729ba0f19fe</guid><dc:creator>Simon</dc:creator><description>[quote user="SCrowe"]To add to that, I&amp;#39;d say that 2.2 Walkthrough doesn&amp;#39;t really demonstrate a custom board as you&amp;#39;re only copying and pasting files from another demo. It doesn&amp;#39;t say anything about adding additional functionality. Is that fair?[/quote]
&lt;p&gt;That is correct. The 2.2 Walkthrough only shows how to create a new custom board folder, that you can use as a base for your specific board. It does not show how to add additional functionality to your board.&lt;/p&gt;
&lt;p&gt;Would it be useful with a new section &amp;quot;&lt;em&gt;2.3 Modify the board folder to your custom board&amp;quot;&lt;/em&gt;? Where I go through some different scenarios:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If your board only has one button, connected to GPIO&amp;nbsp;30
&lt;ul&gt;
&lt;li&gt;Then you have to remove the other &lt;a href="https://github.com/nrfconnect/sdk-zephyr/blob/54dea0b2b5309098c388a836fe9b152318592495/boards/arm/nrf9160dk_nrf9160/nrf9160dk_nrf9160_common.dts#L50-L61"&gt;button instances&lt;/a&gt;, and change the &lt;a href="https://github.com/nrfconnect/sdk-zephyr/blob/54dea0b2b5309098c388a836fe9b152318592495/boards/arm/nrf9160dk_nrf9160/nrf9160dk_nrf9160_common.dts#L47"&gt;GPIO of button1&lt;/a&gt;&amp;nbsp;to 30&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;If you have an adxl362 device on you board, connected to some specific GPIOs
&lt;ul&gt;
&lt;li&gt;Then you could look at the &lt;a href="https://github.com/nrfconnect/sdk-nrf/blob/6040e6e1e849e5f7e8e09d5d0edc04cda7a50fe7/boards/arm/thingy91_nrf9160/thingy91_nrf9160_common.dts#L128-L142"&gt;board folder for the Thingy:91&lt;/a&gt;&amp;nbsp;to see&amp;nbsp;how to add it to the board folder. Change the SPI instance if you want to use another, and select &lt;a href="https://github.com/nrfconnect/sdk-nrf/blob/6040e6e1e849e5f7e8e09d5d0edc04cda7a50fe7/boards/arm/thingy91_nrf9160/thingy91_nrf9160_common.dts#L131-L134"&gt;the pins&lt;/a&gt; according to how the adxl362 is connected.&lt;/li&gt;
&lt;li&gt;Then you can build the &lt;a href="https://github.com/nrfconnect/sdk-zephyr/tree/54dea0b2b5309098c388a836fe9b152318592495/samples/sensor/adxl362"&gt;adxl362 sample&lt;/a&gt; with your custom board name and it should work out of the box&lt;/li&gt;
&lt;li&gt;(Be aware that this can also get added to an &lt;a href="https://github.com/nrfconnect/sdk-zephyr/blob/54dea0b2b5309098c388a836fe9b152318592495/samples/sensor/adxl362/boards/nrf52dk_nrf52832.overlay"&gt;overlay file&lt;/a&gt;, but if the sensor is part of the custom board, the proper way is to add it to the dts board files)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;If you don&amp;#39;t have an nrf52840 on your custom board
&lt;ul&gt;
&lt;li&gt;Here I demonstrate what should be removed. E.g. &lt;a href="https://github.com/nrfconnect/sdk-zephyr/blob/54dea0b2b5309098c388a836fe9b152318592495/boards/arm/nrf9160dk_nrf9160/nrf9160dk_nrf9160_common.dts#L64-L78"&gt;interface_to_nrf52840&lt;/a&gt;, &lt;a href="https://github.com/nrfconnect/sdk-zephyr/blob/54dea0b2b5309098c388a836fe9b152318592495/boards/arm/nrf9160dk_nrf9160/nrf9160dk_nrf9160_common.dts#L80-L88"&gt;nrf52840_reset&lt;/a&gt;++&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Regarding the other comments, I&amp;#39;ll forward it to the ones responsible for the blogs/tutorials.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Simon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Device Tree Configuration Guidelines</title><link>https://devzone.nordicsemi.com/thread/302213?ContentTypeID=1</link><pubDate>Fri, 26 Mar 2021 17:23:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:03d8cecb-2f8f-4027-b088-1972c7d96237</guid><dc:creator>Steven</dc:creator><description>&lt;p&gt;To add to that, I&amp;#39;d say that 2.2 Walkthrough doesn&amp;#39;t really demonstrate a custom board as you&amp;#39;re only copying and pasting files from another demo. It doesn&amp;#39;t say anything about adding additional functionality. Is that fair?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Device Tree Configuration Guidelines</title><link>https://devzone.nordicsemi.com/thread/302200?ContentTypeID=1</link><pubDate>Fri, 26 Mar 2021 15:52:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6b7b2af3-fa3e-41cd-b613-f9179b6f52e3</guid><dc:creator>Steven</dc:creator><description>&lt;p&gt;&lt;em&gt;&amp;quot;That require some knowledge about how the device tree works, and for that I would recommend you to read the following: Devicetree API.&amp;quot;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&amp;quot;you can just look at other board files and its dts files to understand how to go about it&amp;quot;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Sorry but that won&amp;#39;t do. With respect, you cannot seriously imagine that this is good practise or good customer support?!&lt;/p&gt;
&lt;p&gt;I can tell you that I am already doing just that, which is how I got to posting on the forum asking for help!&lt;/p&gt;
&lt;p&gt;I can see that other people are asking similar questions and getting the same response. Which is read the 3-4 section &amp;quot;getting started blog&amp;quot; and then read all the API docs.&lt;/p&gt;
&lt;p&gt;By the way, when you read the getting started blog it leads you into a multitude of rabbit holes, many, many tabs open on the browser and a maze of information to assimilate.&lt;/p&gt;
&lt;p&gt;You&amp;#39;ve done a fine job of documenting your work, I&amp;#39;ll give you that. These are all fine reference documents but it seems to me that there is a layer of documentation missing here.&lt;/p&gt;
&lt;p&gt;In my experience, coming from an embedded development and engineering (not software) background, there are three kinds of documents:&lt;br /&gt;- Specifications&lt;br /&gt;- Datasheets&lt;br /&gt;- Application notes&lt;/p&gt;
&lt;p&gt;- Specifications give a broad overview of the features and capabilities of a device. This might be useful when you are trying to evaluate which device to use for a project.&lt;br /&gt;- Datasheets are the reference material that give the fine grain detail about the device architecture at both hardware and software/register level.&lt;br /&gt;- Applications notes provide examples and detailed descriptions, including diagrams and code samples, of how to use the device and its peripherals from the most basic, fundamental level.&lt;/p&gt;
&lt;p&gt;My work flow when I am bringing up a custom board is that I approach it in sections, starting at a very basic level by getting an output and LED working, perhaps adding an input (pushbutton) button then maybe an interrupt and a timer or time delay.&lt;br /&gt;Then a uart so I can get some detailed debug messages. After that maybe SPI and I2c bus, working through each of the support chips and getting basic drivers/functionality in place.&lt;/p&gt;
&lt;p&gt;This is obviously greatly simplified. But by the time I have done all that I am thoroughly acquainted with the hardware, registers, datasheets and documentation and I can go on and build up my application with a measure of confidence.&lt;/p&gt;
&lt;p&gt;The application notes are fundamental in guiding you through these first steps. For any fine grain details I can look at the datasheet but it mostly just serves as a reference.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;YOU DON&amp;#39;T NECCESARILY START A PROJECT BY READING DATASHEETS AND API DOCUMENTS!&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;It&amp;#39;s not practical when the docs are 1000s of pages long. You learn by DOING, experimenting and in incremental stages building up your knowledge and understanding, by reading and referring to the relevant parts of the docs as you go.&lt;/p&gt;
&lt;p&gt;It seems like you&amp;#39;re trying to offer a complete solution and expecting us, the user to get to grips with this voluminous body of work with a modicum of guidance and support.&lt;/p&gt;
&lt;p&gt;This is a fiendishly complex thing that you have made and I&amp;#39;m not sure if you all appreciate it from a users perspective?&lt;/p&gt;
&lt;p&gt;Perhaps it might be instructive to get a new starter to sit down with a dev board and few basic components and watch how they set about learning how to use this thing?&lt;/p&gt;
&lt;p&gt;I have had similar views about the previous SDK (with its 13000 line configuration files and layer on layer of macros). In contrast, I offer this as a &amp;quot;better way&amp;quot;:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://ww1.microchip.com/downloads/en/Appnotes/TB3215-Getting-Started-with-SPI-DS90003215.pdf"&gt;ww1.microchip.com/.../TB3215-Getting-Started-with-SPI-DS90003215.pdf&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;If you delve into their documentation there are similar examples for each of the peripheral devices. It may not be perfect and granted, it&amp;#39;s a far simpler device but it&amp;#39;s based on years of experience and customer engagement and it&amp;#39;s a much more manageable and accessable format for a new user to get up to snuff.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Device Tree Configuration Guidelines</title><link>https://devzone.nordicsemi.com/thread/302100?ContentTypeID=1</link><pubDate>Fri, 26 Mar 2021 10:20:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b4486aaf-e816-428c-838f-723f55e15890</guid><dc:creator>Simon</dc:creator><description>&lt;p&gt;The first part (2.1 The board files) are just theoretical explanations. I should probably have pointed you to the practical part (2.2 Walkthrough) which&amp;nbsp;demonstrates step-by-step how to create a new custom board in NCS v1.4.0 (shouldn&amp;#39;t be too different from NCS v1.5.0).&lt;/p&gt;
&lt;p&gt;If you follow the steps in&amp;nbsp;&lt;span&gt;2.2 Walkthrough you will end up with a custom board folder&lt;/span&gt;&amp;nbsp;in zephyr/boards/arm/test_nrf9160, and you can manipulate the device tree configurations by modifying the files ending with dts (please tell me if I should elaborate on the different dts files).&lt;/p&gt;
&lt;p&gt;Now you know &lt;span style="text-decoration:underline;"&gt;what&lt;/span&gt; files to modfiy to change the device tree&amp;nbsp;configurations for your custom board. However, &lt;span style="text-decoration:underline;"&gt;how&lt;/span&gt; you should modify it is another question. That require some knowledge about how the device tree works, and for that I would recommend you to read the following:&amp;nbsp;&lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/1.5.0/zephyr/reference/devicetree/api.html"&gt;Devicetree API&lt;/a&gt;. Sometimes, if you just want to do some simple things, you&amp;nbsp;may not need&amp;nbsp;that deep knowledge of the device tree, you can just look at other board files and its dts files&amp;nbsp;to understand how to go about it.&lt;/p&gt;
&lt;p&gt;If you have some inputs of how&amp;nbsp;&lt;span&gt;&lt;a href="https://devzone.nordicsemi.com/nordic/nrf-connect-sdk-guides/b/getting-started/posts/nrf-connect-sdk-tutorial---part-3-ncs-v1-4-0#h113sk0f71cly1ckwgkkxioblcbcsge6"&gt;2.2 Walkthrough&lt;/a&gt;&amp;nbsp;could get improved, I would be happy to hear. Do you think it would be useful for another blog post exending on this, that focuses on how to modify the dts files?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Best regards,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Simon&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Device Tree Configuration Guidelines</title><link>https://devzone.nordicsemi.com/thread/301992?ContentTypeID=1</link><pubDate>Thu, 25 Mar 2021 16:21:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f37ebcdb-79fb-4dfb-86f5-e5527167b1b3</guid><dc:creator>Steven</dc:creator><description>&lt;p&gt;With respect, I feel like you&amp;#39;re coming from a place where you have a very good knowledge of the SDK and to you these things are obvious. To someone coming to this for the first time it&amp;#39;s far from obvious!&lt;/p&gt;
&lt;p&gt;If you take this paragraph...&lt;br /&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;If your board has&amp;nbsp;&lt;/span&gt;&lt;strong&gt;LEDs and buttons&lt;/strong&gt;&lt;span&gt;&amp;nbsp;connected to the chip&amp;#39;s GPIOs, and you want to access it using the Zephyr API, you should include it into the Device Tree. This can be done by incorporating the nodes described in&amp;nbsp;&lt;/span&gt;&lt;a href="https://github.com/NordicPlayground/fw-nrfconnect-zephyr/blob/v2.1.99-ncs1/dts/bindings/gpio/gpio-leds.yaml"&gt;../bindings/gpio/gpio-leds.yaml&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;and&amp;nbsp;&lt;em&gt;&lt;a href="https://github.com/NordicPlayground/fw-nrfconnect-zephyr/blob/v2.1.99-ncs1/dts/bindings/gpio/gpio-keys.yaml"&gt;../bindings/gpio/gpio-keys.yaml&lt;/a&gt;&lt;/em&gt;&amp;nbsp;into your dts files respectively. You simply select the pins the buttons and LEDs are connected to and choose a label. If you create aliases for the nodes, the generated names will be simplified and easier accessible in your samples. E.g.&amp;nbsp;&lt;code&gt;LED1_GPIO_PIN&lt;/code&gt;&amp;nbsp;can be used instead of&amp;nbsp;&lt;code&gt;DT_GPIO_LEDS_LED_1_GPIO_PIN&lt;/code&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;...it doesn&amp;#39;t really help a very great deal!&lt;/p&gt;
&lt;p&gt;For instance, you need to illustrate what you mean when you say &amp;quot;&lt;span&gt;You simply select the pins the buttons and LEDs are connected to and choose a label. If you create aliases for the nodes, the generated names will be simplified and easier accessible in your samples&amp;quot;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Ok, well what does that look like? A worked example, using a development kit and some off board leds and switches, would be really useful. Something like this:&lt;br /&gt;&lt;br /&gt;&lt;a href="https://devzone.nordicsemi.com/nordic/nrf-connect-sdk-guides/b/peripherals/posts/adding-a-peripheral-to-an-ncs-zephyr-project"&gt;https://devzone.nordicsemi.com/nordic/nrf-connect-sdk-guides/b/peripherals/posts/adding-a-peripheral-to-an-ncs-zephyr-project&amp;nbsp;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;Worked examples are really helpful and instructive way to&amp;nbsp; learn your way around the documentation and folder structure so you can understand how to manipulate the files and work towards building up&amp;nbsp;an overlay file for a custom board. Because, ultimately, that&amp;#39;s all we&amp;#39;re interested in, right?&lt;/p&gt;
&lt;p&gt;If I want to give my board overlay some meaningful labels, perhaps because I&amp;#39;m driving a relay or a buzzer, what does that look like? How do I move beyond predefined labels for the DK?&lt;/p&gt;
&lt;p&gt;So, really, worked examples for each of the device peripherals, please.&lt;br /&gt;&lt;br /&gt;PS I&amp;#39;d be happy to write a blog post(s) to document the process and help out, I could do with some guidance though!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Device Tree Configuration Guidelines</title><link>https://devzone.nordicsemi.com/thread/301966?ContentTypeID=1</link><pubDate>Thu, 25 Mar 2021 15:26:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c79a9e74-92d4-471b-8afd-cb709a995b1f</guid><dc:creator>Simon</dc:creator><description>&lt;p&gt;Check out this:&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/nordic/nrf-connect-sdk-guides/b/getting-started/posts/nrf-connect-sdk-tutorial---part-3-ncs-v1-4-0#h11sk6ks1jkp1figkuq6gxw1m1rctdp0"&gt;https://devzone.nordicsemi.com/nordic/nrf-connect-sdk-guides/b/getting-started/posts/nrf-connect-sdk-tutorial---part-3-ncs-v1-4-0#h11sk6ks1jkp1figkuq6gxw1m1rctdp0&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Device Tree Configuration Guidelines</title><link>https://devzone.nordicsemi.com/thread/301885?ContentTypeID=1</link><pubDate>Thu, 25 Mar 2021 11:56:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0f9290d5-5828-4607-a20e-1cbc66cb5b24</guid><dc:creator>Steven</dc:creator><description>&lt;div class="author header thread-starter"&gt;
&lt;div class="avatar"&gt;&lt;a href="https://devzone.nordicsemi.com/members/alan-jones"&gt;&lt;img alt="Alan Jones" border="0" src="https://devzone.nordicsemi.com/cfs-filesystemfile/__key/communityserver-components-imagefileviewer/system-images/anonymous.gif_2D00_32x32x2.png?_=637367231342356575" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span class="user-name"&gt;&lt;span class="ui-userpresence ui-tip "&gt;Offline&lt;/span&gt;&lt;a class="internal-link view-user-profile" href="https://devzone.nordicsemi.com/members/alan-jones"&gt;Alan Jones&lt;/a&gt;&lt;/span&gt;&lt;span class="post-date"&gt;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/47990/device-tree-configuration-guidelines"&gt;&lt;span class="ui-agodate ui-tip "&gt;over 2 years ago&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="content"&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;What about this though?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;quot;Can Nordic provide general guidelines for manipulating the device tree configuration files for custom boards?&amp;quot;&lt;br /&gt;&lt;br /&gt;Can you point me to any examples please?&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Device Tree Configuration Guidelines</title><link>https://devzone.nordicsemi.com/thread/190568?ContentTypeID=1</link><pubDate>Mon, 03 Jun 2019 14:28:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:98e4b9f9-bda2-4467-ae4a-4f9fe1e4e182</guid><dc:creator>Simon</dc:creator><description>&lt;p&gt;The SPM sample (&lt;a href="https://github.com/NordicPlayground/fw-nrfconnect-nrf/tree/v0.4.0/samples/nrf9160/spm"&gt;ncs\nrf\samples\nrf9160\spm&lt;/a&gt;)&amp;nbsp;does not map any pins. The only thing the SPM sample does is to set the security attribute of the peripherals (It also configures flash/ram as secure/non-secure, but this is not relevant for your question) listed in &lt;a href="https://github.com/NordicPlayground/fw-nrfconnect-nrf/blob/v0.4.0/subsys/spm/spm.c#L316"&gt;periph_cfg periph[]&lt;/a&gt;&amp;nbsp;to either secure or secure (depending on the configurations in &lt;a href="https://github.com/NordicPlayground/fw-nrfconnect-nrf/blob/v0.4.0/subsys/spm/Kconfig"&gt;ncs/nrf/subsys/spm/Kconfig&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;However, some peripherals does not work with a non-secure application (e.g. PWM0), due to their absence in&amp;nbsp;&lt;a href="https://github.com/NordicPlayground/fw-nrfconnect-nrf/blob/v0.4.0/subsys/spm/Kconfig"&gt;Kconfig&lt;/a&gt;&amp;nbsp;or &lt;a href="https://github.com/NordicPlayground/fw-nrfconnect-nrf/blob/v0.4.0/subsys/spm/spm.c"&gt;spm.c&lt;/a&gt;. You will have to add it, as the customer did &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/46586/nrf9160-pwm"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Simon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>