Pular para o conteúdo

Configuração da device tree do RK3588

Última atualização: 2024-03-13

O guia ou receita a seguir exige acesso ao shell na sua instalação do FydeOS; portanto, o modo de desenvolvedor deve estar ativado. Se for necessário alterar um arquivo de sistema, você também precisará desativar a verificação do sistema de arquivos raiz.

Introdução

O SoC RK3588 suporta o carregamento tanto dos arquivos device tree overlay integrados do FydeOS quanto de arquivos dtbo definidos pelo usuário durante a inicialização.

A importância de carregar overlays da device tree

Carregar overlays da device tree aumenta principalmente a flexibilidade da configuração de hardware, reduz os custos de manutenção do sistema e facilita a personalização das configurações de hardware pelo usuário. Também simplifica a solução de problemas e a depuração.

Ao aproveitar os overlays da device tree, os usuários podem configurar o hardware de acordo com suas necessidades sem modificar o código do kernel. Essa abordagem também simplifica o processo de identificar e resolver possíveis problemas. Por exemplo, os usuários podem ativar ou desativar periféricos específicos, como ventoinhas PWM ou dispositivos I2C, com base nos requisitos do projeto.

Pré-requisitos

Para prosseguir, você deve entender os conceitos básicos de device tree overlays e operações básicas de linha de comando no Linux.

Procedimento passo a passo

Etapa 1: entre na sua conta FydeOS e acesse a área de trabalho

Etapa 2: entre no ambiente de shell Bash

Para personalizar o carregamento de device tree overlays, entre em qualquer conta FydeOS e acesse a área de trabalho. Obtenha privilégios de administrador navegando pelo crosh (Control + Alt + T) ou tty e digitando sudo su.

Observação: a partir do FydeOS v17 e do openFyde r114, sudo su não funcionará mais. Use sudo -i em vez disso. Esta mudança não afeta versões mais antigas.

Etapa 3: veja os device tree overlays integrados

Os device tree overlays integrados estão localizados no diretório /boot/rockchip/overlay/. Depois de executar o comando ls /boot/rockchip/overlay/*dtbo, você verá a lista de arquivos, como mostrado abaixo (usando rock5b-fydeos como exemplo):

Terminal window
localhost ~ # ls /boot/rockchip/overlay/
pwm-fan.dtbo rk3588-i2c8-m4.dtbo rk3588-pwm15-m0.dtbo rk3588-pwm6-m2.dtbo rk3588-spi1-m1-cs1-spidev.dtbo rk3588-uart7-m1.dtbo rock-5b-hdmi2-8k.dtbo
rk3588-add-hdptxphy_hdmi_clk.dtbo rk3588-pwm12-m0.dtbo rk3588-pwm15-m1.dtbo rk3588-pwm7-m3.dtbo rk3588-uart2-m0.dtbo rk3588-uart7-m2.dtbo rock-5b-radxa-display-10fhd.dtbo
rk3588-i2c0-m1.dtbo rk3588-pwm13-m0.dtbo rk3588-pwm15-m3.dtbo rk3588-pwm8-m0.dtbo rk3588-uart2-m2.dtbo rk3588-unlock-opps.dtbo rock-5b-sata.dtbo
rk3588-i2c1-m0.dtbo rk3588-pwm13-m2.dtbo rk3588-pwm2-m1.dtbo rk3588-spi0-m2-cs0-spidev.dtbo rk3588-uart3-m1.dtbo rock-5a-radxa-display-10fhd.dtbo
rk3588-i2c3-m1.dtbo rk3588-pwm14-m0.dtbo rk3588-pwm3-m1.dtbo rk3588-spi0-m2-cs1-spidev.dtbo rk3588-uart4-m2.dtbo rock-5ab-camera-imx415.dtbo
rk3588-i2c7-m3.dtbo rk3588-pwm14-m1.dtbo rk3588-pwm5-m2.dtbo rk3588-spi1-m1-cs0-spidev.dtbo rk3588-uart7-m1-ctsn-rtsn.dtbo rock-5b-hdmi1-8k.dtbo

Etapa 4: carregar os device tree overlays integrados

FydeOS para a série RK3588 SoC, assim como o uEnv.txt do Armbian, oferece suporte ao Env.txt, localizado em /mnt/stateful_partition/fyde/Env.txt. Para usuários de primeira viagem, talvez seja necessário criar manualmente o diretório /mnt/stateful_partition/fyde/ e o arquivo /mnt/stateful_partition/fyde/Env.txt. Aqui está um exemplo usando o overlay de controle da ventoinha pwm-fan do rock5b:

  • Para o primeiro uso, crie a pasta fyde

    Terminal window
    mkdir -p /mnt/stateful_partition/fyde/
  • Use nano/vim para editar o arquivo Env.txt e adicione o nome do arquivo dtbo em overlays=, separando múltiplos overlays com um espaço

    Terminal window
    overlays=pwm-fan
  • Salve as alterações

Etapa 5: reiniciar o sistema

Depois de fazer as alterações, reinicie o sistema para aplicá-las.

Etapa 6: adicionar arquivos device tree overlays personalizados

O FydeOS exige que os device tree overlays definidos pelo usuário, ou arquivos .dtbo, sejam colocados na pasta /mnt/stateful_partition/fyde/user_overlay/. Se você estiver usando pela primeira vez e a pasta não existir, crie-a. Em seguida, copie os arquivos .dtbo relevantes para essa pasta.

Etapa 7: carregar arquivos device tree overlays personalizados

Carregar device tree overlays personalizados é semelhante a carregar os integrados. Você precisa modificar o arquivo /mnt/stateful_partition/fyde/Env.txt.

Use nano/vim para editar o arquivo Env.txt, adicione o nome do arquivo dtbo em user_overlays=, separando múltiplos overlays com um espaço

user_overlays=foo bar

Etapa 8: reiniciar o sistema

Reinicie o sistema para aplicar as alterações.

Solução de problemas

  1. Os overlays ou user_overlays definidos para carregar o overlay não funcionam.

Verifique se a caixa de texto no arquivo Env.txt está correta e se os múltiplos overlays estão separados por um espaço em inglês. Para overlays personalizados, certifique-se de que os arquivos dtbo em /mnt/stateful_partition/fyde/overlay sejam válidos.

  1. Por que alterar os overlays ou user_overlays fez com que o sistema não inicializasse?

Antes de fazer alterações, verifique se o overlay que você está carregando foi validado; caso contrário, ele pode fazer o sistema não inicializar. Se isso acontecer, você pode desfazer as alterações montando manualmente o arquivo /fyde/Env.txt correspondente à primeira partição do disco do sistema.