Estou bem atrasado, mas implementei esse script e vou abordar isso para qualquer um que encontrar isso usando um mecanismo de pesquisa na Internet.
Este computador no módulo pode ser colocado em praticamente qualquer prateleira TS ou rodapé personalizado, e nós queríamos que ele funcionasse automaticamente sem que os usuários tivessem que ajustar a árvore de dispositivos usada. Temos um registrador de deslocamento de 8 entradas em qualquer placa de transporte com um ID exclusivo para o rodapé. No TS-8550, isso é 0x13. link
Portanto, no U-Boot, o comando bbdetect
que adicionamos lê o GPIO conectado a esse registrador de deslocamento e define uma variável de ambiente $ baseboardid. Inicialmente, o U-Boot tentará carregar uma árvore de dispositivos específicos de rodapé em /boot/imx6${cpu}-ts4900-${baseboardid}.dtb
. Se não conseguir encontrar um, ele usará a árvore do dispositivo de fallback em /boot/imx6${cpu}-ts4900.dtb
. Este último arquivo possui padrões sãos que funcionarão em qualquer placa de transporte. O TS-8550 não precisa de uma placa de suporte específica de rodapé para que ele volte para a árvore de dispositivos padrão e continue a inicialização.
Para responder à sua pergunta original,
cat /proc/device-tree/model
Todas as nossas árvores de dispositivos terão um modelo ligeiramente diferente na árvore de dispositivos.
Por exemplo, o fallback seguro é:
- "Sistemas Tecnológicos i.MX6 Quad TS-4900 (Árvore de Dispositivos Padrão)"
Ou a placa de transporte TS-TPC-8390 com uma árvore de dispositivos específica:
- "Sistemas Tecnológicos i.MX6 Quad TS-4900 (TS-TPC-8390)"