~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/graph.txt

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/devicetree/bindings/graph.txt (Version linux-6.12-rc7) and /Documentation/devicetree/bindings/graph.txt (Version linux-4.16.18)


  1 This file has moved to graph.yaml in dt-schema !!   1 Common bindings for device graphs
                                                   >>   2 
                                                   >>   3 General concept
                                                   >>   4 ---------------
                                                   >>   5 
                                                   >>   6 The hierarchical organisation of the device tree is well suited to describe
                                                   >>   7 control flow to devices, but there can be more complex connections between
                                                   >>   8 devices that work together to form a logical compound device, following an
                                                   >>   9 arbitrarily complex graph.
                                                   >>  10 There already is a simple directed graph between devices tree nodes using
                                                   >>  11 phandle properties pointing to other nodes to describe connections that
                                                   >>  12 can not be inferred from device tree parent-child relationships. The device
                                                   >>  13 tree graph bindings described herein abstract more complex devices that can
                                                   >>  14 have multiple specifiable ports, each of which can be linked to one or more
                                                   >>  15 ports of other devices.
                                                   >>  16 
                                                   >>  17 These common bindings do not contain any information about the direction or
                                                   >>  18 type of the connections, they just map their existence. Specific properties
                                                   >>  19 may be described by specialized bindings depending on the type of connection.
                                                   >>  20 
                                                   >>  21 To see how this binding applies to video pipelines, for example, see
                                                   >>  22 Documentation/devicetree/bindings/media/video-interfaces.txt.
                                                   >>  23 Here the ports describe data interfaces, and the links between them are
                                                   >>  24 the connecting data buses. A single port with multiple connections can
                                                   >>  25 correspond to multiple devices being connected to the same physical bus.
                                                   >>  26 
                                                   >>  27 Organisation of ports and endpoints
                                                   >>  28 -----------------------------------
                                                   >>  29 
                                                   >>  30 Ports are described by child 'port' nodes contained in the device node.
                                                   >>  31 Each port node contains an 'endpoint' subnode for each remote device port
                                                   >>  32 connected to this port. If a single port is connected to more than one
                                                   >>  33 remote device, an 'endpoint' child node must be provided for each link.
                                                   >>  34 If more than one port is present in a device node or there is more than one
                                                   >>  35 endpoint at a port, or a port node needs to be associated with a selected
                                                   >>  36 hardware interface, a common scheme using '#address-cells', '#size-cells'
                                                   >>  37 and 'reg' properties is used to number the nodes.
                                                   >>  38 
                                                   >>  39 device {
                                                   >>  40         ...
                                                   >>  41         #address-cells = <1>;
                                                   >>  42         #size-cells = <0>;
                                                   >>  43 
                                                   >>  44         port@0 {
                                                   >>  45                 #address-cells = <1>;
                                                   >>  46                 #size-cells = <0>;
                                                   >>  47                 reg = <0>;
                                                   >>  48 
                                                   >>  49                 endpoint@0 {
                                                   >>  50                         reg = <0>;
                                                   >>  51                         ...
                                                   >>  52                 };
                                                   >>  53                 endpoint@1 {
                                                   >>  54                         reg = <1>;
                                                   >>  55                         ...
                                                   >>  56                 };
                                                   >>  57         };
                                                   >>  58 
                                                   >>  59         port@1 {
                                                   >>  60                 reg = <1>;
                                                   >>  61 
                                                   >>  62                 endpoint { ... };
                                                   >>  63         };
                                                   >>  64 };
                                                   >>  65 
                                                   >>  66 All 'port' nodes can be grouped under an optional 'ports' node, which
                                                   >>  67 allows to specify #address-cells, #size-cells properties for the 'port'
                                                   >>  68 nodes independently from any other child device nodes a device might
                                                   >>  69 have.
                                                   >>  70 
                                                   >>  71 device {
                                                   >>  72         ...
                                                   >>  73         ports {
                                                   >>  74                 #address-cells = <1>;
                                                   >>  75                 #size-cells = <0>;
                                                   >>  76 
                                                   >>  77                 port@0 {
                                                   >>  78                         ...
                                                   >>  79                         endpoint@0 { ... };
                                                   >>  80                         endpoint@1 { ... };
                                                   >>  81                 };
                                                   >>  82 
                                                   >>  83                 port@1 { ... };
                                                   >>  84         };
                                                   >>  85 };
                                                   >>  86 
                                                   >>  87 Links between endpoints
                                                   >>  88 -----------------------
                                                   >>  89 
                                                   >>  90 Each endpoint should contain a 'remote-endpoint' phandle property that points
                                                   >>  91 to the corresponding endpoint in the port of the remote device. In turn, the
                                                   >>  92 remote endpoint should contain a 'remote-endpoint' property. If it has one, it
                                                   >>  93 must not point to anything other than the local endpoint. Two endpoints with
                                                   >>  94 their 'remote-endpoint' phandles pointing at each other form a link between the
                                                   >>  95 containing ports.
                                                   >>  96 
                                                   >>  97 device-1 {
                                                   >>  98         port {
                                                   >>  99                 device_1_output: endpoint {
                                                   >> 100                         remote-endpoint = <&device_2_input>;
                                                   >> 101                 };
                                                   >> 102         };
                                                   >> 103 };
                                                   >> 104 
                                                   >> 105 device-2 {
                                                   >> 106         port {
                                                   >> 107                 device_2_input: endpoint {
                                                   >> 108                         remote-endpoint = <&device_1_output>;
                                                   >> 109                 };
                                                   >> 110         };
                                                   >> 111 };
                                                   >> 112 
                                                   >> 113 Required properties
                                                   >> 114 -------------------
                                                   >> 115 
                                                   >> 116 If there is more than one 'port' or more than one 'endpoint' node or 'reg'
                                                   >> 117 property present in the port and/or endpoint nodes then the following
                                                   >> 118 properties are required in a relevant parent node:
                                                   >> 119 
                                                   >> 120  - #address-cells : number of cells required to define port/endpoint
                                                   >> 121                     identifier, should be 1.
                                                   >> 122  - #size-cells    : should be zero.
                                                   >> 123 
                                                   >> 124 Optional endpoint properties
                                                   >> 125 ----------------------------
                                                   >> 126 
                                                   >> 127 - remote-endpoint: phandle to an 'endpoint' subnode of a remote device node.
                                                   >> 128 
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php