El formato de origen del árbol de dispositivos (DTS) es una representación textual de un árbol de dispositivos (DT). El compilador del árbol de dispositivos (DTC) procesa este formato y lo transforma en un DT binario, que es la forma que espera el kernel de Linux.
Usar referencias
La DTC
(compilador de árbol del dispositivo + parches de superposición) describe el formato DTS en
dtc-format.txt
y
manual.txt.
El formato y las reglas de DTO se describen en
dt-object-internal.txt
En estos documentos, se describe cómo actualizar el DT principal con el uso de
fragment@x
y la sintaxis __overlay__
en la DT de superposición. Por ejemplo:
/ {
fragment@0 {
target = <&some_node>;
__overlay__ {
some_prop = "okay";
...
};
};
};
Sin embargo, Google recomienda que no uses
fragment@x
y la sintaxis __overlay__
, y, en su lugar, usa el
la sintaxis de referencia. Por ejemplo:
&some_node {
some_prop = "okay";
...
};
dtc
compila la sintaxis de referencia en el mismo objeto que la
anterior con la sintaxis __overlay__
. Esta sintaxis no te obliga a
numerar los fragmentos, lo que te permite leer y escribir DTS de superposición con facilidad. Si el
dtc
no admite esta sintaxis, usa la
DTC
en AOSP.
Usar etiquetas
Para permitir referencias indefinidas a nodos que no están presentes en el momento de la compilación, el
El archivo .dts
de la DT de superposición debe tener una etiqueta /plugin/
en su
encabezado. Por ejemplo:
/dts-v1/;
/plugin/;
Desde aquí, puedes orientar los nodos para que se superpongan con una referencia, que es
una ruta de acceso de nodo absoluta con el prefijo (&). Por ejemplo, para
node@0
en el DT principal:
Define etiquetas en la DT principal ... | ... y, luego, usa las etiquetas. |
---|---|
[my_main_dt.dts] |
[my_overlay_dt.dts] |
Anular
Si la propiedad de destino de referencia existe en la DT principal, se anula. después de la DTO; de lo contrario, se agregará. Por ejemplo:
main.dts | superposición.dts | Resultado combinado |
---|---|---|
[my_main_dt.dts] |
[my_overlay_dt.dts] |
/dts-v1/; |
Adjuntar
Si la propiedad de destino de referencia no existe en el DT principal, es anexado después de la DTO. Por ejemplo:
main.dts | superposición.dts | Resultado combinado |
---|---|---|
[my_main_dt.dts] |
[my_overlay_dt.dts] |
/dts-v1/; |
Nodos secundarios
Ejemplos de sintaxis de nodos secundarios:
main.dts | superposición.dts | Resultado combinado |
---|---|---|
[my_main_dt.dts] |
[my_overlay_dt.dts] |
/dts-v1/; |