O formato de origem da árvore de dispositivos (DTS, na sigla em inglês) é uma representação textual de uma árvore de dispositivos (DT, na sigla em inglês). O compilador da árvore de dispositivos (DTC) processa esse formato em uma DT binária, que é a forma esperada pelo kernel do Linux.
Usar referências
O DTC
(compilador de árvore do dispositivo + patches de sobreposição) descreve o formato DTS em
dtc-format.txt (link em inglês)
e
manual.txt.
O formato e as regras de DTO estão descritos em
dt-object-internal.txt.
Estes documentos descrevem como atualizar a DT principal usando nós
fragment@x
e sintaxe __overlay__
na DT de sobreposição. Por
exemplo:
/ {
fragment@0 {
target = <&some_node>;
__overlay__ {
some_prop = "okay";
...
};
};
};
No entanto, o Google recomenda que você não use
fragment@x
e sintaxe __overlay__
e, em vez disso, use a função
sintaxe de referência. Exemplo:
&some_node {
some_prop = "okay";
...
};
A sintaxe de referência é compilada pelo dtc
no mesmo objeto que o
acima usando a sintaxe __overlay__
. Essa sintaxe não força você a
numerar os fragmentos, facilitando a leitura e a gravação do DTS de sobreposição. Se as
dtc
não é compatível com essa sintaxe sintática. Use o
DCC
no AOSP.
Usar rótulos
Para permitir referências indefinidas a nós ausentes no momento da compilação, o
O arquivo .dts
da DT de sobreposição precisa ter uma tag /plugin/
cabeçalho. Exemplo:
/dts-v1/;
/plugin/;
A partir daqui, você pode segmentar os nós a serem sobrepostos usando uma referência, que é
um caminho de nó absoluto prefixado com um "e" comercial (&). Por exemplo, para
node@0
na DT principal:
Definir rótulos na DT principal ... | ... e use os rótulos. |
---|---|
[my_main_dt.dts] |
[my_overlay_dt.dts] |
Substituir
Se a propriedade de destino de referência existir na DT principal, ela será substituída. após DTO caso contrário, será anexado. Exemplo:
main.dts | overlay.dts | Resultado combinado |
---|---|---|
[my_main_dt.dts] |
[my_overlay_dt.dts] |
/dts-v1/; |
Anexar
Se a propriedade do destino de referência não existir na DT principal, ela será anexado após DTO. Exemplo:
main.dts | overlay.dts | Resultado combinado |
---|---|---|
[my_main_dt.dts] |
[my_overlay_dt.dts] |
/dts-v1/; |
Nós filhos
Exemplos de sintaxe do nó filho:
main.dts | overlay.dts | Resultado combinado |
---|---|---|
[my_main_dt.dts] |
[my_overlay_dt.dts] |
/dts-v1/; |