User Tools

Site Tools


linux_device_trees

This is an old revision of the document!


Overview

Stuff related to device trees and the Linux kernel, using examples from the current Linux kernel.

To do:

  • overlays

Internal wiki pages

Proper device tree design

Examples of /delete-node/

imx6dl-tx6s-8034.dts

#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;
        };

imx6q-utilite-pro.dts

#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;

Examples of /delete-property/

imx6qp.dtsi

#include "imx6q.dtsi"

/ {
        soc {
        
        ...
        
};

&fec {
        /delete-property/interrupts-extended;
        interrupts = <0 118 IRQ_TYPE_LEVEL_HIGH>,
                     <0 119 IRQ_TYPE_LEVEL_HIGH>;
};

imx6ul-tx6ul-mainboard.dts

#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";
};
linux_device_trees.1542536996.txt.gz · Last modified: 2018/11/18 10:29 by rpjday