User Tools

Site Tools


linux_device_trees

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
linux_device_trees [2018/11/18 10:29]
rpjday [Proper use of .dtsi files]
linux_device_trees [2018/12/11 13:03] (current)
rpjday [Internal wiki pages]
Line 3: Line 3:
 Stuff related to device trees and the Linux kernel, using examples from the current Linux kernel. Stuff related to device trees and the Linux kernel, using examples from the current Linux kernel.
  
-To do:+===== TO DO =====
  
   * overlays   * overlays
 +  * keywords (/plugin/, /​memreserve/,​ /​omit-if-no-ref/,​ /bits/)
 +
 +===== MISC (for now) =====
 +
 +  * "The unit-address must match the first address specified in the reg property of the node. If the node has no reg property, the @unit-address must be omitted and the node-name alone differentiates the node from other nodes at the same level in the tree. The binding for a particular bus may specify additional, more specific requirements for the format of reg and the unit-address."​
  
 ===== Some links ===== ===== Some links =====
Line 46: Line 51:
   * [[Device tree naming conventions]]   * [[Device tree naming conventions]]
   * [[Proper device tree design]]   * [[Proper device tree design]]
 +  * [[Device tree standard properties]]
 +  * [[Device tree node requirements]]
   * [[Comparing device trees with dtx_diff]]   * [[Comparing device trees with dtx_diff]]
 +  * [[Hierarchical device files]]
  
-===== Proper device tree design ===== 
- 
- 
- 
- 
- 
-==== Examples of /​delete-node/​ ==== 
- 
-=== imx6dl-tx6s-8034.dts === 
- 
-<​file>​ 
-#include "​imx6dl.dtsi"​ 
-#include "​imx6qdl-tx6.dtsi"​ 
- 
-/ { 
-        model = "Ka-Ro electronics TX6S-8034 Module";​ 
-        compatible = "​karo,​imx6dl-tx6dl",​ "​fsl,​imx6dl";​ 
- 
-        aliases { 
-                display = &​display;​ 
-                ipu1 = &ipu1; 
-        }; 
- 
-        cpus { 
-                /​delete-node/​ cpu@1; 
-        }; 
-</​file>​ 
- 
-=== imx6q-utilite-pro.dts === 
- 
-<​file>​ 
-#include <​dt-bindings/​input/​input.h>​ 
-#include "​imx6q-cm-fx6.dts"​ 
- 
-/ { 
-        model = "​CompuLab Utilite Pro"; 
-        compatible = "​compulab,​utilite-pro",​ "​compulab,​cm-fx6",​ "​fsl,​imx6q";​ 
-        ​ 
- ... 
- 
-}; 
- 
-/* 
- * A single IPU is not able to drive both display interfaces available on the 
- * Utilite Pro at high resolution due to its bandwidth limitation. Since the 
- * tfp410 encoder is wired up to IPU1, sever the link between IPU1 and the 
- * SoC-internal Designware HDMI encoder forcing the latter to be connected to 
- * IPU2 instead of IPU1. 
- */ 
-/​delete-node/&​ipu1_di0_hdmi;​ 
-/​delete-node/&​hdmi_mux_0;​ 
-/​delete-node/&​ipu1_di1_hdmi;​ 
-/​delete-node/&​hdmi_mux_1;​ 
-</​file>​ 
- 
- 
-==== Examples of /​delete-property/​ ==== 
- 
-=== imx6qp.dtsi === 
- 
-<​file>​ 
-#include "​imx6q.dtsi"​ 
- 
-/ { 
-        soc { 
-        ​ 
-        ... 
-        ​ 
-}; 
- 
-&fec { 
-        /​delete-property/​interrupts-extended;​ 
-        interrupts = <0 118 IRQ_TYPE_LEVEL_HIGH>,​ 
-                     <0 119 IRQ_TYPE_LEVEL_HIGH>;​ 
-}; 
-</​file>​ 
- 
-=== imx6ul-tx6ul-mainboard.dts === 
- 
-<​file>​ 
-#include "​imx6ul.dtsi"​ 
-#include "​imx6ul-tx6ul.dtsi"​ 
- 
-/ { 
-        model = "Ka-Ro electronics TXUL-0010 Module on TXUL Mainboard";​ 
-        compatible = "​karo,​imx6ul-tx6ul",​ "​fsl,​imx6ul";​ 
- 
-        aliases { 
-                lcdif_24bit_pins_a = &​pinctrl_disp0_3;​ 
-                mmc0 = &​usdhc1;​ 
-                /​delete-property/​ mmc1; 
-                serial2 = &uart3; 
-                serial4 = &uart5; 
-        }; 
-        /​delete-node/​ sound; 
-}; 
- 
-... 
- 
-&usdhc1 { 
-        pinctrl-0 = <&​pinctrl_usdhc1>;​ 
-        non-removable;​ 
-        /​delete-property/​ cd-gpios; 
-        cap-sdio-irq;​ 
-}; 
- 
-&uart1 { 
-        pinctrl-0 = <&​pinctrl_uart1>;​ 
-        /​delete-property/​ uart-has-rtscts;​ 
-}; 
- 
-&uart2 { 
-        pinctrl-0 = <&​pinctrl_uart2>;​ 
-        /​delete-property/​ uart-has-rtscts;​ 
-        status = "​okay";​ 
-}; 
-</​file>​ 
linux_device_trees.1542536996.txt.gz ยท Last modified: 2018/11/18 10:29 by rpjday